← Back to PRs

#23192: fix(slack): remove ack reaction on NO_REPLY when removeAckAfterReply is set

by SidQin-cyber open 2026-02-22 03:12 View on GitHub →
channel: slack size: XS
## Summary - **Problem:** When \`removeAckAfterReply\` is enabled and a message triggers \`NO_REPLY\` (e.g., a message the bot intentionally skips), the ack reaction emoji remains on the message instead of being removed. - **Why it matters:** Users see a stale reaction emoji on messages the bot chose not to reply to, creating a confusing UX. - **What changed:** Added reaction removal logic to the \`NO_REPLY\` code path in the Slack message handler, matching the behavior already present in the normal reply path. - **What did NOT change:** Normal reply flow and error handling paths are unchanged. ## Change Type (select all) - [x] Bug fix - [ ] Feature - [ ] Refactor - [ ] Docs - [ ] Security hardening - [ ] Chore/infra ## Scope (select all touched areas) - [ ] Gateway / orchestration - [ ] Skills / tool execution - [ ] Auth / tokens - [ ] Memory / storage - [x] Integrations - [ ] API / contracts - [ ] UI / DX - [ ] CI/CD / infra ## Linked Issue/PR - Related to Slack ack reaction behavior ## User-visible / Behavior Changes - Ack reaction is now removed on NO_REPLY when \`removeAckAfterReply\` is enabled ## Security Impact (required) - New permissions/capabilities? \`No\` - Secrets/tokens handling changed? \`No\` - New/changed network calls? \`No\` (same Slack API call, just also triggered on NO_REPLY) - Command/tool execution surface changed? \`No\` - Data access scope changed? \`No\` ## Repro + Verification ### Environment - OS: macOS 15.3 (arm64) - Runtime: Node v22+ - Integration/channel: Slack ### Steps 1. Enable \`removeAckAfterReply\` in Slack config 2. Send a message the bot intentionally skips (NO_REPLY) 3. Check if ack reaction is removed ### Expected - Ack reaction is removed after NO_REPLY ### Actual - Before fix: Ack reaction remains - After fix: Ack reaction is removed ## Evidence The reaction removal logic mirrors the existing implementation in the normal reply path. ## Human Verification (required) - Verified scenarios: Reviewed the NO_REPLY code path and confirmed reaction removal is now called - Edge cases checked: When \`removeAckAfterReply\` is disabled, no behavior change - What I did **not** verify: Live Slack interaction ## Compatibility / Migration - Backward compatible? \`Yes\` - Config/env changes? \`No\` - Migration needed? \`No\` ## Failure Recovery (if this breaks) - How to disable/revert this change quickly: Revert the NO_REPLY handler changes - Known bad symptoms: None expected ## Risks and Mitigations None — follows established pattern in the same file.

Most Similar PRs