feat(telegram): live progress indicator for the remote-control channel#28
Open
SergiioB wants to merge 1 commit into
Open
feat(telegram): live progress indicator for the remote-control channel#28SergiioB wants to merge 1 commit into
SergiioB wants to merge 1 commit into
Conversation
Post an editable "Thinking…" bubble the moment an owner message lands and update it live with the turn's activity (step count, tool name, step summary) until the reply is ready, then remove it so the answer stands alone. The existing chatAction "typing" dots are kept but are too subtle to read as an acknowledgement and vanish the instant a fast reply lands, leaving the operator with no visible feedback that their message was received. The indicator is pure channel infrastructure: every post/edit/delete is best-effort and serialised through an internal promise chain, throttled to ~1.4 edits/s with identical-text suppression, and a fast turn that removes the bubble before the initial send resolves still cleans up correctly. Adds an optional deleteMessage to the TelegramApi surface.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The Telegram remote-control channel now posts an editable "Thinking…" bubble the moment an owner message lands, updates it live with the turn's activity, and removes it when the reply is ready.
Why
Today the only feedback is the native
chatAction: "typing"dots. They are easy to miss and disappear the instant a fast reply lands, so a short answer gives no visible sign the message was received. This adds a clear, persistent acknowledgement that also surfaces what the agent is doing on longer turns.Behavior
🤔 Thinking….⚙️ Working… (step N),🔧 <tool>(fromtool_call_parsed),✅ <step summary>(fromstep_finished),🔁 Repeating <tool> (×N)(fromloop_detected).Implementation notes
TelegramProgressIndicatorininbound-handler.ts, wired intodispatchToRuntimethrough the existingeventHook.deleteMessageto theTelegramApisurface (grammy'sbot.apialready provides it).remove()before the initialsendMessageresolves still cleans up the just-posted message.telegram.*flag if you prefer.Testing
vitest run src/channels/telegram/), including the 23inbound-handlertests.servedeployment against a remotellama-server.Happy to add a dedicated unit test for the indicator lifecycle and/or put it behind a config flag if that helps merge.