Repository navigation
fix(cmux-next): pending New Tab access chip is a live menu at the start mode - #21272
Conversation
|
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 |
|
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) Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by
Agents: |
|
Agents: |
|
Bead |
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. |
453a1f5 to
d34e60c
Compare
Gallery355 states changed: agent-pane.transcript/long-code, agent-pane.chat-width/wide-blocks, agent-pane.artifact-panel/markdown, agent-pane.new-tab/calm-default, agent-pane.new-tab/split-open-tabs-context-menu, ... · 75 play checks failed Diff page and renders (the run's 349 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):
442 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes. |
d34e60c to
617e6b8
Compare
|
Found 10 test failures on Blacksmith runners: Failures
|
Remove the duplicate title tooltip from the interactive pending access button and assert that the remembered access mode is a usable menu while the session is pending.
|
Evidence for this PR's area from a click-through on cmux16 (tagged build of
This PR conflicts with |
…r-spacing-access-current # Conflicts: # scripts/cmux-next/type-scale-baseline.tsv # webviews/src/agent-session/acpmux/ComposerPickers.tsx # webviews/src/agent-session/acpmux/composerLocation.css # webviews/src/agent-session/acpmux/newtab/screen.css # webviews/src/agent-session/acpmux/protocol/generated/methods.ts # webviews/src/agent-session/acpmux/protocol/generated/types.ts # webviews/src/agent-session/acpmux/styles.css
…e, not the last chat's Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the last chat's The pending menu used the harness profile's last current mode, so a chat starting in full access could show Ask before edits. Rows come from the profile's catalog; the check is the start mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Receipt for
|
…n is never an access row Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tays an inert chip Review findings: in a pane with no New Tab start and no harness switch a pick reached no session and the chip could name a mode the chat would not start in. The start mode's row keeps acpmux's name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…is connected and a harness is set Re-review findings: before the handshake chat.mode posts to native, which drops it; with no harness start() sends nothing. 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/39212532636
…r-spacing-access-current
…r-spacing-access-current # Conflicts: # webviews/src/agent-session/acpmux/replyHref.ts # webviews/src/pages/markdown/links.ts
|
Merging at
Review: a subagent review found two blocking bugs. Both are fixed with tests that fail first:
The re-review's two low gaps (a pick before the acpmux handshake, and a New Tab with no harness) are closed in 2ada973. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/39312344912 at 3888f63 failed: cmux-next web bundles (source-keyed cache). |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/39312688402 at 016dffb failed: cmux-next web bundles (source-keyed cache). |
|
Shipped in:
|






Problem
A New Tab chat that has not reported its modes yet shows its access mode (the start mode acpmux answered) as an inert pending chip, so you can't change it before the first send.
Change
chat.modesetter.Scope was cut at the base merge (2026-10-19). The spacing, checkmark-column and pill-outline changes are dropped, because later base work chose differently: #21645, #21744 and #21816 changed the same rules. The regenerated protocol files are also dropped.
Validation
bun test test/access-chip-pending-warning.test.tsx(jsdom) discriminates: 2 of its 8 tests ("first frame" and "names acpmux's start mode") fail with the baseComposerPickers.tsx/App.tsx, and all 8 pass at this head. It drivesComposerPickerswithholdsModePickset directly.CMUX_BROWSER_TESTS=1 bun test test/agent-pane-start-mode-chip.test.tspasses, but its new assertions also pass with base sources (they cover a shown harness switch, where the live access menu already draws), so they are not coverage of this change.holdsModePickinDefaultComposerChips) and a pending-menu pick reachingsession/set_modeafter the first send. A review traced that path by hand:chat.new {deferred}runs beforechat.mode,pickModeholds the mode with its gesture ticket, andrun()applies it when the chat opens.feat-cmux-next(73740a8):bun testover the access-chip, model-picker, New Tab and markdown-link tests: 103 pass, 11 skip (browser lane), 0 fail.bun run typecheckclean.Known follow-ups (low): the menu has only the checked row when the harness has never reported its modes; a held New Tab pick doesn't refresh other pending chats' kept start mode until acpmux announces the change;
holdsModePickreadswindow.cmuxAcpmuxActionsduring render.🤖 Generated with Claude Code