Repository navigation
Cloud no-folder starts use fresh chat folders - #31186
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)
Shipped in:
|
|
Found 2 test failures on Blacksmith runners: Failures
|
|
Review (subagent claude-opus-5-5 medium): SHIP at ecafc24 A Cloud start with no folder (ownerLink set) no longer falls back to the workspace's earlier remote folder, so the daemon makes a fresh ~/chats/ instead of reopening the previous chat. Restored tabs and session links exit earlier and are unaffected, folder starts still win, non-Cloud hosts keep the fallback, and idempotency is unchanged. The test fails on base. CmuxNextApp +1/-1. Follow-ups:
|
… starts in a fresh ~/chats folder there (#33096) aFirstSendWithNoFolderStartsInTheWorkspacesFolderOnTheMachine failed at CloudAgentChatTests.swift:92/94: the first send came back with a session, not agent_session.untrusted_folder. #31186 (796b77a) changed the product on purpose (Leo: a no-project Cloud chat starts at once in its own fresh chat): on a Cloud owner link the app sends no folder (AgentTabs+RemoteStart.swift:68), and the machine's daemon makes ~/chats/<chat> there (acpmux remote_guard cloud_chat_folder), which needs no trust question. #31186 updated the unit test (AgentTabRemoteStartTests.aModernCloudDaemonReceivesNoFolderForRustToChoose) but not this live two-daemon test, which still asked for the old workspace-folder start. The test now states the new contract end to end, with real daemons: the first send starts the chat with no error; the session runs in the machine's acpmux; its folder, as 'cmux acp --json ls' lists it, is under the machine's HOME/chats/, exists, and is not the workspace's folder; the machine's store binds the session to the tab. The explicit-folder trust path stays covered by aNewChatInACloudWorkspaceRunsItsAgentOnTheMachine. Culprit: 796b77a (#31186). Red: fleet job 2bf90b6c18ca136f3fb6c15d at feat 11dfe91.
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
A Cloud start with no folder could pass the machine's existing workspace folder into remote start, reopening a prior chat. This keeps the no-folder path folderless for Cloud owner links so the daemon allocates the fresh per-chat
~/chats/<chat-id>directory, while non-Cloud peers retain their workspace fallback.Leo asked that “I want us to be able to do this too”: a no-project Cloud chat should start immediately in its own fresh chat.
Tests:
AgentTabRemoteStartTests.aModernCloudDaemonReceivesNoFolderForRustToChoosecovers a stale workspace folder and verifies nocwdis sent.python3 scripts/cmux-next/prepush-gate.pypasses.Agent session: agent session
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes Cloud starts with no folder so they use a fresh chat directory instead of reopening a prior chat.
Previously, a Cloud start with no folder could pass the machine's existing workspace folder into the remote start. Now Cloud owner links stay folderless so the daemon allocates a fresh
~/chats/<chat-id>directory, while non-Cloud peers retain their workspace fallback.Written for commit ecafc24. Summary will update on new commits.