cmux-next agent pane: a paused queue names its error; held prompts wait for Resume
When a turn fails, acpmux pauses the chat's queue (queuePaused). The pane said only "Paused after an error" and still labeled every held prompt "Sends after this turn", so the messages looked queued normally while nothing would send (Leo hit this live; it held a coordinator's messages).
App side only. The daemon side (a failed send fails alone, auto-resume, steers and answers never held) is acpmux-unify's work.
- The paused note names the error of the chat's last turn: its turn summary's
errorText(queuePause.ts). The whole text is the tooltip when the row cuts it. - The note keeps its one Resume.
- The held prompts' header reads Waits for Resume instead of "Sends after this turn".
- Two new strings in 21 locales:
composer.queuePausedWhy,composer.queueHeld. - Gallery
queued-pausednow has a failed turn with an error, so the note shows it.
Changelog
Fixed: A chat queue paused by a failed turn now says which error paused it, and its waiting messages say they wait for Resume.
Test
webviews/test/queue-paused-why.test.tsx, committed first (c0524f299b90) and fixed by 015eb1e6a18f.
Observed / Not run
- Ran on cosmic-gray:
vp check --no-fmt(pass, 2231 files),vp fmton the changed files. - Not run locally:
bun test(cosmic-gray refuses it); CI runs the new test andtest/agent-pane-queue.test.ts. No Swift or Rust changed.
Agent session: cosmic-gray
🤖 Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
When a turn fails, acpmux pauses the chat's queue, but the pane only said "Paused after an error" while held prompts still read "Sends after this turn", making a paused queue look like it would send. The note now names the error that paused the queue, and held prompts say they wait for Resume.
- The note names the latest failed turn's error, so a prompt sent meanwhile that ends well doesn't hide why the queue is held; the note stays one line, with the full text as a tooltip, and keeps its single Resume.
- An agent that couldn't start (error without
errorText) now also names its error on the summary row. - Held prompts read "Waits for Resume"; two new localization strings cover 21 locales, plus the
queued-pausedgallery case and a new test.