mirror of
https://github.com/hansjone/dsh-im-ops.git
synced 2026-10-13 06:13:13 +08:00
Address review feedback on the interaction cards:
1. Bind card decisions to the initiating actor. The card-action operator
(operatorOpenId) is now passed into the approval and question handlers:
- submitByApprovalId receives { actor } so another allowed group member
cannot approve/reject someone else's approval;
- the answer branch requires pending.actor === operator.
2. Include the question index in the answer button action and validate it
against the current pending question, so a stale card from an earlier
question in a multi-question interaction cannot be applied to the next one.
3. When both the card send and the plain-text fallback fail, the error is no
longer swallowed: it propagates so the interaction is not marked as
presented and the existing retry/reconnect behaviour can run.
Adds regression tests for all three cases.
|
||
|---|---|---|
| .. | ||
| 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 | ||