mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-26 16:43:33 +00:00
fix(telegram): restore DM draft streaming
This commit is contained in:
@@ -190,22 +190,19 @@ 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 => {
|
||||
const useMessagePreviewTransportForDmReasoning =
|
||||
laneName === "reasoning" && threadSpec?.scope === "dm" && canStreamAnswerDraft;
|
||||
const stream = enabled
|
||||
? createTelegramDraftStream({
|
||||
api: bot.api,
|
||||
chatId,
|
||||
maxChars: draftMaxChars,
|
||||
thread: threadSpec,
|
||||
previewTransport: useMessagePreviewTransportForDm ? "message" : "auto",
|
||||
previewTransport: useMessagePreviewTransportForDmReasoning ? "message" : "auto",
|
||||
replyToMessageId: draftReplyToMessageId,
|
||||
minInitialChars: draftMinInitialChars,
|
||||
renderText: renderDraftPreview,
|
||||
|
||||
Reference in New Issue
Block a user