Skip to content

Project picker: pin actions beneath search and keep scrollbars inside menus - #26536

Merged
teamleaderleo merged 25 commits into
feat-cmux-nextfrom
lane/picker-project-scroll
Oct 28, 2026
Merged

teamleaderleo merged 25 commits into
feat-cmux-nextfrom
lane/picker-project-scroll

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Project actions stay directly below Search projects and above the results. Only the project list scrolls; its thumb is inside the menu, and pressing or dragging it keeps the menu open. Shared Combobox behavior also keeps long environment and unpinned folder lists scrollable. In a short pane, actions and results each retain a usable scroll area.

Leo, word for word:

also for the adding new project/do not work in project shit... why the fuCK IS IT AT THE FUCKING BOTTOM? HAVE IT STICK NEAR THE FUCKING TOP OR SOME SHIT / AND WHY THE FUCK DOES CLICKING THE THUMB FUCKING CLOSE THE MENU??????? AND PUT THAT FFUCKING THUMB ON THE RIGH[T]

The pinned actions remain keyboard reachable. Typing a project name or path highlights the matching project both visually and through aria-activedescendant, so Enter selects it; ArrowDown and ArrowRight still expand a repository's worktrees. Escape from a focused action closes the menu and returns focus to its trigger. Menus open without an entrance fade. The visual reference is cmux-design-references/apps/claude/live/NOTES.md for its project/environment popover; this keeps cmux's existing colours and glass.

Reviewed head: 6781b5f. Reconciled base: 52145fe. Independent Astra review: SHIP at that head. Focused Chromium: 5/5 short-pane, hint, and long-list geometry cases pass. The short English, German and French hint cases were red before the final CSS cascade repair (9 px of padding and border squeezed a 16 px line) and green after. The broader composer-location/New Tab browser run was 37 pass / 3 fail; those same three failures reproduce at the exact base with identical measurements (two New Tab strip gaps of 78.390625 px and one footer-rim 18% to 28% change). Web lint, fixed-wait check, scoped formatting and pre-push gate pass. The exact-head Linux gallery build and eight-state Chromium capture completed; this change is web-only.

Before captures are from the older base used when the PR began. After captures below are from the final reviewed head, at the same 720 px menu width:

Theme Before: actions below results After: actions pinned below search
Light Base project menu, light Final project menu, light
Dark Base project menu, dark Final project menu, dark

The final-head Chromium gallery also captures a 560 px pane with 40 projects and 180 px panes with private-folder hints. The hints are intentionally ellipsized horizontally in a short pane while their line stays fully visible vertically and a project row remains usable.

40 projects, light 180 px English hint, dark 180 px German hint, dark 180 px French hint, dark
Final 40-project menu Final short English hint Final short German hint Final short French hint

Agent session: agent session

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 28, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-3e6zlb created for this PR by the cmux coordinator.

@blacksmith-sh

blacksmith-sh Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Found 3 test failures on Blacksmith runners:

Failures

Test View Logs
build_only must be a conjunctive exclusion on the helper, signing, and publication jobs
, and must not gate the unsigned app build/
build_only must be a conjunctive exclusion on the helper, signing, and publication jobs
, and must not gate the unsigned app build
View Logs
nightly.yml must derive the embedded key and sign every appcast through the helper/
nightly.yml must derive the embedded key and sign every appcast through the helper
View Logs
test_the_nightly_is_covered (main.NightlyStepCoverageTests.test_the_nightly_is_cove
red)/
test_the_nightly_is_covered (main.NightlyStepCoverageTests.test_the_nightly_is_cove
red)
View Logs

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

@teamleaderleo

teamleaderleo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 6781b5f: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr26536 -f ref=lane/picker-project-scroll -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards. This PR merged before its CI finished: fix forward on main.

CI failed on 6781b5fe2b (run 40671803162 attempt 1): 3 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (4) code a web test failed
web / react-apps-base-check (1) code a web test failed
web / react-apps-base-check (3) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs accent-glass-invariants.test.ts no orange or system accent and no opaque glass on the gallery stages: failed (job)
  • seen on other PRs agent-pane-agents-pill.test.ts by default the running agents sit in the tray above the composer, not in the transcript: failed (job)
  • seen on other PRs agent-pane-peer-chat.test.ts a chat on an SSH machine > counts its running turn from the prompt and offers no machine switch mid-...: failed (job)
  • seen on other PRs agent-pane-queue-row-click.test.ts queued row with a chip's menu open (chromium) > one press on more closes the model menu and does wha...: failed (job)
  • seen on other PRs agent-pane-queue-row-click.test.ts queued row with a chip's menu open (webkit) > one press on more closes the model menu and does what ...: failed (job)
  • seen on other PRs agent-pane-suggested-tasks.test.ts messages from other agents > a long message's card shows its first six lines; the chevron or a click...: failed (job)
  • seen on other PRs agent-pane-working-counts.test.ts with the tray on, the line counts nothing: the tray lists the same work: failed (job)
  • seen on other PRs agent-pane-working-counts.test.ts a count moves nothing: the line keeps its box and its label stays put: failed (job)
  • seen on other PRs layout.test.ts only page.css imports the page's sheets: failed (job)
  • seen on other PRs agent-pane-queue-scroll-bottom.test.ts chromium > the queue opened, the view scrolled to its end shows the last row whole, and it stays: failed (job)
  • ... 14 more in the job logs
