From c90a828d171c014da197b406ff6614fe4644b57d Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 3 May 2026 16:48:35 -0700 Subject: [PATCH] fix(slack): skip empty progress refreshes --- .../dispatch.preview-fallback.test.ts | 1 + .../src/monitor/message-handler/dispatch.ts | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts b/extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts index e27abfaddd6..bde86baa398 100644 --- a/extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts +++ b/extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts @@ -744,6 +744,7 @@ describe("dispatchPreparedSlackMessage preview fallback", () => { mockedReplyOptionEvents = [ { kind: "item", progressText: "tool one" }, { kind: "item", progressText: "tool two" }, + { kind: "partial", text: "partial answer" }, ]; await dispatchPreparedSlackMessage( diff --git a/extensions/slack/src/monitor/message-handler/dispatch.ts b/extensions/slack/src/monitor/message-handler/dispatch.ts index 126ed919570..4b3f9225680 100644 --- a/extensions/slack/src/monitor/message-handler/dispatch.ts +++ b/extensions/slack/src/monitor/message-handler/dispatch.ts @@ -984,13 +984,15 @@ export async function dispatchPreparedSlackMessage(prepared: PreparedSlackMessag if (statusUpdateCount > 1 && statusUpdateCount % 4 !== 0) { return; } - draftStream?.update( - formatChannelProgressDraftText({ - entry: account.config, - lines: previewToolProgressLines, - seed: progressSeed, - }), - ); + const previewText = formatChannelProgressDraftText({ + entry: account.config, + lines: previewToolProgressLines, + seed: progressSeed, + }); + if (!previewText) { + return; + } + draftStream?.update(previewText); hasStreamedMessage = true; return; }