Repository navigation
cmux-next agent pane: the composer is glass over art, with a top-lit rim - #21786
Conversation
The composer, its location strip and the New Tab box painted one solid surface over every backdrop (Leo 10-14). Leo, 2026-10-18: the composer is too opaque; do glass like iOS. Over art or a see-through window (data-cmux-see-through) the surface is now 60% of the solid one with a top-lit rim; opaque windows and Reduce Transparency keep it solid. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Receipt for
|
|
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 |
|
Bead |
This comment has been minimized.
This comment has been minimized.
|
red: web / Web status; do not merge until green; see lane-rules |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Probably yours: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by
Agents: |
|
Agents: |
The tray tuck and the strip foot showed through the 60% card; the rim took a literal color and dropped on keyboard focus. 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. |
|
cmux-next tour of Path-selected interactions
Agent pane (before): PASS — 3 ok
Screenshots (11)1. Launch
Screenshots (11)1. Launch
Screenshots (12)1. Launch over art
Screenshots (12)1. Launch over art Tours are data in |
A plain transparent layer read as a second drop shadow next to --elevation-1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Any extra inset layer, even a clear one, counted as a second rim on an opaque card. 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. |
…s one ring Red: the glass rim rule redraws the card ring on the card, doubling the ::before layer's ring round strip and card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d shadow, not a second ring Under the default strip the ::before layer draws one ring round strip and card; the glass rim rule outranked the card's shadow-only rule and drew the ring again with a seam. Also drops the no-op strip ::after rules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- vp fmt webviews/src/agent-session/acpmux/replyHref.ts - vp fmt webviews/src/pages/markdown/README.md - vp fmt webviews/src/pages/markdown/links.ts - vp fmt webviews/test/markdown-cmux-app-links.test.ts Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39210220969
…-composer-glass # Conflicts: # webviews/src/pages/markdown/README.md
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. |
- vp fmt webviews/src/pages/markdown/README.md Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39212650357
…8099 # Conflicts: # webviews/src/agent-session/acpmux/replyHref.ts # webviews/src/pages/markdown/links.ts
|
Found 10 test failures on Blacksmith runners: Failures
|
|
Merged by the coord-2 rescue lane at the reviewed head. Every red on this head also fails on feat-cmux-next from the same morning, in unrelated PRs (#21697, #21729, #21623, #21272): cmux-next checks fails on Motion tokens at the base file TabCell+HibernationRing.swift:109, and react-apps-check fails on check-system-blue, composer-footer-plain, theme-colors and agent-pane-mode-keys. |
|
Shipped in:
|


























































The agent composer, its location strip and the New Tab box painted one solid surface over every backdrop. That was Leo's call on 10-14: "Solid, so it sits as chrome over a wallpaper". On 2026-10-18 he said the composer is too opaque and asked for glass like iOS. This PR is step 1 of the composer glass.
:root[data-cmux-see-through], set bydesktop.ts):--acpmux-composer-surfaceis the solid surface at 60%, so the art shows through the window's tint.--acpmux-composer-rim, an inset 1px highlight) is added to the composer box and the New Tab box.data-reduce-transparency) keep the solid surface and no rim.traytop-strip style, the tray tucks 12px under the box and may show faintly through the glass there.composerStates.cssnow routes to the glass tour (path_map.GLASS), so the change is captured over the art.backdrop-filtercan't blur the native art behind the web view. Real blur and the Liquid Glass edge refraction need a nativeGlassPanelViewbehind the box, at a rect the page reports, asWebPopupHostalready does for menus.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Turns the agent composer, its location strip, and the New Tab box into glass over art instead of one solid surface, per Leo's 2026-10-18 note that the composer is too opaque.
Over art or a see-through window (
data-cmux-see-through), the surface is the solid one at 60% opacity with a top-lit inset rim; the strip reads the same variable so it stays one fill with the box. The rim is tone-derived, stays on keyboard focus, and exists as a layer only on glass so it never reads as a second drop shadow next to--elevation-1. Under a strip or queue the ring is drawn once on the card's::beforelayer round strip and card together, so the card itself adds only rim and shadow — no doubled ring or seam. Opaque windows and Reduce Transparency (both the media query anddata-reduce-transparency) keep the solid surface with no rim. Under a see-through card the tray's 12px tuck and the strip's foot are masked away so nothing shows through the glass. The composer states tour now routes to the glass tour, andcomposerStates.cssis in thepath_map.pyglass pattern, so the change is captured over art.Real blur is a follow-up: WebKit's
backdrop-filtercan't blur the native art, so it needs a nativeGlassPanelViewbehind the box.Written for commit f27e792. Summary will update on new commits.