Repository navigation
New Tab composer: quiet focus rim and theme-surface fill - #20561
Conversation
…vated surface Red on base: focus draws a second, wider ring (1 CSS px, two device px at 2x) in the accent at 40%, still drawn under appearance.borders none, and the fill is the composer tint's 13% text gray over the surface. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…face Focus drew a second ring over the box's one-device-pixel rim: one CSS pixel (two device pixels at 2x) in the accent at 40%, which under the default neutral accent is a bright light outline, and it still drew under appearance.borders none. Focus now keeps the rim at its own width and only lifts its tone a little toward the text; borders none clears it. The box's fill was the composer tint (13% text) over the solid surface, a flat gray slab on a wallpaper. It is now --cmux-elevated-background, the theme surface one small step toward the text that the shared page cards and ui surface use, still solid over art. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
|
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 |
Review: over black the light theme's near-black rim hid any lift. The rim now composites over the elevated fill per theme, and a parse failure can no longer pass as a transparent rim. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Bead |
…t themes Leo 10-14: our composer is darker than the background. Both the New Tab box and the chat composer must be a solid surface lighter than the page: the page lifted toward white in a light theme, a small step toward the text in a dark one. Red on the previous head (the box equals the page without the elevated token; the chat composer is a translucent tint). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Leo 10-14: our composer was darker than the background. One token, --acpmux-composer-surface, derived from the theme's opaque page color: in a light theme the page lifted toward white (near white, as Aside's and ChatGPT's composers are); in a dark theme one small step toward the text. The New Tab box and the chat composer both paint it, solid over a wallpaper. Shadows and layout are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
|
all web/size checks green |
|
Unclear: CI failed on
Not re-run automatically: Written by |
|
Agents: |
|
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 |
Gallery316 states changed: agent-pane.new-tab/template-composer, agent-pane.new-tab/typed-red-duplicates, agent-pane.new-tab/typed-reddit, agent-pane.new-tab/typed-tab-match, agent-pane.new-tab/typed-over-note, ... · 71 play checks failed Diff page and renders (the run's 310 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):
385 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes. |
…theme/quiet-composer-focus # Conflicts: # webviews/src/agent-session/acpmux/newtab/screen.css
cg-design-judge (10-14): a drop shadow on a dark page shows nothing. Red on the merged head: both composers cast --elevation-2 in every theme, and the New Tab hover lift from base (9a27760) paints the composer tint back over the surface at rest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cg-design-judge (10-14): the composer's drop shadow does nothing on a dark page. Both composers now cast --acpmux-composer-shadow: --elevation-1 in a light theme, a clear layer in a dark one (data-theme). The New Tab hover lift that landed on base now lays the native hover fill (--cmux-hover) over the composer surface, clear at rest, instead of repainting the old composer tint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- vp fmt webviews/src/pages/home-channels/DaemonGate.tsx - vp fmt webviews/src/pages/home-channels/daemonHome.ts Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/38583623921
…theme/quiet-composer-focus # Conflicts: # webviews/src/pages/home-channels/daemonHome.ts
#20561 mixes the light composer surface toward a literal white on purpose (lighter than the page, from the theme's page color), which the theme-colors ratchet counts as a fresh literal color. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#20561 lifted the light composer surface toward white with a literal `white` in color-mix, which theme-colors.test.ts reports as a fresh literal color in a migrated stylesheet (red on feat-cmux-next). The white is the lift direction and the theme surface keeps 35%, so mark the line theme-fixed like the other intentional literals. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ral white (fixes theme-colors base red from #20561) (#20688) --cmux-tone-light names the tonal scale's light end, the one place that keeps white (theme-fixed), as native ThemeTokens.opaqueOverlayFill mixes a light page toward .white. Same pixels in light themes; the dark branch is unchanged. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ace (#20678) * test: chat composer focus is as quiet as New Tab's; suggestions are the popup surface Red on base: the chat composer's focus draws a 1 CSS px ring at 38% accent (two device px at 2x), still under appearance.borders none, and under Increase Contrast that ring wins over the shared focus ring. The New Tab suggestions popover paints the old composer tint over the popup surface. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: chat composer focus is quiet; New Tab suggestions are the popup surface The chat composer's focus drew a 1 CSS px ring at 38% accent over its one-device-pixel rim, still under appearance.borders none, and it overrode the shared Increase Contrast ring. Focus now keeps the rim and lifts its tone one 8% step toward the text, as the New Tab box does; borders none clears it, and Increase Contrast gets the shared ring. The New Tab suggestions popover painted the old composer tint over the popup surface. It is a floating menu, portaled and detached from the box, so it now paints --surface-popup alone, as every pane popup does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: mark the light composer lift theme-fixed #20561 lifted the light composer surface toward white with a literal `white` in color-mix, which theme-colors.test.ts reports as a fresh literal color in a migrated stylesheet (red on feat-cmux-next). The white is the lift direction and the theme surface keeps 35%, so mark the line theme-fixed like the other intentional literals. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* test: composer gallery plays wait out a cold Vite's first compile The first page of each composer play file waits on Vite compiling the gallery, which takes over 30 s on a busy runner: composer-search-files-key and composer-capture failed their first case on the readiness wait alone (the play passes once the frame is ready). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: mark the composer surface's lift toward white as theme-fixed #20561 mixes the light composer surface toward a literal white on purpose (lighter than the page, from the theme's page color), which the theme-colors ratchet counts as a fresh literal color. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>






Lawrence's feedback on the New Tab composer, plus Leo's and cg-design-judge's follow-ups (10-14). I checked current feat-cmux-next first: both defects were still there.
appearance.bordersnone. Focus now keeps the rim at its own width (--cmux-hairline, Composer and New Tab rims draw one device pixel, concentric at every scale #20481) and only lifts its tone 8% toward the text.borders: noneclears the rim whether or not the box is focused. Increase Contrast keeps the shared focus ring.--acpmux-composer-surface(composerStates.css), derived from the theme's opaque page color withlight-dark(). In a light theme it is the page lifted toward white, so the composer is lighter than the page and near white. In a dark theme it is one small step toward the text, about where it was. The New Tab box and the chat composer both paint it, solid over a wallpaper. The New Tab hover lift (from base) now lays--cmux-hoverover this surface instead of repainting the old tint.--elevation-1in a light theme and no shadow in a dark one, where a drop shadow shows nothing. This uses Subtle elevation: one shared shadow scale, no big halos #20519's scale tokens and adds no new shadow.Ring, fill and shadow only. No layout changes, and the chat composer's focus ring is unchanged. Behaviour change: the New Tab box no longer follows a custom New Tab page surface override (
appearance.surfaces) for its fill; it follows the page color the theme reports.Testing
webviews/test/newtab-quiet-focus.test.ts(Chromium, dark and light, 1x and 2x) covers:borders: nonewhile focused;--elevation-1in light, none in dark.CMUX_BROWSER_TESTS=1 bun test test/newtab-quiet-focus.test.ts.composer-rim-hairline,new-tab-field-on-artandsubtle-elevationto match. Those three andnew-tab-omnibar-pointerare green locally.bun run checkpassed before the base merge. After it, I ran only the focused tests and the python checks (layers, type scale, system blue, text focus rings) because big-red is short on memory. CIweb / react-apps-checkruns the full check.New Tab composer, three light themes, unfocused and focused (left: before, right: after):
New Tab composer, default dark and three dark themes:
Chat composer, three light and four dark themes:
Focusing the New Tab composer (dark default, then Catppuccin Latte). I watched each clip: the rim stays one pixel and there is no flash.
Changelog
🤖 Generated with Claude Code