Telegram: keep verbose tool results separate from final answers#80294
Conversation
|
Codex review: needs maintainer review before merge. Summary Reproducibility: yes. Source inspection of current main shows tool/progress text can occupy the answer lane and final text can then finalize that same lane; the PR adds focused tests for progress callbacks and verbose Real behavior proof Next step before merge Security Review detailsBest possible solution: Land the focused Telegram dispatch/test fix after maintainer review and CI so verbose tool output remains a separate visible message from the final assistant answer. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection of current main shows tool/progress text can occupy the answer lane and final text can then finalize that same lane; the PR adds focused tests for progress callbacks and verbose Is this the best way to solve the issue? Yes. The patch fixes the Telegram answer-lane transition directly, which is narrower than changing generic lane delivery or suppressing verbose tool output. What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 9924fff1afc7. Re-review progress:
|
c3a3dfd to
72a9b3d
Compare
72a9b3d to
7c92053
Compare
7c92053 to
613e841
Compare
* Telegram: keep tool progress separate from final answers * Telegram: separate verbose tool results from final answers * fix: separate Telegram verbose tool drafts
…claw#80294) * Telegram: keep tool progress separate from final answers * Telegram: separate verbose tool results from final answers * fix: separate Telegram verbose tool drafts
…claw#80294) * Telegram: keep tool progress separate from final answers * Telegram: separate verbose tool results from final answers * fix: separate Telegram verbose tool drafts
…claw#80294) * Telegram: keep tool progress separate from final answers * Telegram: separate verbose tool results from final answers * fix: separate Telegram verbose tool drafts
Summary
Fix Telegram verbose delivery so tool progress/results stay separate from the final assistant answer.
This addresses the live Telegram behavior where the final assistant response could edit/reuse the last verbose tool message, visually blending the tool output and final answer into one Telegram message.
What changed
info.kind === "tool") the same way as progress-only drafts.Real behavior proof
test/telegram-verbose-progress-lanewith redacted live Telegram credentials.pnpm build, restarted the live gateway withlaunchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway, then sent live Telegram turns that produced verbose tool progress/results followed by final assistant answers.openclaw gateway status --deep/ gateway logs running fromtest/telegram-verbose-progress-laneatc3a3dfdd3aafter the second restart, and the Telegram conversation showed the verbose tool-result message remaining separate while the final assistant answer was delivered as a fresh Telegram message.Validation
Notes
The live checkout has a pre-existing dirty generated Canvas bundle hash (
extensions/canvas/src/host/a2ui/.bundle.hash). This PR intentionally does not include it.