Highlights
๐ Lockdown reconnect no longer recurses into RecursionError
When a lockdown request hit a dropped connection (or an InvalidConnection / SessionInactive reply), the client reconnected and re-validated the pairing, but the pairing requests themselves could trigger another reconnect. A device that accepts connections yet drops every request (seen on flaky Wi-Fi lockdown links) looped through hundreds of new connections until RecursionError. Failures during the post-reconnect pairing check now propagate instead; a successful reconnect still retries the original request once. Thanks @NikitaMGrimm!
๐งช Run against the Mac's devices from a Linux VM
Contributors on macOS can now exercise the Linux code paths against their USB-attached devices via a Lima VM. The working tree is copied into the VM and the host's usbmuxd is exposed on a loopback TCP port only while the command runs:
misc/linux-vm/run.sh pymobiledevice3 developer dvt ls /
misc/linux-vm/run.sh pytest -m device tests/services/instrumentsWhat's Changed
- dd8b3bd lockdown: Stop a reconnect's pairing check from reconnecting again (#2074) (@NikitaMGrimm)
- 2bd145c misc: Add a script to test on Linux from a Mac (#2073) (@doronz88)
Full Changelog: v11.40.2...v11.40.3