Skip to content

cmux-next: one popup elevation, and the New Tab field sits solid on art (coherence pass) - #20188

Merged
teamleaderleo merged 4 commits into
feat-cmux-nextfrom
op-next-icons/coherence-newtab
Oct 13, 2026
Merged

teamleaderleo merged 4 commits into
feat-cmux-nextfrom
op-next-icons/coherence-newtab

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

First batch of Leo's 10-13 coherence pass: the New Tab field, plus one shared popup elevation in the agent pane.

What changes

  • One popup elevation. Every menu and popover in the agent pane now draws --acpmux-popup-elevation: the composer's hairline over the shared --ui-popup-shadow, using --ui-popup-radius and no border of its own.
    • Before this, several surfaces drew their own. The New Tab suggestions had a deeper, darker shadow (0 16px 40px). The effort menu had radius 10 and a 1px border. The model picker and context popovers had a 1px border. Model submenus had radius 12 and their own shadow.
    • Tailwind's --shadow-menu now reads the same token.
    • A Base UI popup with no surface class of its own gets the token too, and so does a menu portaled straight to the body (ui/ContextMenu.tsx). Neither has the composer edge, so they take the shared hairline instead. Before, that menu's shadow was invalid there and it drew flat.
  • The New Tab box sits solid on art. Its fill mixed the text color into the page background, which is transparent on a wallpaper theme, so the box was a thin film over the art. It is now the composer tint over the theme's solid surface (--cmux-surface-solid). Plain themes don't change, because their page background is already opaque.
  • Suggestion rows are menu rows. They use the shared row height (28 instead of 32), row corners and list inset.
  • Focus steps toward the theme accent. In both the New Tab box and the chat composer, the focused edge is a 1px step toward the theme accent. Under the default neutral accent that is the text color.

