Description
When channels.telegram.streaming is set to partial (the new default in 2026.3.2), messages streamed via sendMessageDraft in direct/private chats appear as Pinned Messages in the Telegram client (iOS tested).
Steps to Reproduce
- Set
channels.telegram.streaming: "partial" in openclaw.json
- Restart gateway (v2026.3.2)
- Send a message to the bot in a DM
- Observe the reply briefly flashes as a "Pinned Message" notification banner
- The draft/streamed message shows persistently in the "Pinned Messages" section
- Clicking the X on the pinned message banner deletes the actual message instead of just unpinning
Expected Behavior
Streamed messages should appear as normal messages, not pinned messages. Dismissing the pinned banner should not delete the message content.
Actual Behavior
- Every streamed reply shows a "Pinned Message" banner at the top of the chat
- The banner persists after streaming completes and the final message is sent
- Dismissing the pin removes the message entirely
Environment
- OpenClaw: 2026.3.2
- Telegram Bot API: 9.5 (
sendMessageDraft)
- Client: Telegram iOS
- Chat type: Direct/private message
Workaround
Set channels.telegram.streaming: "off" to disable draft streaming and fall back to non-streamed delivery.
Related
Description
When
channels.telegram.streamingis set topartial(the new default in 2026.3.2), messages streamed viasendMessageDraftin direct/private chats appear as Pinned Messages in the Telegram client (iOS tested).Steps to Reproduce
channels.telegram.streaming: "partial"inopenclaw.jsonExpected Behavior
Streamed messages should appear as normal messages, not pinned messages. Dismissing the pinned banner should not delete the message content.
Actual Behavior
Environment
sendMessageDraft)Workaround
Set
channels.telegram.streaming: "off"to disable draft streaming and fall back to non-streamed delivery.Related