Repository navigation
cmux NEXT tray: a subagent line's time and state sit beside its chevron - #31743
Conversation
…op (cmux#31492) Fails on the base: a finished line's state word ends a Stop track and the status track's slack away from the chevron. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…evron (cmux#31492) The tray line's time and state word were two fixed tracks with Stop's track after them, so on a line with no Stop (a finished subagent) "8m 56s Done" floated mid-row. They are now one cluster set against the line's end: beside the chevron, taking Stop's empty track, or beside Stop on a line that has one. The time keeps its fixed right-aligned box, so a tick never moves the word; Stop and the chevron keep their columns, aligned with the composer's controls. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ext-31492-subagent-row-align
Tie the cluster gap to the tray's own gap token, keep the inline look's auto-width left-aligned time, scope the trailing test's time-before-Stop check to lines with Stop, and drop a time-column equality the fixture only met by chance. Formats the composer geometry test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
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 Passes: CI passes on CI passes on Written by web and size checks: green Shipped in:
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/41454213833 at 986d466 failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Correctness review (review subagent) at 4e767cb: nothing blocking. What it checked and found sound:
Findings and resolution, all fixed in 41b5d12:
Rerun at 41b5d12: the 3 tray browser test files (25/25), 2 jsdom files (52/52) and |
|
Found 6 test failures on Blacksmith runners: Failures
|
…ext-31492-subagent-row-align
|
Review (codex gpt-6.1-sol xhigh, next-review): SHIP at fe8fac8 SHIP at fe8fac8 No correctness regressions found. Tests could not run because Bun is unavailable.
Follow-ups:
|
|
Review (next-review patch-id; carried): SHIP at 73b42f5 The independent SHIP at fe8fac8 carries to this head: the PR's own change ( |
|
Review (next-review patch-id; carried): SHIP at 656aa44 The independent SHIP at fe8fac8 carries to this head: the PR's own change ( |
|
Review (next-review patch-id; carried): SHIP at efb27b2 The independent SHIP at fe8fac8 carries to this head: the PR's own change ( |
|
Review (next-review patch-id; carried): SHIP at 8c392ee The independent SHIP at fe8fac8 carries to this head: the PR's own change ( |
|
Review (next-review patch-id; carried): SHIP at 554f13a The independent SHIP at fe8fac8 carries to this head: the PR's own change ( |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes #31492
What
In the subagent tray above the composer, a finished line such as "Correctness review PR 30008 · 8m 56s Done ›" showed its time and state floating in the middle of the row instead of next to the chevron.
Each tray line is a grid: title | time (80px) | status (74px) | Stop (28px) | chevron. On a line without a Stop button (a finished, failed or cancelled subagent, or a chat line), the Stop track stayed empty. The state word also sat left-aligned in its fixed track. Together that left about 36px between the state word and the chevron.
Now the time and the state word are one cluster at the line's end:
Tradeoff, on purpose: the time no longer sits on one x across every line, because the cluster follows each line's state word and Stop. The issue asks for the time and state beside the chevron, and with Stop in its own column that can't also hold. The two geometry tests that pinned the old shared columns now pin the new contract.
Tests
The regression test is the first commit, d9ca3f7. Commands ran locally in headless Chromium (
CMUX_BROWSER_TESTS=1) fromwebviews/.bun test test/subagent-tray-columns.test.tsExpected: <= 8, Received: 36, on both themes. Its other 16 tests pass.bun test test/subagent-tray-composer-geometry.test.tsReceived: 32against the 0.5px tolerance.bun test test/subagent-tray-composer-geometry.test.ts test/subagent-tray-trailing.test.ts test/subagent-tray-columns.test.ts: at the head 41b5d12, 25/25 pass.bun test test/agent-pane-workflow-progress.test.tsx test/subagent-tray.test.tsx(jsdom): 52/52 pass.scripts/web-lint.sh: passes. The prepush gate reports no new violations.Observed / Not run
cmux-ci run. None of them is reachable from this Mac, so the browser tests ran locally instead.agent-pane.subagent-trayentry'sgeometryandduration-columnsstates show it.Review
A correctness review subagent found nothing blocking. Its four smaller findings are fixed in 41b5d12:
--acpmux-tray-gap, the grid's own gap token.inlinelook keeps its auto-width, left-aligned time.Changelog
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes the subagent tray so a finished line's duration and state (e.g. "8m 56s Done") sit right beside its chevron instead of floating mid-row.
Two geometry tests that pinned the old shared columns now pin the new contract. A review follow-up ties the cluster gap to the tray's own gap token and scopes the trailing test's time-before-Stop check to lines with Stop.
Written for commit 8c392ee. Summary will update on new commits.