Repository navigation
cmux-next: add sidebar workspace groups and tab rows - #17186
Conversation
|
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 |
CI failure attributionCI passes on Written by |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
1 similar comment
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
058f9c5 to
95a5cac
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
ff26774 to
70b4c50
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
70b4c50 to
9db0eeb
Compare
|
Base audit after rebasing onto current
The branch adds no |
9db0eeb to
dbe28cb
Compare
dbe28cb to
235686e
Compare
|
Current-base recheck: The rebased branch remains limited to group lines, tab rows, and the sidebar split. It adds no lint allowances, |
…bers JSONSerialization prints doubles as 0.1 on Xcode 26 and 0.10000000000000001 on Xcode 27, so schemas/settings/settings-schema.json and docs/mdm/com.manaflow.cmux.json were stale on one toolchain or the other. DeterministicJSON formats every number with Swift's shortest round-trip description and keeps the JSONSerialization layout and key order, so the files change only where a number was long. Regenerated both files plus docs/mdm plist and md, which were also stale on the base (sidebar.showWorkspaceTabs from #17186 was never exported).
… row title (was a fixed inset #17186 moved) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…17186 moved them 2 pt right) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… row title (was a fixed inset #17186 moved) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…17186 moved them 2 pt right) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
sidebar.showWorkspaceTabs (#17186) already lists tabs inline, so the disclosure collapses them per workspace instead of a second sidebar.nestedTabs key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#17186 already ships sidebar.showWorkspaceTabs, so drop the second sidebar.nestedTabs key. With tabs listed, each workspace row's chevron hides or lists its own tabs; sidebar.showCounts stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sidebar.showWorkspaceTabs (#17186) already lists tabs inline, so the disclosure collapses them per workspace instead of a second sidebar.nestedTabs key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sidebar.showWorkspaceTabs (#17186) already lists tabs inline, so the disclosure collapses them per workspace instead of a second sidebar.nestedTabs key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sidebar.showWorkspaceTabs (#17186) already lists tabs inline, so the disclosure collapses them per workspace instead of a second sidebar.nestedTabs key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#17520) * test(cmux-next): put the workspace tab disclosure on showWorkspaceTabs sidebar.showWorkspaceTabs (#17186) already lists tabs inline, so the disclosure collapses them per workspace instead of a second sidebar.nestedTabs key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(cmux-next sidebar): opt-in tab counts and a per-workspace tabs chevron With sidebar.showWorkspaceTabs on, each workspace row gets a chevron that collapses or expands its tabs. sidebar.showCounts (default off) shows a workspace's tab count in a fixed trailing slot. Settings artifacts are carried over from the previous base and regenerated next. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(cmux-next): regenerate settings artifacts for sidebar.showCounts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(cmux-next sidebar): keep SidebarListView under the god-type limit The list's model-derived layout options come from SidebarModel.listOptions(). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(cmux-next): regenerate settings schema, MDM docs and Settings bundle on the new base Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * next-batch: regenerate webviews formatting * cmux-next sidebar: regenerate settings artifacts on the new base Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * cmux-next sidebar: rebuild settings page on the new base Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: cmux-next batch queue <41898282+github-actions[bot]@users.noreply.github.com>
What changed
cmux-next now renders workspace groups in the sidebar with a compact colored header dot and text, plus one thin colored vertical rail tying their member rows together. Group members keep their normal kind icon inset with no additional group indent. The same rail treatment applies to grouped Projects and their sessions. Group headers are small-radius rows rather than capsule pills.
The opt-in
sidebar.showWorkspaceTabssetting renders each workspace's tabs beneath it with the existing row-kind inset and tab rail treatment. Workspace-group actions cover create, selection grouping, collapse, rename, color, reorder, membership, and next/previous navigation.Validation
235686e573a142eca2529d5319d0f93645412582compiled successfully on the fleet in jobf60463d8038af7ae466bca68with tagpr-17186-sidebar-groups-v18; terminal receipt:artifacts/fleet/235686e573a142eca2529d5319d0f93645412582-terminal.json; artifact digest:sha256:e35363a7c7e38905de6cf53f50f4a9d7f04759fbe97f9b7ebfe1211cb4bb3d94.artifacts/capture/dbe28cb6cbee7f9e4f8e25b83d2f0a7bb756d3b1/.groups.pngvisibly shows a blue Product group dot and thin vertical rails joiningworkspace-2andworkspace-3;groups-state.jsonprovides picker-host evidence for the same sidebar UI; the final exact-head fleet compile is listed separately. The final host could not finalizerecording.mp4(reported to the coordinator), while the earlier bounded capture atartifacts/capture/9db0eeb1db760b7e29fe4c53df0aa9df858ea1d1/recording/recording.mp4completed successfully. All UI actions were foreground CUA-driver actions in bounded runs.swiftc -frontend -parsepassed for every changed Swift file.bun build web/data/cmux-shortcuts.ts --target nodepassed.git diff --checkpassed.python3 scripts/check-workspace-package-groups.pypassed.🤖 Generated with Claude Code