Skip to content

cmux-next sidebar: opt-in tab counts and a per-workspace tabs chevron - #17520

Merged
teamleaderleo merged 12 commits into
feat-cmux-nextfrom
op-next-sidebar-merge-nested
Oct 6, 2026
Merged

teamleaderleo merged 12 commits into
feat-cmux-nextfrom
op-next-sidebar-merge-nested

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Two sidebar options, both off by default, so nothing changes until someone turns them on.

  • sidebar.showCounts (Show Tab Counts), new: each workspace row shows how many tabs it has.
  • sidebar.showWorkspaceTabs (Show Workspace Tabs, from cmux-next: add sidebar workspace groups and tab rows #17186) now gives each workspace row a chevron. Tabs stay listed by default, and the chevron hides or lists one workspace's tabs and chats. This replaces the separate sidebar.nestedTabs key from the first version of this PR: one nested-view setting, not two.

Both controls follow the Stability rule. They sit in fixed slots at the row's trailing edge and are drawn whenever their setting is on, never on hover, so the hover close button and the unread badge don't move them. The count slot fits two digits, so going from 9 to 10 tabs doesn't shift the title. A workspace with no tabs keeps the chevron's slot, just empty. Which workspaces are collapsed is window view state and isn't saved yet.

Testing

  • SidebarWorkspaceTabsTests (layout and model) and countsAreOptIn / nestedTabsIsNotASecondKey (settings) were committed before each change and fail on those commits. With the change they run in this PR's cmux-next swift test job.
  • The settings schema, MDM manifest and docs were regenerated from the package's export tests on a fleet Mac. The Settings page strings and bundle were rebuilt with gen-strings.mjs and build-pages-web.sh.
  • Localization: 5 new keys (3 sidebar, 2 settings), each with all 21 catalog locales. localization_catalog.py check reports nothing for them.
  • Fleet build captures are in a comment. They're from the first version (count plus chevron); the chevron now starts expanded under showWorkspaceTabs.

Changelog

  • Added: opt-in sidebar tab counts (sidebar.showCounts), and a per-workspace chevron to hide or list tabs when sidebar.showWorkspaceTabs is on.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 4230ca59-5526-4263-bade-5ae0eb32b602

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Not verified: macOS jobs did not run: compile and app tests were skipped on 0a6732b548; ci-status is green without them.

CI passes on 0a6732b548 (run 37501326274 attempt 2).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Captures from a fleet build of this branch on a capture Mac.

Default ({}): unchanged, no count and no disclosure.

off

{"sidebar":{"nestedTabs":true,"showCounts":true}}: the workspace row shows its tab count and a chevron in fixed trailing slots.

on collapsed

After clicking the chevron, the workspace's tabs list inline beneath it.

on expanded

@teamleaderleo teamleaderleo changed the title cmux-next sidebar: opt-in tab counts and expandable workspaces cmux-next sidebar: opt-in tab counts and a per-workspace tabs chevron Oct 6, 2026
@teamleaderleo
teamleaderleo force-pushed the op-next-sidebar-merge-nested branch from fabcf11 to 91b1f15 Compare October 6, 2026 06:32
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Batch queue: dropped from batch next-batch/20261006 (feat-cmux-next 7cf558be8de1), conflict with feat-cmux-next.

  • Packages/macOS/CmuxNext/Sources/CmuxNextSettings/SidebarSectionsSetting.swift: both sides changed it

Next: merge feat-cmux-next, resolve, push.

@teamleaderleo
teamleaderleo force-pushed the op-next-sidebar-merge-nested branch from 91b1f15 to 7ff9780 Compare October 6, 2026 15:20
@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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
@cursor

cursor Bot commented Oct 6, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot 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.

teamleaderleo and others added 5 commits October 6, 2026 08:25
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>
…hevron

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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The list's model-derived layout options come from SidebarModel.listOptions().

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…undle on the new base

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo
teamleaderleo force-pushed the op-next-sidebar-merge-nested branch from 391ddae to 426a6aa Compare October 6, 2026 15:25
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Batch queue: pushed bun run check:fix output (web formatting and lint autofix) to this branch; landing once its checks rerun.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Batch queue: green. Batch stack 87bf7dcfd4d7 on feat-cmux-next 7d209e8ddbed with #17520 #17534 #17541 #17551 #17552 #17558 #17582. Fleet production build: job 3b88261eeebcf0f42557a5e7 (cmux-ci artifact 3b88261eeebcf0f42557a5e7 (job 3b88261eeebcf0f42557a5e7, tag nb-local-20261006-153816-1)). heavy tier did not run on this branch (run); your PR's own checks are the tests. Validated this PR at 426a6aae73d1.

Next: land it yourself with gh-merge-green on this receipt.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Batch queue: green. Batch stack c03ab5ca52f8 on feat-cmux-next 3892c6ce7b55 with #17520 #17527 #17534 #17537 #17541 #17542 #17551 #17552 #17553. Fleet production build: job d1e25b8a9144e8ef3ef2287e (cmux-ci artifact d1e25b8a9144e8ef3ef2287e (job d1e25b8a9144e8ef3ef2287e, tag nb-local-20261006-160146-1)). heavy tier did not run on this branch (run); your PR's own checks are the tests. Validated this PR at dd441f27f892.

Next: land it yourself with gh-merge-green on this receipt.

teamleaderleo and others added 4 commits October 6, 2026 09:59
…ebar-merge-nested

# Conflicts:
#	schemas/settings/settings-schema.json
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Batch queue: green. Batch stack 56c6a0b1db91 on feat-cmux-next f297f960ba8a with #17520 #17534 #17551 #17597 #17598 #17599 #17601. Fleet production build: job 00cd9db56f0260ac9f85330a (cmux-ci artifact 00cd9db56f0260ac9f85330a (job 00cd9db56f0260ac9f85330a, tag nb-local-20261006-173318-1)). heavy tier did not run on this branch (run); your PR's own checks are the tests. Validated this PR at 0a6732b548af.

Next: land it yourself with gh-merge-green on this receipt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant