Skip to content

Telegram uses multiple sendMessage previews instead of editMessageText, leaving stale reasoning messages #80862

Description

@kyle20026

Problem

When /reasoning stream is enabled on Telegram, reasoning previews are created as multiple separate messages instead of updating a single preview message. This causes stale reasoning preview messages to accumulate in chat. Tool previews are cleaned up correctly.

Environment

  • OpenClaw: 2026.5.7
  • Channel: Telegram direct DM
  • channels.telegram.streaming.mode = partial
  • channels.telegram.streaming.block.enabled = false

Runtime:

  • /reasoning stream enabled

Observed Behavior

  1. Reasoning output creates multiple preview messages via repeated sendMessage
  2. No editMessageText calls are used for reasoning preview updates
  3. No deleteMessage cleanup is observed for reasoning previews
  4. Earlier reasoning preview messages remain in chat
  5. Tool-progress previews are correctly cleaned up

Expected Behavior

Reasoning stream should follow Telegram preview streaming behavior:

  1. Create one preview message via sendMessage
  2. Update the same preview via editMessageText
  3. Delete preview via deleteMessage after final response

At any time only one reasoning preview message should exist.

Logs

PM2 logs show only sendMessage for reasoning:

[telegram] sendMessage ok chat=5603100281 message=21391
[telegram] sendMessage ok chat=5603100281 message=21392
[telegram] sendMessage ok chat=5603100281 message=21408

No editMessageText calls observed.
No deleteMessage calls observed for reasoning preview cleanup.
Tool previews do not show this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.no-staleExclude from stale automation

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions