mirror of
https://github.com/hansjone/dsh-im-ops.git
synced 2026-10-09 03:03:24 +08:00
conversationKey derived the group session key from chat_id alone, so in
Feishu topic groups every topic shared one Harness session: context,
/new, pending approvals, and batch-input state all leaked across topics.
Append the event's thread_id to the session key when present. Topic
groups stamp every message with a thread_id, so each topic now maps to
its own group:<chat_id>🧵<thread_id> session. Regular group chats
carry no thread_id and keep the single shared group:<chat_id> key; p2p
keys are untouched.
- message-utils.mjs: thread-aware conversationKey
- message-utils.test.mjs: topic isolation + regular-group fallback cases
- lib/index.js: regenerated host bundle
|
||
|---|---|---|
| .. | ||
| fixtures | ||
| bridge.test.mjs | ||
| client-api.test.mjs | ||
| config.test.mjs | ||
| connection-supervisor.test.mjs | ||
| connection-test-client.test.mjs | ||
| feishu-app.test.mjs | ||
| feishu-cards.test.mjs | ||
| feishu-channel.test.mjs | ||
| feishu-proxy.test.mjs | ||
| feishu-runtime.test.mjs | ||
| group-message-permission-manager.test.mjs | ||
| harness-client.test.mjs | ||
| lark-sdk-handshake-patch.test.mjs | ||
| message-utils.test.mjs | ||
| multi-bot-controller.test.mjs | ||
| plugin-config-store.test.mjs | ||
| plugin-controller.test.mjs | ||
| plugin-host.test.mjs | ||
| registration-manager.test.mjs | ||
| repair-manager.test.mjs | ||
| slash-command-registry.test.mjs | ||
| state-store.test.mjs | ||