Skip to content

Composer extra folders: outside dismiss ends Add folder; Cloud and Sandboxed offer none - #34584

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
lane/extra-folders-followups
Nov 4, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
lane/extra-folders-followups

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #34408
Fixes #34403
Fixes #34527

Follow-ups from the reviews of #33242 (receipt, receipt at 4cbbf49).

Tests

webviews/test/composer-extra-folders.test.tsx: an outside dismiss after Add folder… leaves the next pick changing the project; Cloud and Sandboxed modes offer no Add folder… and show no +N; picking a starting Cloud machine drops the draft at once. All four failed before the fix and pass after it.

Changelog

  • Fixed: closing the composer's folder menu by clicking outside no longer leaves it adding folders, and Cloud and Sandboxed chats no longer offer extra folders they can't use.

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Fixes three composer extra-folder follow-ups from the review of #33242: dismissing the folder menu by clicking outside no longer leaves Add folder mode on, Cloud and Sandboxed chats no longer offer or send extra folders, and picking a starting Cloud machine drops the current folders at once.

  • Outside dismiss of FolderPopover now resets the query, expanded repositories, and Add folder mode, so the next pick changes the project instead of adding a folder.
  • Cloud and Sandboxed runs carry no extra folders, so the composer hides Add folder and the +N; the draft is kept and returns on switching back to This Mac.
  • Picking a Cloud machine that isn't linked yet clears the draft immediately rather than when — or if — the machine arrives.
  • The test suite covers all three regressions; each failed before the fix.

Written for commit 364daf4. Summary will update on new commits.

View guided diff Turn on auto-fix

teamleaderleo and others added 2 commits November 4, 2026 01:52
…nd Sandboxed offer and send none

Fixes #34408: the folder popover's non-Escape close cleared only the query,
so Add folder mode survived and the next project pick added a folder.

Fixes #34403: Cloud and Sandboxed starts carry no additional directories,
so in those run modes the composer hides Add folder and +N, and the client
gets no extra folders for its next start.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-244b9c62b2e8fedec46c
…chine's folders at once

Fixes #34527: pickCloudMachine returned before pickComputer's draft clear,
so while the machine started (or after it failed) the previous machine's
+N stayed and could go with the wrong target.

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

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 61a536c: 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=pr34584 -f ref=lane/extra-folders-followups -f platform=macos -f backend_mode=local

Gallery before/after for 364daf4: 16 states rendered, 0 images differ, 1465 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41772905827 -R manaflow-ai/cmux -n gallery-advisory-34584-364daf420b4dc4310a1fbac839a2b9d0c4b34c83 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/standard Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% own App.tsx
agent-pane.composer/font-size-chat-14 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-chat-14 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-chat-14 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-chat-14 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-tab-14 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-tab-14 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-chat-21 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-chat-21 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-chat-21 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-chat-21 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-tab-21 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-tab-21 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-chat-28 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-chat-28 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-chat-28 Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer/font-size-new-chat-28 Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/closed Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/closed Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/folder-menu Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/folder-menu Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/folder-menu-hover Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/folder-menu-hover Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/folder-menu-keyboard Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/folder-menu-keyboard Apple System Colors unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/menu-grid-legacy Apple System Colors Light unchanged 0% own ComposerContext.tsx
agent-pane.composer-context/menu-grid-legacy Apple System Colors unchanged 0% own ComposerContext.tsx

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

Passes: CI passes on 364daf420b.

CI passes on 364daf420b (run 41772906132 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.

web and size checks: green

Shipped in:

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

Copy link
Copy Markdown
Collaborator Author

Review (subagent opus-5.5 medium): SHIP at 61a536c

Visual verdict: no images; Leo tries the build

Checked: the three source hunks and their surroundings. sandbox.mode re-renders through the pane's useSyncExternalStore. The hiding covers FolderPopover, LocationPicker's +N and the New Tab composer. "Run on This Mac" switches back to persistent and re-sends the kept draft. The four new tests drive the three bugs.

Follow-ups:

  • [follow-up] Guard the pickCloudMachine clear with draft.machine !== id, as pickComputer does. That path can't hold a draft for its own machine today.
  • [follow-up] Optional hint that hidden folders come back on This Mac.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent opus-5.5 medium, carried): SHIP at 364daf4

Visual verdict: no images; Leo tries the build

This head only merges feat-cmux-next into 61a536c, which got SHIP above. The PR's diff against base is byte-identical, hunk headers aside. The merge picks up #34577, which fixes the base red in test/transcript-spacing-kinds.test.ts (ReferenceError: after is not defined). That red failed webview shard 2 at the old head, and it failed in that shard's base phase too. 123 tests pass at this head across composer-extra-folders, extraFolders, environment-picker and environment-picker-cloud-machines.

Follow-ups: #34783.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 364daf42 Deployed Nov 4, 2026 by teamleaderleo via cmux-tui tree preflight #109455
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