Skip to content

Commit 1ab0ba3

Browse files
committed
fix(telegram): cancel delayed draft preview on clear
1 parent 149df5e commit 1ab0ba3

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

extensions/telegram/src/draft-stream.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -934,6 +934,23 @@ describe("draft stream initial message debounce", () => {
934934
expectPreviewSend(api, "Processing");
935935
});
936936

937+
it("cancels a delayed first message when clear() removes the draft", async () => {
938+
const api = createMockApi();
939+
const stream = createDebouncedStream(api, 30, 5000);
940+
941+
stream.update("Processing");
942+
await stream.flush();
943+
expect(api.sendMessage).not.toHaveBeenCalled();
944+
expect(vi.getTimerCount()).toBe(1);
945+
946+
await stream.clear();
947+
expect(vi.getTimerCount()).toBe(0);
948+
949+
await vi.advanceTimersByTimeAsync(5000);
950+
expect(api.sendMessage).not.toHaveBeenCalled();
951+
expect(api.editMessageText).not.toHaveBeenCalled();
952+
});
953+
937954
it("works with longer text above threshold", async () => {
938955
const api = createMockApi();
939956
const stream = createDebouncedStream(api);

extensions/telegram/src/draft-stream.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,7 @@ export function createTelegramDraftStream(params: {
570570
};
571571

572572
const clear = async () => {
573+
clearInitialPreviewTimer();
573574
const messageId = await takeMessageIdAfterStop({
574575
stopForClear,
575576
readMessageId: () => streamMessageId,

0 commit comments

Comments
 (0)