Repository navigation
composer: make a started chat's environment chip actionable - #25644
Conversation
|
Bead |
|
Found 1 test failure on Blacksmith runners: Failure
|
|
Review (codex gpt-6-astra xhigh, next-review): BLOCK at 28d5763
|
|
Owned by an agent session · session |
…ve or folder Composer mounted ComposerContext only before the first send, so the started-chat picker this PR adds was never reached. A started chat now keeps the strip when the host offers a move or Choose folder… for a new chat, and its picker lists only where it runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-4ba8980ae4e8eecb82d6
28d5763 to
57b3ae4
Compare
|
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)
Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: web / Web status; NEW: green on the base d43a109; do not merge until green; see lane-rules Tour of Gallery before/after for
States
Pick other states with a |
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. |
|
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo said: “Why is it a highlight? Why is it just text that you can highlight? ... If you want it to be that, we can let it have additional options. Then make it have additional options, right? ... Right now it's just useless. It's just dumb.”
On machines, Leo: "Picking one moves the chat".
A started chat's machine chip is now the searchable environment picker whenever the host offers that chat a move. The moves are the same ones the tab's right-click menu lists (
pane.tabStatemoves): Move to Cloud from this Mac, Bring Back Local from a Cloud machine. The picker shows only where the chat runs, the move, and Choose folder…, which starts a new chat in the picked folder through the host's existing folder flow. A started chat with no move keeps today's behaviour: no strip (#20869), or a fixed label.Why it was unreachable, and the fix
Composer.tsxmountedComposerContextonly before a chat's first send (showsLocationRow), so the started-chat picker was never drawn. It now also mounts it, withstarted, for a started chat (isStartedChatinlocationRow.ts) whose queue is empty and whose host offers a move.Choose folder… alone does not bring the strip back. The app offers it to every started local chat, so gating on it would undo #20869's "no strip after the first send" everywhere. It stays an entry inside a movable chat's picker.
A started chat's picker now lists only its own machine; the other machines it showed before could not be picked. Choose folder… appears only where the host can start a new chat from it.
Before / after
Gallery
agent-pane.composer-strip/started-movable: a started chat on this Mac whose tab offers Move to Cloud. Chromium, Linux, the same variant rendered on base and on head.Tests
New tests in
test/composer-location-row-new-chat-only.test.tsxmount throughComposer, notComposerContext:The first two fail with the Composer fix disabled (checked on CI).
Linux CI results at the head:
Review
Codex (gpt-6-astra, xhigh):
Overlap
cmux#25305 ("live states and actions in the shared machine picker") and cmux#25318 are Leo's drafts with no known owner. They touch the same picker files and are likely redundant after #25955 and this PR. This PR leaves them untouched.
Risk
Webview only. A started chat draws the strip only when a move is listed; every other started chat is unchanged.
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.