dsh-im-ops/src/channels
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
..
dingtalk fix: preserve session titles without context enhancement 2026-09-01 22:30:35 +08:00
discord feat: add unified IM access policies 2026-09-01 10:46:41 +08:00
feishu fix(feishu): bind card decisions to the actor and reject stale cards 2026-09-02 00:18:50 +08:00
office feat(i18n): add English support for host-side chat messages 2026-08-24 00:32:30 +05:00
qq fix: preserve session titles without context enhancement 2026-09-01 22:30:35 +08:00
shared feat(feishu): interactive approval and question cards with buttons 2026-09-02 00:18:37 +08:00
slack feat: add unified IM access policies 2026-09-01 10:46:41 +08:00
telegram feat: add conversationTitle to context enhancement 2026-09-01 17:15:17 +08:00
wecom fix: preserve session titles without context enhancement 2026-09-01 22:30:35 +08:00
weixin fix: preserve session titles without context enhancement 2026-09-01 22:30:35 +08:00
whatsapp feat: add unified IM access policies 2026-09-01 10:46:41 +08:00