From 1ba5df3e3bb3c9966ee46ebdff60f96b4afef9be Mon Sep 17 00:00:00 2001 From: Frank Yang Date: Sun, 29 Mar 2026 16:12:44 +0800 Subject: [PATCH] fix(slack): gate disabled ack cleanup on delivery --- extensions/slack/src/monitor.tool-result.test.ts | 2 ++ extensions/slack/src/monitor/message-handler/dispatch.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/slack/src/monitor.tool-result.test.ts b/extensions/slack/src/monitor.tool-result.test.ts index d8564dde85e..2f2f5cdf77b 100644 --- a/extensions/slack/src/monitor.tool-result.test.ts +++ b/extensions/slack/src/monitor.tool-result.test.ts @@ -588,6 +588,8 @@ describe("monitorSlackProvider tool results", () => { channel_type: "channel", }), }); + await new Promise((resolve) => setTimeout(resolve, 0)); + await flush(); expect(sendMock).not.toHaveBeenCalled(); expect(reactMock).toHaveBeenCalledTimes(1); diff --git a/extensions/slack/src/monitor/message-handler/dispatch.ts b/extensions/slack/src/monitor/message-handler/dispatch.ts index f348f477448..052757a9d35 100644 --- a/extensions/slack/src/monitor/message-handler/dispatch.ts +++ b/extensions/slack/src/monitor/message-handler/dispatch.ts @@ -692,7 +692,7 @@ export async function dispatchPreparedSlackMessage(prepared: PreparedSlackMessag if (!statusReactionsEnabled) { removeAckReactionAfterReply({ - removeAfterReply: ctx.removeAckAfterReply, + removeAfterReply: ctx.removeAckAfterReply && anyReplyDelivered, ackReactionPromise: prepared.ackReactionPromise, ackReactionValue: prepared.ackReactionValue, remove: () =>