Repository navigation
test(ios): script the authenticated host status in pairing tests - #14464
Conversation
Pairing sends `workspace.list` and then an authenticated `mobile.host.status` that binds the route to the Mac process before anything is persisted (#7908, #8299). Twenty cmuxFeatureTests still scripted only the workspace list. Their scripted transports spent the list frame on the status request, or their routers answered it with "Unexpected method", so every pairing ended in `connectionClosed` and the assertions ran against the preview workspaces. `remoteCreateTerminalDoesNotStealSelectionAfterWorkspaceSwitch` never reached `terminal.create`, so its `waitForTerminalCreateRequest()` parked forever and the full simulator suite hung until the job was killed (exit 143, run 36114121829). These tests were hidden while the iOS test target did not compile (fixed in #14421). The passing neighbours, such as `uuidAttachTicketListsAllWorkspacesFirstWithAttachToken`, already script the status frame; this brings the rest in line. The version warning test now checks that the warning sends nothing new instead of pinning the total request count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 1 minute. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
All contributors have signed the CLA ✍️ ✅ |
|
Merge receipt for |
Since #7908 and #8299 (@azooz2003-bit), pairing sends
workspace.listand then an authenticatedmobile.host.statusthat binds the route to the Mac before anything is persisted. Twenty cmuxFeatureTests still scripted only the workspace list. Their scripted transports spent the list frame on the status request, or their routers replied "Unexpected method". Every pairing ended inconnectionClosed, and the assertions ran against the preview workspaces.remoteCreateTerminalDoesNotStealSelectionAfterWorkspaceSwitchnever reachedterminal.create, sowaitForTerminalCreateRequest()parked forever. That hung the whole simulator suite until the job was killed 14 minutes later (exit 143), which also hid every package test bundle that runs after cmuxFeatureTests.Changes:
rpcHostStatusFrameafter the workspace list, as the passing neighbours already do (for exampleuuidAttachTicketListsAllWorkspacesFirstWithAttachToken). Each frame reports the ticket's own Mac, because pairing rejects a mismatched identity.mobile.host.status. The superseded-URL router reports whichever Mac's list it just served.Part of getting the full iOS simulator suite (
test-ios.yml,ios-simulator (iphone)) green on main. It failed the same way on Blacksmith (run 36114121829) and the owned mini cmux10s (run 36114119494). These tests were hidden while the iOS test target did not compile (fixed in #14421), and PR CI runs only selected tests.Verified in the combined full-suite run 36119701161 (all fix branches stacked): every test this PR touches passes.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes the scripted pairings in cmuxFeatureTests so they respond to the authenticated
mobile.host.statusrequest that pairing now sends afterworkspace.list(since #7908 and #8299). The tests previously scripted only the workspace list, so every pairing ended inconnectionClosedand one test never reachedterminal.create, hanging the simulator suite until the job was killed.rpcHostStatusFrameafter the workspace list, and the request-aware routers answermobile.host.statusas well.Written for commit f9dea5d. Summary will update on new commits.