From 86ea382121b00e73af4b4c329d0a2447592e4071 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 22 Jun 2026 18:17:42 +0200 Subject: [PATCH] fix(discord): preserve progress preview final edits --- .../discord/src/monitor/message-handler.draft-preview.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extensions/discord/src/monitor/message-handler.draft-preview.ts b/extensions/discord/src/monitor/message-handler.draft-preview.ts index 931f427b307c..f69eec8e53c5 100644 --- a/extensions/discord/src/monitor/message-handler.draft-preview.ts +++ b/extensions/discord/src/monitor/message-handler.draft-preview.ts @@ -72,6 +72,9 @@ export function createDiscordDraftPreviewController(params: { let hasStreamedMessage = false; let finalizedViaPreviewMessage = false; let finalReplyDelivered = false; + // Final delivery cancels the compositor gate before Discord decides whether + // to edit the progress preview, so keep the pre-final eligibility bit. + let progressDraftStartedBeforeFinal = false; const previewToolProgressEnabled = Boolean(draftStream) && resolveChannelStreamingPreviewToolProgress(params.discordConfig); const suppressDefaultToolProgressMessages = @@ -132,12 +135,13 @@ export function createDiscordDraftPreviewController(params: { return discordStreamMode === "progress"; }, get hasProgressDraftStarted() { - return progressDraft.hasStarted; + return progressDraft.hasStarted || progressDraftStartedBeforeFinal; }, get finalizedViaPreviewMessage() { return finalizedViaPreviewMessage; }, markFinalReplyStarted() { + progressDraftStartedBeforeFinal ||= progressDraft.hasStarted; progressDraft.markFinalReplyStarted(); }, markFinalReplyDelivered() {