Repository navigation
cmux NEXT composer: searchable machines and projects - #25277
teamleaderleo wants to merge 8 commits into
Conversation
Leo, 2026-10-26: "in many many places we need that search capability. that combobox. for machines/environments, for models, etc. wherever you think it’d be relevant. but basically most things in the composer area... not permission sessings probably since it’s smol" Classic machines now use the shared Combobox already used by folder and environment pickers; projects reuse it instead of hand-rolling keyboard and listbox behavior. Existing model and harness name search stays in the model picker. Only listed machines can be submitted. Shared completion gives opaque remote project keys readable text without losing the selected machine. Static targeted formatter and lint: 0 warnings/errors. Behavioral red/green and gallery proof are prepared for managed CI; no tests or builds ran on the lane VM. Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a175ec-d023-74e1-a705-c0cab51d4796&host=big-red
Fix independent Astra review findings: completed search fields release Tab to their adjacent actions and keep the popover open on internal focus changes. aria-current identifies the committed project, private-folder and machine choice separately from the highlighted suggestion. Added regressions first in f83daf4; hosted red/green remains pending. Targeted formatter/lint passes; no tests/builds on VM. Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a175ec-d023-74e1-a705-c0cab51d4796&host=big-red
The shared LocationPicker keeps absolute-path completion for folders; only machine IDs complete to their display labels. Addresses independent Astra P2 with a regression committed first. Targeted formatter/lint0warnings/errors; runtime validation prepared for managed CI. Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a175ec-d023-74e1-a705-c0cab51d4796&host=big-red
Preserve full folder paths in accessible option labels, and share the committed-row predicate between aria-current and the visible checkmark. An unmatched Use path command never inherits the private-folder check. Red regressions precede the fix; targeted static lint/format passes, managed runtime remains pending. Agent-Session: https://cmux.com/deeplink/agent?harness=codex&session=01a175ec-d023-74e1-a705-c0cab51d4796&host=big-red
|
Bead |
|
Found 89 test failures on Blacksmith runners: Failures
...and 79 more test failures. View all on Blacksmith: run 40260326297, run 40260325989
|
|
|
|
Owned by nx-composer on big-red |
|
Taking this: nx-composer. The stale branch is superseded by the current, rebased implementation in #25316, which has an active owner and independent Codex gpt-6-astra xhigh review. That replacement preserves the shared searchable machine/project combobox and repairs keyboard, pointer and visual regressions found during validation. Closing this duplicate so there is one landing owner. The replacement is still undergoing hosted exact-head validation; this closure does not claim the feature has landed. |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
The classic machine picker now filters destinations, and project selection uses the shared Combobox already used by folders and environments. Typing filters rows; Enter picks; Tab completes readable text; a completed field lets Tab reach the connect and browse actions. Remote projects keep their machine identity even when paths match.
Leo, 2026-10-26: “in many many places we need that search capability. that combobox. for machines/environments, for models, etc. wherever you think it'd be relevant. but basically most things in the composer area... not permission sessings probably since it's smol”
The existing model picker already searches model and harness names. Its search and the small permission menu stay on their existing paths. This change adds search to the classic machine menu and removes the project chooser's duplicate keyboard/listbox implementation. Current destinations are announced with
aria-current, separately from the transient highlighted suggestion.Reference matched: Claude desktop
apps/claude/live/environment-picker.png: an immediately available filter field, compact destination rows, and separate connect actions. Existing cmux colors, glass, and opening behavior remain in use. Public gallery fixtures provide the before/after media; no Leo screenshots are included.Validation
Independent acpmux review: Codex gpt-6-astra, xhigh, session
01a175f2-2f46-7933-9ef8-ec903787ae5d, SHIP at35e5583412b4c849b2b37c162f4ea62526579b47(static-only).The prepared hosted command runs the regression at four committed failing states, the same focused suite at the final head, neighboring environment/project/model suites, formatting, lint, type checking, and gallery captures in Chromium and WebKit with both palettes.
Observed / Not run
Observed: targeted formatter and lint pass with zero warnings/errors; the final worktree is clean; all embedded managed-command payload hashes and reconstructed source trees match; the branch merges cleanly with
c3cbea8c2d51a0d98e441743f8112ef87f90dd71.Not run yet: managed runtime tests and captures. Replace this paragraph with the exact hosted run, red/green result, and before/after media before landing. No tests or builds ran on Big Red or the GCP lane VM.
Localization audit: existing catalog keys only;
localize-changesreports zero new or changed keys. Its strict full-repository validator fails on untouched catalog debt, includingActionLatencyHUD.xcstrings(same base/head blob04293d6a624f136e7747f28884dca8a5bdf53741).Changelog
Added: Searchable machine selection and shared project completion in the composer.
Agent session: big-red