Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CoreDevice can label a forwarded USB connection as
localNetwork, even while the phone is exposed as a USB device through usbmuxd. Argent rejects that connection before starting the runner. This accepts forwarded USB while preserving the existing USB-only transport boundary.list-devices. AcceptlocalNetworkonly when the exact UDID has a liveConnectionType: USBentry in usbmuxd. Keep the wired and older-toolchain paths, unknown-transport rejection, connecting-tunnel check and readiness cache.Networkentry alone stays unavailable, even when its UDID matches. Remove the fallback from USB to a network entry.Wi-Fi support was deliberately removed in the original transport change: its CoreDevice tunnel route was unverified on hardware, could engage silently after a cable disconnect, and added slow device probes. This PR preserves that decision; forwarding a USB transport does not restore the removed direct network route.
Test Plan
npm run build,npm run typecheck:tests -w @argent/tool-server, andnpm run knipagainst the unbuilt checkout: pass.npm test -w @argent/tool-server: 513 files passed; 7,838 tests passed and one skipped. Protocol tests use a local fake daemon; readiness and listing tests mock USB availability. Coverage includes forwarded USB, rejection of a matching Wi-Fi-only entry before a runner connection, missing/unknown connection types, exact UDID matching, stale pairing, unknown CoreDevice transport, connecting tunnels and detach after the readiness cache expires.node scripts/grade-skills.mjs, andgit diff --check: pass.localNetwork/disconnectedentry when it was absent from usbmuxd. The connection was left untouched.connected; detaching the forwarder changed it topairedand readiness refused it. The connection was restored, andlaunch-appsuccessfully launched Settings. This preceded the stricter USB-entry filter; that filter has not had a fresh live connected-device check.