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: {