refactor(desktop): remove the sidebar workspace agents chip
Merged
AV
1mo ago+18+18+01234567890123456789-820-820-012345678901234567890123456789
Summary
- Removes the agents chip (agent icon + running count) shown under sidebar workspace rows, along with its Workspace agents toggle in Settings → Experimental. The ports chip on the same line is unchanged.
Why / Context
The chip was the workspace-agents-row experiment, on by default. This concludes the experiment by removing it, following the removal checklist in the store's own doc comment: the store, the settings toggle and its search entry, and the chip branch in DashboardSidebarWorkspaceChips.
How It Works
- Deletes
DashboardSidebarAgentsChip(withDashboardSidebarAgentAvatarandDashboardSidebarAgentHoverRow),useDashboardSidebarWorkspaceRunningAgents, andstores/workspace-agents-row.ts.DashboardSidebarWorkspaceChipsnow renders only the ports chip. - Moves
workspace-agents-rowfrom the persisted-key registry toDEAD_KEYS, so the boot sweep clears the stored toggle from existing profiles (persisted-state policy inapps/desktop/AGENTS.md). - Drops
statusesfromSidebarWorkspaceStatusEntry; the chip was its only reader. The map stays a local that derivesstatusandisUnread, which are still compared, so rows only stop re-rendering for per-terminal changes nothing displays. - Moves the chips regression fixture from #7833 onto the ports chip, keeping its enabled + portaled and disabled chip cases.
- Removes the 5 now-unused messages from every locale catalog (
bun run check:i18n, deletions only).
Manual QA Checklist
- Workspace with 2+ running agents (or one agent running subagents): no chip under the row
- Workspace with a detected port: ports chip still renders, its hover card opens, and dragging from the empty space beside it still reorders
- Settings → Experimental has no "Workspace agents" toggle, and settings search doesn't surface it
- Sidebar status indicators and unread marks behave as before
- Terminal pane header's "N subagents" menu still appears and clears once subagents finish
Testing
bun x tsc --noEmitinapps/desktop: passbun run lint: passbun teston the chips fixture,lib/persisted-keys, andsettings-search: 27/27. The fixture alone is 14/14; withstopChipDragStartturned into a no-op, all 10 drag cases fail, so it still guards #7833.bun testover theDashboardSidebarandsettingsdirectories: 263 pass. 2 files fail only in that combined run (useSidebarDnd,DashboardSidebarWorkspaceHoverCardContent) becauseV2ProjectSettings.test.tsx's partial@tanstack/react-routermock leaks across files; both pass alone.bun testinpackages/i18n: 157/157.bun run check:i18n: 0 missing in all 17 locales.- Not yet exercised in the running app, so the manual QA above is unchecked.
Design Decisions
- Kept the status provider's subagent
refetchInterval: it reads as chip-only, but it shares theterminal-agent-bindingsquery key withuseTerminalAgentBindings, which has no interval of its own. It is what drops expired subagents from the pane header's "N subagents" menu.
Follow-ups
DashboardSidebarChipStripalready had no importers before this PR, and its doc still mentions agents. Left alone to keep this focused.
Summary by cubic
Removes the sidebar workspace agents chip and its "Workspace agents" experiment toggle, so workspace rows now show only the ports chip.
- Deletes the chip components, running-agents hook, and
workspace-agents-rowstore. - Registers
workspace-agents-rowas a dead key so the boot sweep clears the stored toggle from existing profiles. - Drops
statusesfrom the workspace status entry; the chip was its only reader, and rows no longer re-render for per-terminal changes. - Keeps the subagent
refetchInterval, which shares a query key withuseTerminalAgentBindingsthat the pane header's "N subagents" menu depends on. - Moves the chips drag regression fixture onto the ports chip and removes 5 now-unused messages from every locale catalog.
Summary by CodeRabbit
- Changes
- Running-agent and subagent indicators, counts, and detail views have been removed from workspace sidebar rows.
- The “Workspace agents” experimental setting is no longer available.
- Workspace rows continue to show port information when ports are present.