From b64c87025b80af000ed8b7a3429efce6641f8154 Mon Sep 17 00:00:00 2001 From: MumuTW Date: Tue, 17 Mar 2026 16:32:03 +0000 Subject: [PATCH 1/2] fix(telegram): add block streaming coalesce defaults to prevent message splitting Telegram was the only channel missing blockStreamingCoalesceDefaults in its plugin config. Every other channel (Slack, Discord, Mattermost, Google Chat, Signal) sets { minChars: 1500, idleMs: 1000 } so the coalescer buffers small block-streamed fragments before flushing them as separate messages. Without these defaults, Telegram fell back to the global minimum (800 chars / 1s idle), causing short streamed paragraphs to be sent as individual messages instead of being merged. Fixes #47454 --- extensions/telegram/src/shared.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/extensions/telegram/src/shared.ts b/extensions/telegram/src/shared.ts index 644869dbc60..815239d9de3 100644 --- a/extensions/telegram/src/shared.ts +++ b/extensions/telegram/src/shared.ts @@ -95,6 +95,9 @@ export function createTelegramPluginBase(params: { nativeCommands: true, blockStreaming: true, }, + streaming: { + blockStreamingCoalesceDefaults: { minChars: 1500, idleMs: 1000 }, + }, reload: { configPrefixes: ["channels.telegram"] }, configSchema: buildChannelConfigSchema(TelegramConfigSchema), config: { From 2a15fb24af67cabec6b2aa707b210ccea2e0898c Mon Sep 17 00:00:00 2001 From: MumuTW Date: Wed, 18 Mar 2026 16:56:06 +0000 Subject: [PATCH 2/2] fix: include 'streaming' in createTelegramPluginBase Pick return type --- extensions/telegram/src/shared.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/telegram/src/shared.ts b/extensions/telegram/src/shared.ts index 815239d9de3..6ed5f7d9d76 100644 --- a/extensions/telegram/src/shared.ts +++ b/extensions/telegram/src/shared.ts @@ -77,7 +77,7 @@ export function createTelegramPluginBase(params: { setup: NonNullable["setup"]>; }): Pick< ChannelPlugin, - "id" | "meta" | "setupWizard" | "capabilities" | "reload" | "configSchema" | "config" | "setup" + "id" | "meta" | "setupWizard" | "capabilities" | "reload" | "configSchema" | "config" | "setup" | "streaming" > { return { id: TELEGRAM_CHANNEL,