From b336efdd9cfd5248cedbf90e0c48a8a750b23b5a Mon Sep 17 00:00:00 2001 From: GodsBoy Date: Tue, 28 Apr 2026 12:25:33 +0200 Subject: [PATCH] docs(telegram, streaming): note replyToMode and toolProgress mutual exclusion Document that channels.telegram.streaming.preview.toolProgress requires channels.telegram.replyToMode: 'off'. Quote-reply requires the final message reference at send time, which is incompatible with preview-edit streaming, so the two features are mutually exclusive on Telegram. Adds: - Note callout in docs/channels/telegram.md after the existing toolProgress guidance, explaining the exclusion and how to restore visibility. - Cross-link bullet in docs/concepts/streaming.md pointing to the Telegram channel doc for the full note. Surfaces a doc/runtime gap that has been silent since v2026.4.22. --- docs/channels/telegram.md | 4 ++++ docs/concepts/streaming.md | 1 + 2 files changed, 5 insertions(+) diff --git a/docs/channels/telegram.md b/docs/channels/telegram.md index 874779bded1..22852710b6d 100644 --- a/docs/channels/telegram.md +++ b/docs/channels/telegram.md @@ -301,6 +301,10 @@ curl "https://api.telegram.org/bot/getUpdates" Use `streaming.mode: "off"` only when you want final-only delivery: Telegram preview edits are disabled and generic tool/progress chatter is suppressed instead of being sent as standalone "Working..." messages. Approval prompts, media payloads, and errors still route through normal final delivery. Use `streaming.preview.toolProgress: false` when you only want to keep answer preview edits while hiding the tool-progress status lines. + + `streaming.preview.toolProgress` requires `channels.telegram.replyToMode: "off"`. When quote-reply is enabled (`replyToMode: "first"`, `"all"`, or `"batched"`), Telegram requires the final message reference at send time, which is incompatible with preview-edit streaming. The two features are mutually exclusive: tool-progress lines cannot appear in the same preview message that will later be replaced by a quoted final reply. To restore tool-progress visibility, set `replyToMode: "off"`. To suppress the warning while keeping quote-reply, set `streaming.preview.toolProgress: false` to acknowledge the trade-off. + + For text-only replies: - short DM/group/topic previews: OpenClaw keeps the same preview message and performs a final edit in place diff --git a/docs/concepts/streaming.md b/docs/concepts/streaming.md index 230242e9776..d56a625de0c 100644 --- a/docs/concepts/streaming.md +++ b/docs/concepts/streaming.md @@ -194,6 +194,7 @@ Supported surfaces: - **Mattermost** already folds tool activity into its single draft preview post (see above). - Tool-progress edits follow the active preview streaming mode; they are skipped when preview streaming is `off` or when block streaming has taken over the message. On Telegram, `streaming.mode: "off"` is final-only: generic progress chatter is also suppressed instead of being delivered as standalone "Working..." messages, while approval prompts, media payloads, and errors still route normally. - To keep preview streaming but hide tool-progress lines, set `streaming.preview.toolProgress` to `false` for that channel. To disable preview edits entirely, set `streaming.mode` to `off`. +- On Telegram specifically, `streaming.preview.toolProgress` requires `channels.telegram.replyToMode: "off"`. Quote-reply needs the final message reference at send time, which is incompatible with preview-edit streaming, so the two are mutually exclusive. See [Telegram channel docs](/channels/telegram) for the full note. Example: