Repository navigation
Agent chat: no "Worked for 0s"; an empty turn footer takes no line - #24055
Conversation
…akes no line Leo (2026-10-21) on a footer reading "Worked for 0s" with its pin and age taking a full line: "IF WE 0 SECONDS THEN IT DOESNT NEED TO TAKE UP SPACE". These cases fail on the base. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16030-bf28-7072-b1f6-b83bbd0beacc&host=cosmic-gray
…no line A turn's footer said "Worked for 0s" for a turn under a second, and a footer with nothing to show at rest (no answer to copy, no label, only Pin, Fork and its age, all hover-only) still took its 24px line. A turn under a second now says nothing there (a stopped one still says it stopped), and an empty footer's row is its turn gap alone: pointed at, its controls show over that gap, so nothing moves. The virtualizer's estimate matches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16030-bf28-7072-b1f6-b83bbd0beacc&host=cosmic-gray
A quiet turn under a second with no answer, a sub-second answer and a 5s one, for the before/after of the footer that said "Worked for 0s" and took a line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16030-bf28-7072-b1f6-b83bbd0beacc&host=cosmic-gray
|
Owned by transcript-parity on cosmic-gray · session |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: Tour of |
|
Found 17 test failures on Blacksmith runners: Failures
...and 7 more test failures. View all on Blacksmith: run 39712480260, run 39712480090, run 39712480216
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16030-bf28-7072-b1f6-b83bbd0beacc&host=cosmic-gray
|
|
|
|
|
Bead |
|
Review (subagent, correctness first): SHIP at f4d823c Reviewed the diff against feat-cmux-next, plus the delta from 9638f93 (gallery hover moved to Correctness
Non-blocking
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Summary
Leo (2026-10-21) on a turn footer reading "Worked for 0s" with its Pin and age on a full line: "IF WE 0 SECONDS THEN IT DOESNT NEED TO TAKE UP SPACE!?"
footerLabel, conversation/turns.ts). A turn stopped within a second still says "You stopped after 0s", and one whose work folds under "Worked for" says nothing there, as before. 5 s and up are unchanged ("Worked for 5s").isEmptyFooter) and takes no line: its row is the turn gap alone. When the pointer is on the turn, its controls show over that 24px gap (.cv-turn-actions--empty, absolute), so nothing moves. The chat's last footer has only the 8px message gap, too short for the line, so an empty one draws nothing there; the prompt's own hover row has the same Fork and age.model.tsfallbackRowHeight) matches: an empty footer isTURN_GAP(orMESSAGE_GAPwhen last), with noMETA_ROW.Scope: the gap above a "Received message from" row is #23925's (another lane): this PR leaves that row and its alignment alone. It does shrink the empty footer between a prompt and that row by its 24px line. #23843 (merged) changed what folds into "Worked for", not the footer label; no conflict.
Before / after (Linux gallery, synthetic fixtures)
New entries
agent-pane.transcriptsub-second-turns(at rest) andsub-second-turns-pointed(pointer on the quiet turn's prompt). The before column is the same entry on the base (branchtp/no-zero-second-footer-before, base + this gallery entry only, not for merge):Measured in the gallery frames (headless Chromium, row heights): before, both sub-second footers were 48 px and read "Worked for 0s"; after, the quiet turn's footer is 24 px (the turn gap alone) with no label, the sub-second answer's footer is 48 px with no label (it keeps its line for Copy), and the 5 s turn still reads "Worked for 5s".
Tests
webviews/src/agent-session/acpmux/conversation/TurnFooter.test.tsx(commit 42384d7 before the fix):isEmptyFooter: only hover controls is empty; an answer, a label or a failure is not; the rendered footer carriescv-turn-actions--emptyonly when empty.On the base the new test fails (it imports
footerLabelandisEmptyFooter, which do not exist there).Observed / Not run
bun test(cosmic-gray's guard sends tests to CI/fleet). The PR's web CI jobs run it.composer#steer-read-hover), cmux-next checks (namespace-type in Swift files andtest_ci_swiftpm_build_metrics.py), release-notary and Guard status. The same jobs are red on Agent chat: never fold a finished turn's reply into Worked for #23843 and cmux NEXT agent chat: message hover rows like Claude's (check, age, Copy, Retry, Fork; just now; exact time above) #23769.Changelog
No capture: webview-only change; before/after are the Linux gallery entries above.
Agent session: cosmic-gray
🤖 Generated with Claude Code