Coordination: op-next-steering (suggestions behavior) and op-next-appstore (#20148, New Tab composer) own behavior. This PR changes visual properties only and leaves their lines alone. Lawrence's omnibar files (cx-d0d.80) are untouched.

Verification

  • Red then green: popup-surface.test.ts ("every menu and popover in the agent pane casts the one popup elevation") and the new new-tab-field-on-art.test.ts. Both are browser-lane tests that run in react-apps-check. The red is the first commit's CI run on this PR.
  • bun run check and test/ui-rules.test.ts pass locally. With CMUX_BROWSER_TESTS=1, these pass locally too: popup-surface, new-tab-field-on-art, composer-menu-width, selected-row-accent, new-tab-picker-clip and popup-surface-dev.
  • A review subagent caught one defect: on the first fix commit the elevation test still failed for a bare popup and the model picker. The last fix commit addresses it.
  • Not in this batch: the legacy .acpmux-omni dropdown keeps its 16px radius and 40px rows.
  • Before/after: the gallery render for this PR.

Changelog

  • Changed: Menus and popovers in agent chats share one shadow and corner, and the New Tab search field stays solid over a wallpaper.

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits October 12, 2026 22:33
… (coherence pass, red)

Every menu and popover in the agent pane casts the shared popup elevation.
The New Tab box is a solid theme surface over a wallpaper, its suggestions
are menu rows, and focus steps toward the theme accent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lid on art (coherence pass)

Menus and popovers draw --acpmux-popup-elevation (the composer hairline over
the shared popup shadow) with the shared radius and no border of their own:
the New Tab suggestions, effort and model menus, and the model submenus had
their own. The New Tab box is the composer tint over the theme's solid
surface, so a wallpaper no longer shows through it; its suggestion rows use
the shared row height, corners and inset; focus in the box and the composer
steps toward the theme accent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 13, 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: 3a53613a-8f1c-44fd-8cd3-c26ed7cb3df2

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
  • Autofix · 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.

@blacksmith-sh

blacksmith-sh Bot commented Oct 13, 2026

Copy link
Copy Markdown

Found 4 test failures on Blacksmith runners:

Failures

Test View Logs
test/agent-pane-secret.test.ts/agent-pane-secret.test View Logs
test/harnesses-page.test.tsx/harnesses-page.test.tsx View Logs
test/new-tab-field-on-art.test.ts/new-tab-field-on-art.test View Logs
test/popup-surface.test.ts/popup-surface.test View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

all web/size checks green

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Passes: CI passes on 2f1e97ee41.

CI passes on 2f1e97ee41 (run 38354023594 attempt 1).

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, seen on other PRs that it failed on another pull request's run lately.

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

CI fast guards passes on 2f1e97ee41 (https://github.com/manaflow-ai/cmux/actions/runs/38354023594). This covers only the fast guards, not CI: CI's result is the ci-status check, and the CI failure attribution comment names any failing test.

teamleaderleo and others added 2 commits October 12, 2026 22:56
…ed (coherence pass)

A Base UI popup with no surface class of its own drew flat, the model
picker kept its radius only through Tailwind, and the token was undefined
on a menu portaled straight to the body.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 13, 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
teamleaderleo merged commit 3e06111 into feat-cmux-next Oct 13, 2026
106 checks passed
@teamleaderleo
teamleaderleo deleted the op-next-icons/coherence-newtab branch October 13, 2026 06:11
@github-actions

Copy link
Copy Markdown
Contributor

Gallery

Review in feed

1620 states changed: agent-pane.transcript/long-code, agent-pane.artifact-panel/closed, agent-pane.artifact-panel/html, agent-pane.new-tab/typed-dismissed, agent-pane.model-picker/more-models, ... · 68 play checks failed

Diff page and renders (the run's gallery-pr artifact)

State Before · after
agent-pane.transcript/long-code (Apple System Colors, webkit)
agent-pane.artifact-panel/closed (Apple System Colors, chromium)
agent-pane.artifact-panel/html (Apple System Colors, webkit)
agent-pane.artifact-panel/html (Apple System Colors, chromium)
agent-pane.new-tab/typed-dismissed (Apple System Colors Light, chromium)
agent-pane.new-tab/typed-dismissed (Apple System Colors Light, webkit)

1614 more on the diff page.

Live preview (follows this branch; start it with scripts/gallery-live.sh up <branch> from an hq checkout):

  • agent-pane.transcript/long-code: /wt/op-next-icons-coherence-newtab/?entry=agent-pane.transcript#/agent-pane.transcript/long-code
  • agent-pane.artifact-panel/closed: /wt/op-next-icons-coherence-newtab/?entry=agent-pane.artifact-panel#/agent-pane.artifact-panel/closed
  • agent-pane.artifact-panel/html: /wt/op-next-icons-coherence-newtab/?entry=agent-pane.artifact-panel#/agent-pane.artifact-panel/html
  • agent-pane.new-tab/typed-dismissed: /wt/op-next-icons-coherence-newtab/?entry=agent-pane.new-tab#/agent-pane.new-tab/typed-dismissed
  • agent-pane.model-picker/more-models: /wt/op-next-icons-coherence-newtab/?entry=agent-pane.model-picker#/agent-pane.model-picker/more-models
  • agent-pane.model-picker/curated: /wt/op-next-icons-coherence-newtab/?entry=agent-pane.model-picker#/agent-pane.model-picker/curated
  • 235 more on the diff page

Play checks failed (0 px anchor movement, 0 layout shift, no frame over 33 ms unless the entry gives a reason):

  • agent-pane.artifact-panel/html (Apple System Colors, webkit): play: no element for button "Open preview"
  • agent-pane.artifact-panel/html (Apple System Colors, chromium): play: no element for button "Open preview"
  • agent-pane.model-picker/more-models (Apple System Colors Light, chromium): step 2 click .acpmux-mp-older: layout shift 0.0334 (limit 0)
  • agent-pane.new-tab/typed-red-duplicates (Apple System Colors Light, chromium): step 1 type "red": layout shift 0.0226 (limit 0.02)
  • agent-pane.model-picker/more-models (Apple System Colors, chromium): step 2 click .acpmux-mp-older: layout shift 0.0334 (limit 0)
  • agent-pane.new-tab/typed-red-duplicates (Apple System Colors, chromium): step 1 type "red": layout shift 0.0226 (limit 0.02)
  • 367 more on the diff page

255 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes.

1541 unchanged · base f5bc9dd · head 2f1e97e

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