Show Telegram progress placeholder when progress-mode answer drafts are suppressed#95344
Show Telegram progress placeholder when progress-mode answer drafts are suppressed#95344gbarros-dev wants to merge 1 commit into
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close as superseded: this PR is a focused, plausible subset of the Telegram progress-placeholder work, but #95183 already owns the same progress-mode answer-activity path, also covers the broader linked Telegram preview issue, and has positive real Telegram proof while this branch only supplies tests. Canonical path: Follow #95183 as the canonical landing path for the Telegram preview-materialization issue, and close this narrower branch to avoid parallel fixes drifting. So I’m closing this here and keeping the remaining discussion on #95183. Review detailsBest possible solution: Follow #95183 as the canonical landing path for the Telegram preview-materialization issue, and close this narrower branch to avoid parallel fixes drifting. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows current main returns before updating the answer draft for progress-mode answer partials, and the linked issue documents that as a silent-preview path. Is this the best way to solve the issue? No as the best landing path. The patch is plausible, but #95183 is the better canonical fix because it covers the same path plus delayed/final cancellation and has real Telegram proof. Security review: Security review cleared: The diff only changes Telegram dispatcher control flow and a test; it does not alter dependencies, workflows, credentials, package metadata, or code-execution surfaces. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against 7546231762ff. |
What Problem This Solves
Telegram progress-mode streaming can receive answer partials but show no visible draft, because progress mode intentionally suppresses answer-lane partial text when there are no tool/progress rows to render. This makes Telegram appear stuck even though upstream draft state exists.
This PR starts the existing Telegram progress placeholder when progress-mode answer partials are suppressed, while keeping the partial answer text itself suppressed until final delivery.
Addresses one concrete silent-preview path from #95004. The broader issue also discusses non-progress short first previews; this PR intentionally keeps that debounce behavior unchanged.
Summary
Evidence
node scripts/run-vitest.mjs run --config test/vitest/vitest.extension-telegram.config.tspnpm test:changedpnpm exec oxfmt --check --threads=1 extensions/telegram/src/bot-message-dispatch.ts extensions/telegram/src/bot-message-dispatch.test.tsnode scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions/telegram/src/bot-message-dispatch.ts extensions/telegram/src/bot-message-dispatch.test.tsgit diff --checkNote:
pnpm check:changedwas not used as final evidence because the local crabbox binary fails its basic--version/--helpsanity check before running repo checks.