Repository navigation
Remote chats: model, mode and option picks reach the daemon in order - #30991
Conversation
…der they were made RemoteAcpmuxWire ran each pick in its own Task, so three picks sent together reached the owning machine's daemon in any order: RemoteAcpmuxSettingsTests.modelModeAndOptionPicksGoToThisChat failed 2 of 6 tip runs with "config effort=high" before "mode acceptEdits". Order matters to a person too: a model switch can reset the options picked after it. Each pick now waits for the one sent before it; other page requests still run at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-9124da39adbff74677d9
|
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)
web and size checks: green Shipped in:
|
There was a problem hiding this comment.
No issues found across 1 file
You’re at about 98% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.
|
Found 1 test failure on Blacksmith runners: Failure
|
|
Review (next-review patch-id; carried): SHIP at 01a6c29 The independent SHIP at f3fafac carries to this head: the PR's own change ( |
A newer verdict blocks 369a5ac (no independent SHIP at the head).
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
What failed
RemoteAcpmuxSettingsTests.modelModeAndOptionPicksGoToThisChatfailed 2 of 6 tip Swift suite runs (41282022128, 41303556638):Cause
RemoteAcpmuxWire.runstarts a Task for each page request, so three picks sent together reach the owning machine's daemon in any order. This has been there since the picks were added (#30001). The order matters to a person, not only to the test: a model switch can reset the options picked after it.Fix
Model, mode and option picks run one after another: each pick's call waits for the one sent before it (
State.lastPick). Every other page request still runs at once, as before.Risk
Small, one component. A pick now waits for the pick before it to answer. A daemon that never answered the earlier pick would also leave the later one unanswered, but the later one would have gone to that same stuck daemon anyway.
Observed / Not run
Read the code and the run logs. I did not run the suite; this PR's own
cmux-next swift testrunsRemoteAcpmuxSettingsTests. A fleet compile-check is queued.Changelog
Fixed: a remote chat's model, mode and option picks reach that machine in the order you made them.
Agent session: agent session
🤖 Generated with Claude Code
Summary by cubic
Fixes remote chat model, mode, and option picks arriving at the owning machine's daemon out of order, which failed
modelModeAndOptionPicksGoToThisChatand could reset options picked after a model switch. Each pick now waits for the pick sent before it; other page requests still run concurrently.Written for commit 1e49b0c. Summary will update on new commits.