Matched log lines
web / react-apps-base-check (4): (fail) no orange or system accent and no opaque glass on the gallery stages [580290.94ms]
web / react-apps-base-check (1): (fail) only page.css imports the page's sheets [21.53ms]
web / react-apps-base-check (3): (fail) the summary card lists the chat's background tasks: running ones first, the finished folded [940.20ms]

Not re-run automatically: web / react-apps-base-check (4), web / react-apps-base-check (1), web / react-apps-base-check (3), web / react-apps-check are not machine failures.

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.

red: web / Web status; base red: the same failure on the base 52145fe; does not block
red: web / react-apps-base-check (1); no finished base run on 52145fe to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (3); no finished base run on 52145fe to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (4); no finished base run on 52145fe to compare; do not merge until green; see lane-rules
red: web / react-apps-check; base red: the same failure on the base 52145fe; does not block

Gallery before/after for 6781b5f: 16 states rendered, 0 images differ, 2004 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 40671803443 -R manaflow-ai/cmux -n gallery-advisory-26536-6781b5fe2b8151cbf52e6a584df18b818576c484 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.add-project-panel/environment Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/environment Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/sources Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/sources Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/directory Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/directory Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/closed Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/closed Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/open Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/open Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/toolbar Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/toolbar Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/commit-form Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/commit-form Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/include-new Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/include-new Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/busy Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/busy Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/push-refused Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/push-refused Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/closed Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/closed Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/open Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/open Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/keyboard Apple System Colors unchanged 0% own styles.css

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

@teamleaderleo
teamleaderleo force-pushed the lane/picker-project-scroll branch from d70b874 to ceade04 Compare October 28, 2026 03:04
@teamleaderleo
teamleaderleo marked this pull request as ready for review October 28, 2026 03:30
teamleaderleo added a commit that referenced this pull request Oct 28, 2026
…the first-run crash fix 1daea60)

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

cursor Bot commented Oct 28, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot 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.

…ject-picker-actions

# Conflicts:
#	webviews/test/new-tab-no-entry-classic.test.ts
@teamleaderleo
teamleaderleo merged commit 0b6bb12 into feat-cmux-next Oct 28, 2026
147 of 154 checks passed
@teamleaderleo
teamleaderleo deleted the lane/picker-project-scroll branch October 28, 2026 10:46
@github-actions

Copy link
Copy Markdown
Contributor

The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40675011262 at c0d504c failed: cmux-next checks (god files, concurrency, crash safety, l10n).
Those jobs last passed at 853538a. This pull request is one of 2 merged since: #26803, #26536.
If the failure is in your change, fix forward on feat-cmux-next. Pull requests run only the tiers their paths reach (docs/ci/cmux-next-tiers.md); label a batch PR full-ci to run them all before merging.

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

teamleaderleo added a commit that referenced this pull request Nov 1, 2026
- empty-state#search: #26536 keeps the pinned project actions above the
  results while searching; the play counts the filtered results.
- computer-use-preview#close: the fixture's shell took 100% of a stage
  root with no height (0 px) and its overflow clip hid the card from the
  click; it takes the stage viewport.
- narrow#model-menu: the composer's look dots, invisible until hovered,
  lay over the quiet row's Model and mode chips at most widths under
  480 px and took their clicks. They now stand aside (hidden) while they
  overlap a control of the row, measured by a ResizeObserver.
- transcript-view#chat-menu: #29920 moved Delete into the chat menu; the
  stage is tall enough for the full menu, one more row still fails it.
- transcript-view#verbose: the submenu pick waits for the submenu to rest
  before clicking a row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8
teamleaderleo added a commit that referenced this pull request Nov 1, 2026
…ter-use close, narrow model menu, transcript view) (#30960)

* gallery: diagnostics for the gallery health base reds (temporary)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8

* gallery: computer-use preview fixture takes the stage's height; more diagnostics (temporary)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8

* base red: gallery health agent-pane states

- empty-state#search: #26536 keeps the pinned project actions above the
  results while searching; the play counts the filtered results.
- computer-use-preview#close: the fixture's shell took 100% of a stage
  root with no height (0 px) and its overflow clip hid the card from the
  click; it takes the stage viewport.
- narrow#model-menu: the composer's look dots, invisible until hovered,
  lay over the quiet row's Model and mode chips at most widths under
  480 px and took their clicks. They now stand aside (hidden) while they
  overlap a control of the row, measured by a ResizeObserver.
- transcript-view#chat-menu: #29920 moved Delete into the chat menu; the
  stage is tall enough for the full menu, one more row still fails it.
- transcript-view#verbose: the submenu pick waits for the submenu to rest
  before clicking a row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: cmux-bot[bot] <348531757+cmux-bot[bot]@users.noreply.github.com>

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 6781b5fe Deployed Oct 28, 2026 by teamleaderleo via plan the macOS fallback build #71303
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant