cmux-next agent pane: a running call is named once, not on its row and the working line
In progress. This sits on #22774 (the running-command glyph), and the diff shows #22774's commits until that PR merges; I'll rebase onto base then. Only the last two commits are this PR.
While a turn runs, the agent pane's live line (.cv-worked, "Working for…") named the call in flight even though that call's own tool row, right next to it, already named it. One running call read twice (reported by layout-pass).
Now the line drops the call's name, and #22774's terminal glyph, whenever the call has its own row on screen:
- A lone call, an agent-message card or a single MCP call always has its own row.
turns.ts(ownRow) leavesdoingunset, and the line reads "Working for 26s". - For a call inside a group, the status row carries the group's disclosure key.
WorkingFordrops the name only while the reader has that group open, and names the call again once it's closed. - A call with no row of its own keeps today's line: one behind "+K more", or an earlier entry of a Codex-style run that shows only its newest entry.
toolGroups.ts, toolPaths.ts and TurnRows.tsx are untouched; land-and-ci is working in them. ownRow copies groupNode's key format (group:<kind>:<first tool id or rowId:index>) rather than sharing it, so a change there must change here too.
Changelog
Fixed: A running tool call is named once in the agent pane, not on both its row and the working line.
Observed / Not run
- Red, f8f0e89d (test only):
bun test test/transcript-working-line.test.tsxgives 9 pass and 2 fail. Both new tests saw "bun test" twice. - Green, 6b1891db:
bun test test/transcript-working-line.test.tsx test/transcript-density.test.tsxgives 15 pass and 0 fail. - Existing tests that used a lone running call now use a grouped call the reader closed. These are four working-line tests and the MCP line test in transcript-density; they assert the same line text as before.
bun run check: 0 errors, plus 1 warning (jsx-a11y inHistoryPage.tsx:177) that is identical on base 2a643a8b.bun test test/ui-rules.test.tsgives 4 pass.- Not run: the gallery capture, and the full webview sweep (CI runs it).
Agent session: huge-blue
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Stops the agent pane's working line from naming a running call when that call's own tool row right below it already names it; one running call reads once instead of twice.
- A lone call, an agent-message card, or a single MCP call always has its own row, so the line reads "Working for 26s" with no name or glyph.
- A grouped call shows under its group's line while the group is open; the line names it again only once the reader closes the group.
- A call with no row of its own (behind "+K more", or an earlier entry of a Codex-style run showing only its newest entry) keeps the named line.
- Tests that previously pinned a lone running call now use a grouped call the reader closed, so they assert the same line text as before.