fix(discord): preserve progress preview final edits

This commit is contained in:
Vincent Koc
2026-06-22 18:17:42 +02:00
parent e1ecfa5200
commit 86ea382121

View File

@@ -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() {