From 1135b7f12f44be2937920437be68182a7003921f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 8 Mar 2026 01:10:53 +0000 Subject: [PATCH] refactor(telegram): precompute dm preview transport flag --- src/telegram/bot-message-dispatch.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/telegram/bot-message-dispatch.ts b/src/telegram/bot-message-dispatch.ts index 42640546e24..111e5991a72 100644 --- a/src/telegram/bot-message-dispatch.ts +++ b/src/telegram/bot-message-dispatch.ts @@ -190,15 +190,15 @@ export const dispatchTelegramMessage = async ({ const draftReplyToMessageId = replyToMode !== "off" && typeof msg.message_id === "number" ? msg.message_id : undefined; const draftMinInitialChars = DRAFT_MIN_INITIAL_CHARS; + // Use message transport (sendMessage + editMessageText) for all lanes in + // DMs so that streamMessageId is tracked. Draft transport doesn't track a + // messageId, causing resolvePreviewTarget() to miss the preview on final + // delivery — which sends a duplicate message. (Fixes #33453) + const useMessagePreviewTransportForDm = threadSpec?.scope === "dm" && canStreamAnswerDraft; const mediaLocalRoots = getAgentScopedMediaLocalRoots(cfg, route.agentId); const archivedAnswerPreviews: ArchivedPreview[] = []; const archivedReasoningPreviewIds: number[] = []; const createDraftLane = (laneName: LaneName, enabled: boolean): DraftLaneState => { - // Use message transport (sendMessage + editMessageText) for all lanes in - // DMs so that streamMessageId is tracked. Draft transport doesn't track a - // messageId, causing resolvePreviewTarget() to miss the preview on final - // delivery — which sends a duplicate message. (Fixes #33453) - const useMessagePreviewTransportForDm = threadSpec?.scope === "dm" && canStreamAnswerDraft; const stream = enabled ? createTelegramDraftStream({ api: bot.api,