Repository navigation
Conversation
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: |
|
Bead |
|
Found 1 test failure on Blacksmith runners: Failure
|
ad0f4a2 to
05d5b98
Compare
05d5b98 to
876de48
Compare
…selector # Conflicts: # webviews/src/agent-session/acpmux/modelVariants.ts
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
The composer's model menu holds every harness's models, the rail, the search, Effort, the accounts and Fast mode in one list. On a harness with few models (Codex) the menu shrinks and cuts off part of the rail, and the chips sit on three edges of the box. This PR adds a fourth New Tab dot, Prototype, that tries a different layout. Claude Minimal, Claude + Quick Actions and Codex Minimal do not change.
composerLook.tsprototype,newtab/tabDots.ts): a fourth dot, with the quick actions. In it, the model and mode chips sit in the box's bottom row (+, model, mode, then mic and Send), and folder and computer sit above the box. Its location menus open above first, away from the box (locationPopover.ts).QuickModelPanel.tsx): the chip opens a short menu (Model, Effort, Provider, Fast mode). Effort stays its own row: model rows draw no effort choices in this look. Model opens a panel beside it: an icon rail (Starred, then each harness once), the search field and the tab's models, with More models in place. The panel starts at its row, fits the shown tab up to the room it has, and opens on hover, as Effort does.ComposerPickers.tsx): in the Prototype look, Claude Code's rows draw the icon column, with Codex's icons on the matching levels (Manual a hand, Accept edits the terminal shield, Bypass permissions the "!" shield). Names stay each harness's own.ui/Menu.tsx):MenuPopuptakesshift={false}(pinned to its anchor's edge) andalignOffset;Submenutakespinned,firstRowInset,openOnHover,onOpenChangeandonPopupKeyDown. Focus in one of a menu's own submenus counts as inside the menu when it closes. Defaults are unchanged.composerLocation.css).Unchanged: the default looks' menu (
QuickModelMenu.tsx), layout and tests. The Debug setting for the rail's placement has no effect in the Prototype look. Known: in the Prototype look, while the Model panel is open from hover, a click on Fast mode can be lost to Base UI's hover safe area.Changelog
prototype-dot-model-panel-and-chips-in-the-box-after.mov
Tests
test/new-tab-dots.test.tsx: the page draws four dots, Prototype the fourth, and the Prototype look shows its dot with or without the actions.Observed / Not run
bun teston the 81 test files that reach the changed code: 495 pass, 18 skip, 0 fail.test/model-menu-compact.test.tsx"the menu opens with a search field that has the keyboard" and "the optional reasoning slider ..." failed in some full-file runs on this branch and on the base commit alike; they pass alone.bunx tsc,scripts/web-lint.shandscripts/cmux-next/prepush-gate.pypass.Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Adds a fourth New Tab dot, Prototype, previewing a composer where the model and mode chips sit in the box's bottom row and the model menu opens a side panel with an icon rail, search, and the tab's models. Claude Minimal, Claude + Quick Actions, and Codex Minimal stay as they are.
Written for commit 1e4f7ef. Summary will update on new commits.