Repository navigation
cmux NEXT: New Tab style switch is round dots again - #20473
Conversation
Red on base: the switch draws the five names as text with native radio circles (the pane does not load ui.css, so .ui-sr-only never applied), and there is no name on hover or after a pick. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One 6px round dot per page style on a 24px target, the rest dim on the text ink and the current one under an accent dot that slides to a pick (no slide under Reduce Motion). A pointer over a dot shows its name over it; a pick shows the picked name for a moment, then fades it. The names stay as the radios' accessible names in every locale. The radio fills the target unseen (the pane does not load ui.css, so .ui-sr-only drew native circles), and the name sits out of the row's flow, so the row never moves. 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 |
|
all web/size checks green |
|
Passes: CI passes on CI passes on Written by |
|
|
|
Leo OK'd this design (via coordinator); the before/after recording follows once a capture host is up. Red: CI on the test-only commit (a6af665) never reached the tests. bun run check stopped on base reds (summary.css raw z-index, then formatting), which #20464 is folding. Locally on base, |
This comment has been minimized.
This comment has been minimized.
Gallery288 states changed: agent-pane.transcript/long-code, agent-pane.artifact-panel/markdown, agent-pane.transcript/shell-grouped-commands, agent-pane.subagents/open-done, agent-pane.new-tab/dictation-menu, ... · 64 play checks failed Diff page and renders (the run's 282 more on the diff page. Live preview (follows this branch; start it with
Play checks failed (0 px anchor movement, 0 layout shift, no frame over 33 ms unless the entry gives a reason):
311 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes. |
…style-dots # Conflicts: # webviews/test/new-tab-style-switch.test.tsx
|
cmux-next tour of The tour job failed before the tour ran (build or setup); the run log has the output. The tour produced no media. Tours are data in |
- regenerated schemas/defaults/cmux-next.json Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/38541354561
…style-dots # Conflicts: # webviews/src/agent-session/acpmux/newtab/screen.css
- cargo fmt in Native/OptChat/optchat-chief Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/38570624977
…style-dots # Conflicts: # webviews/src/agent-session/acpmux/newtab/screen.css
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Found 5 test failures on Blacksmith runners: Failures
|
…und dots (#20473) are the default look Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Settings > Experimental > Labs > New Tab Style Switch (labs.newTabStyle): round dots (#20473, the default), dots that name a pick, chip dots, layout sketches or style names (#20336). Replaces the Debug Settings newTab.styleSwitch tunable, so release builds offer it too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Round keeps #20473's 2px offset and its name's opacity fade under Reduce Motion; the other looks keep theirs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lawrence 2026-10-14: no Labs registry or UI; opt-in looks are Debug Settings toggles until one earns real Settings. Drops labs.newTabStyle (schema row, parser, strings, exports) and adds the Debug Settings choice newTab.styleSwitch: round (#20473, the page's own look), hint, dots, strip, names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>






SHOW LEO: this PR acts on Leo's design feedback, so it holds for his OK on the before/after recording before merging.
Leo asked "what happened to the dots at the bottom, why's there text". #20336 (cx-txe89) replaced the New Tab style dots with a row of text radios. The pane does not load
ui.css, so the radios'.ui-sr-onlynever applied: each name drew a native radio circle beside it, which looked clunky and left a gap before "Composer".This brings back the dots and keeps what #20336 got right.
Changes
tabs.newTabTemplate.style-switchnote is updated, and its play still picks Threads by role and name.Testing
webviews/test/new-tab-style-dots.test.tsrenders the switch with the pane's realscreen.cssin Chromium. It checks five round dots of 5 to 8px, no visible radio or text at rest, targets of at least 20px, and one row box for every current style.webviews/test/new-tab-style-switch.test.tsxcovers the dot names: none at rest, the name on hover, and a pick's name that then fades. It still covers values, accessible names and focus return.bun test test/ui-rules.test.tspasses. The fullbun run checkfails only on the base format red inmodelPickerLayout.ts(webviews: one fix for the feat-cmux-next base reds (format, layers, pane-english, races, model picker side) #20464, webviews: format modelPickerLayout.ts (react-apps-check base red) #20470).de5ceb78vs head0cc23f2f), the New Tab page's style switch at rest, with the pointer over Default, after picking Threads, then Default again. Machine name masked. On a capture slot the system pointer can't hover the page, so the pointer reaches each option through a click (a click on the current style changes nothing).Full quality: style-switch-before-after.mp4
Changelog
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Restores the New Tab style switch as fixed-size round dots with names on hover or briefly after a pick, and saves the selected style as before.
ui.css).Written for commit 5df86d0. Summary will update on new commits.