fix(telegram): stream plain reply drafts

This commit is contained in:
Peter Steinberger
2026-05-02 04:51:41 +01:00
parent 2f828dbde9
commit e65b490f11
3 changed files with 11 additions and 5 deletions

View File

@@ -479,7 +479,9 @@ describe("dispatchTelegramMessage draft streaming", () => {
);
});
it("passes native quote candidates for current message replies", async () => {
it("keeps answer draft preview for current message replies with native quote candidates", async () => {
const draftStream = createDraftStream();
createTelegramDraftStream.mockReturnValue(draftStream);
dispatchReplyWithBufferedBlockDispatcher.mockImplementation(async ({ dispatcherOptions }) => {
await dispatcherOptions.deliver({ text: "Hello", replyToId: "1001" }, { kind: "final" });
return { queuedFinal: true };
@@ -499,7 +501,11 @@ describe("dispatchTelegramMessage draft streaming", () => {
}),
});
expect(createTelegramDraftStream).not.toHaveBeenCalled();
expect(createTelegramDraftStream).toHaveBeenCalledWith(
expect.objectContaining({
replyToMessageId: 1001,
}),
);
expect(deliverReplies).toHaveBeenCalledWith(
expect.objectContaining({
replies: [expect.objectContaining({ replyToId: "1001" })],

View File

@@ -396,11 +396,10 @@ export const dispatchTelegramMessage = async ({
);
}
}
const hasNativeQuoteReply =
replyToMode !== "off" && Object.keys(replyQuoteByMessageId).length > 0;
const hasTelegramQuoteReply = replyToMode !== "off" && replyQuoteText != null;
const canStreamAnswerDraft =
previewStreamingEnabled &&
!hasNativeQuoteReply &&
!hasTelegramQuoteReply &&
!accountBlockStreamingEnabled &&
!forceBlockStreamingForReasoning;
const canStreamReasoningDraft = streamReasoningDraft;