Skip to content

[Fix] Telegram live task messages lose progress and stop updating after a task completes - #2597

Open
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/telegram-live-task-no-completed-edit-0exgbwt3e1kx7
Open

[Fix] Telegram live task messages lose progress and stop updating after a task completes#2597
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/telegram-live-task-no-completed-edit-0exgbwt3e1kx7

Conversation

@roomote-roomote

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Telegram.

What changed

When a Telegram coding task finished successfully, its single live status message was edited one last time into a terminal Completed. line, which discarded whatever progress the message was showing. Because that edit settled the message's visible content, a resumed run no longer surfaced current live status there.

Successful completion is now a no-op for the Telegram live message. The message keeps exactly the content it had immediately before completion, and the task-scoped message pointer is preserved, so the next resumed run keeps editing that same message with live progress again. The now-unreachable completed state was dropped from the Telegram live-message formatter.

Why this change was made

The owning Fast Session already posts the authoritative final result for the task, so the live status message repeating Completed. added nothing while actively destroying the last useful progress line and blocking later live updates.

Impact

Telegram users keep seeing the final live progress of a finished coding task instead of a bare Completed., and resuming that task updates the same message with current status.

Failure, stopped, waiting-for-input, launch, and in-progress rendering are unchanged. Slack live task cards are unaffected: the shared worker lifecycle and control-plane render path are untouched, and only the Telegram branch of the renderer changed. Pre-worker and control-plane settle paths already handled only Failed/Canceled, so they needed no change.

How it was tested

  • Added a regression test in packages/sdk/src/server/lib/telegram-live-task-stream.test.ts asserting that a complete render performs no provider lookup and no editMessageText, and that a following in-progress render still edits the same messageId. Verified it fails against unmodified source and passes with this change.
  • Reworked the existing terminal-render test to cover only the failed and stopped states, and updated the communication-package formatter test plus its checked-in text fixture.
  • Focused tests: @roomote/sdk (telegram-live-task-stream, task-runs/slack-live-task-stream, task-runs/settle-live-task-message-on-exit), @roomote/communication (telegram-live-task-message, telegram-provider), and @roomote/worker (callbacks/slack-live-task-stream, 37 tests) all pass.
  • pnpm check-types (27 packages), pnpm lint, and pnpm knip pass.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset

@roomote-community

roomote-community Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

No code issues found. See task

Reviewed 66a5ab6

@roomote-roomote
roomote-roomote Bot marked this pull request as ready for review September 12, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant