From c001c090b99ff6b91cc5eafbc1de4535f12c65bc Mon Sep 17 00:00:00 2001 From: Cindy Date: Thu, 2 Apr 2026 19:53:10 +1300 Subject: [PATCH] fix(telegram): keep topic thread when replying with message tool --- extensions/telegram/src/channel.test.ts | 14 ++++++++++++++ extensions/telegram/src/channel.ts | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/extensions/telegram/src/channel.test.ts b/extensions/telegram/src/channel.test.ts index 3dd1b0ac4d9..56fa6949774 100644 --- a/extensions/telegram/src/channel.test.ts +++ b/extensions/telegram/src/channel.test.ts @@ -254,6 +254,20 @@ describe("telegramPlugin threading", () => { currentThreadTs: "77", }); }); + + it("keeps current DM topic threadId even when replyToId is present", () => { + const resolved = telegramPlugin.threading?.resolveAutoThreadId?.({ + cfg: createCfg(), + to: "telegram:1234", + replyToId: "4103", + toolContext: { + currentChannelId: "telegram:1234", + currentThreadTs: "533274", + }, + }); + + expect(resolved).toBe("533274"); + }); }); describe("telegramPlugin bindings", () => { diff --git a/extensions/telegram/src/channel.ts b/extensions/telegram/src/channel.ts index c9f984cdf43..a73d7538a67 100644 --- a/extensions/telegram/src/channel.ts +++ b/extensions/telegram/src/channel.ts @@ -824,8 +824,8 @@ export const telegramPlugin = createChatChannelPlugin({ threading: { topLevelReplyToMode: "telegram", buildToolContext: (params) => buildTelegramThreadingToolContext(params), - resolveAutoThreadId: ({ to, toolContext, replyToId }) => - replyToId ? undefined : resolveTelegramAutoThreadId({ to, toolContext }), + resolveAutoThreadId: ({ to, toolContext }) => + resolveTelegramAutoThreadId({ to, toolContext }), }, outbound: { base: {