Repository navigation
agent pane: a Subagents tab in the summary card (cx-x62ev) - #20961
teamleaderleo wants to merge 6 commits into
Conversation
… and done subagents cx-x62ev. Red: the Subagents section's title is a plain heading, not a button. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The summary card's reduced-transparency fallback (#20514) leaves summary.css with no bare backdrop-filter; check-layers asks for the lower baseline. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cx-x62ev. The Subagents section's title opens a Subagents tab beside the card's Summary tab, as the ChatGPT desktop app's right pane does: the chat's subagents under "Active · N" (or "No active subagents") and "Done · N", newest first. Each is the transcript's own SubagentListRow (avatar, name, state, time), compact in the card; a row shows that subagent through the card's onOpen (chat.subagentPane, or this pane when the host opens none). The tab's close button goes back to the summary and returns focus to the title. Tabs are aria-pressed toggles: page code carries no raw roles (ui-rules). Four new strings in all 21 locales. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Found 5 test failures on Blacksmith runners: Failures
|
|
Probably yours: CI failed on
Matched log linesNot re-run automatically: Written by |
|
Agents: |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tab lists the same counts, and beside the two tabs they were cut off
("1 running · 1 f…").
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* agent pane: a Subagents tab in the summary card (cx-x62ev) Recut of #20961 onto the current card (#21564's inline column and popover) instead of #20514's. The Subagents title opens a Subagents tab beside Summary, listing Active and Done with the transcript's own SubagentListRow; the tab's x goes back to the summary and puts focus on the title. With a tab open, the tabs take the head's place: the column's title or the popover's fold button, and the counts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: warm the dev server before the browser loads it (agent-pane-subagents-tab) The base's check-browser-test-lanes now asks every browser test that starts a Vite server to call warmViteServer once it listens. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Summary popover: keep the fold button beside the Subagents tabs With the Subagents tab open, the popover head showed only the tabs, so a narrow pane could not fold the card until the tab was closed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: give the Subagents tab test room for the inline summary column At 1280px the default chat width leaves no room for the 300px column, so the summary is a popover and the test found no card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test: the summary popover's fold button stays icon-sized beside the Subagents tabs Red: the icon-only fold reuses .acpmux-summary-card__fold's flex:1 and measures 83px at 1280px, pushing the tabs to the right edge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Summary popover: the fold button beside the Subagents tabs is icon-sized It reused the head fold's flex:1, so it stretched across the empty head and pushed the tabs right; the tabs' -8px lead-in then overlapped it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(acpmux): the Subagents tab stops running subagents, sits beside the popover's fold button, and refocuses it when folded (red) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(acpmux): the Subagents tab's running rows can stop, its tabs sit beside the popover's fold button, and closing it while folded keeps focus in the card Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(next): PR autofix at 87b32dd - vp fmt webviews/src/agent-session/acpmux/replyHref.ts - vp fmt webviews/src/pages/markdown/README.md - vp fmt webviews/src/pages/markdown/links.ts - vp fmt webviews/test/markdown-cmux-app-links.test.ts Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39211898391 * fix(agent pane): summary tabs unfold a folded popover; tab close focuses in its click Closing the Subagents tab now moves focus in the close button's click (flushSync, then focus) instead of an effect. A Summary or Subagents tab picked on a folded popover unfolds it, so the click shows that tab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: cmux-autofix[bot] <cmux-autofix[bot]@users.noreply.github.com>


Summary
Stacked on #20514.
The summary card's Subagents title now opens a Subagents tab beside the card's Summary tab, like the right pane in the ChatGPT desktop app (bead cx-x62ev):
SubagentListRow(avatar with status dot, name, kind, state or current action, elapsed time). In the card it uses a compact 40px row with no border.onOpen. In the app that ischat.subagentPane(opens beside the chat). When the host opens no pane, the subagent shows in this pane.aria-pressedtoggle buttons, like the gallery filters, becauseui-rulesbans rawtablist/tabroles in page code.Reuse: I did not add a second row component. The tab builds
SUBAGENT_ROWrows fromsubagents/subagentRows.tsand renders them withSubagentListRowfromsubagents/SubagentGroup.tsx, throughSubagentPaneContext. #20718 extended that same row with progress and a stop button. #20718 is merged onfeat-cmux-next, but #20514's head does not include it yet. When #20514 takes a base merge, this tab picks up #20718's progress and stop button with no extra change. The section title still usessubagentsInandSubagentStatusList.Also: one-line lower of
scripts/cmux-next/layers-baseline.tsv. #20514's reduced-transparency fallback leavessummary.csswith 0 barebackdrop-filter, socheck-layersasked for the lower baseline. Without it,bun run checkfails.Not in this PR:
+that does nothing would be dead UI.In-app stills (side by side with ChatGPT) will follow in a comment.
Testing
CMUX_BROWSER_TESTS=1 bun test test/agent-pane-subagents-tab.test.tsgave 0 pass / 2 fail. The heading "Subagents · 1 running" is there, but there is no button to open the tab.agent-pane-subagents-tab.test.ts2 passagent-pane-summary-panel.test.ts7 passpopup-surface10 passagent-pane-background-tasks2 passsources-changes1 pass. Its first run timed out on a cold vite server and passed on rerun.ui-rules4 passsubtle-elevationandpopup-one-hairline42 passvp fmt,vp checkandbun run checkall pass.gen-strings.mjs --checkpasses, andcheck-l10n.shreports 0 errors.summary.subagents.active,.ended,.noneActive,.closeTab) in all 21 locales. The tab labels reusesummary.titleandsummary.subagents.Changelog
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Adds a Subagents tab to the agent chat's summary card so active and finished subagents can be reviewed without leaving the summary.
The Subagents section's title now opens a tab beside the card's Summary tab, mirroring the ChatGPT desktop app's right pane. The tab lists Active · N (or "No active subagents") and Done · N, newest first, nested subagents included; waiting subagents count as active, failed and cancelled as done. Rows reuse the transcript's
SubagentListRow, compacted to 40px, and clicking a row opens that subagent via the card's existingonOpen—the chat's subagent pane, or this tab when the host opens none. Opening the tab drops the card's head counts since the tab lists them itself (they were cut off next to the two tabs). The close button returns to the summary and refocuses the Subagents title. Tabs arearia-pressedtoggles becauseui-rulesbans rawtablist/tabroles in page code. Four new locale strings ship in all 21 locales, and the layers baseline is lowered one line sincesummary.cssno longer has a barebackdrop-filter.SubagentsTabis allowlisted in gallery coverage until it gets an entry.Written for commit 3d01e89. Summary will update on new commits.