dsh-im-ops/test/channels/feishu
C3H3-AI b5378500ca fix(feishu): bind card decisions to the actor and reject stale cards
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.
2026-09-02 00:18:50 +08:00
..
fixtures fix(feishu): stabilize post-merge card workflows 2026-08-24 18:49:32 +08:00
bridge.test.mjs fix(feishu): bind card decisions to the actor and reject stale cards 2026-09-02 00:18:50 +08:00
client-api.test.mjs feat(feishu): add group message permission authorization 2026-08-22 02:29:59 +08:00
config.test.mjs Internalize all IM channel implementations 2026-08-15 15:40:53 +08:00
connection-supervisor.test.mjs fix: complete per-bot agent preset lifecycle 2026-08-22 00:20:23 +08:00
connection-test-client.test.mjs fix(feishu): complete permissions repair flow 2026-08-25 04:25:21 +08:00
feishu-app.test.mjs fix(feishu): honor proxy settings for REST and WebSocket 2026-08-22 14:45:25 +08:00
feishu-cards.test.mjs fix(feishu): document numbered workspace switching 2026-09-01 15:47:27 +08:00
feishu-channel.test.mjs feat(feishu): add stream card rotation to keep answers below mid-turn interactions 2026-09-01 17:53:42 +08:00
feishu-proxy.test.mjs fix(feishu): honor NO_PROXY before proxying the long connection 2026-09-01 09:46:49 +08:00
feishu-runtime.test.mjs fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
group-message-permission-manager.test.mjs feat(feishu): add group message permission authorization 2026-08-22 02:29:59 +08:00
harness-client.test.mjs fix(feishu): stabilize post-merge card workflows 2026-08-24 18:49:32 +08:00
lark-sdk-handshake-patch.test.mjs fix(feishu): stabilize post-merge card workflows 2026-08-24 18:49:32 +08:00
message-utils.test.mjs feat(feishu): isolate Harness sessions per topic in topic groups 2026-08-31 13:54:35 +08:00
multi-bot-controller.test.mjs fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
plugin-config-store.test.mjs feat(feishu): add group message permission authorization 2026-08-22 02:29:59 +08:00
plugin-controller.test.mjs fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
plugin-host.test.mjs fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
registration-manager.test.mjs Internalize all IM channel implementations 2026-08-15 15:40:53 +08:00
repair-manager.test.mjs fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
slash-command-registry.test.mjs fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
state-store.test.mjs Internalize all IM channel implementations 2026-08-15 15:40:53 +08:00