Highlights
🐛 A dropped device is reported as a dropped device
When a device dropped the connection mid-command, the async service connection let the raw socket error through. The CLI printed a traceback instead of Connection was terminated abruptly, and --reconnect never retried. During a backup the same error could surface as an unrelated AssertionError or KeyError, followed by a second traceback from the closing disconnect message.
A reset, broken pipe, timeout or unreachable link is now reported as ConnectionTerminatedError on every async send and receive, so the failure is readable and --reconnect can act on it. tunneld logs a device that drops during tunnel setup at debug level instead of with a traceback.
pymobiledevice3 --reconnect backup2 backup --full ./backupThanks to @Cassian433.
🐛 Remote pairing with Apple Vision Pro
Apple Vision Pro shows a PIN on the headset when pairing, like Apple TV, but remote pair only asked for one on tvOS and sent the fixed iOS PIN instead, so the device rejected the pairing. It now prompts for the PIN on visionOS as well, and a successful remote pair ends with Pairing completed rather than a traceback.
pymobiledevice3 remote pairThanks to @illixion, who verified it on a real headset.
What's Changed
- 0172b0e docs: Mention Apple Vision Pro in the remote pairing step (#2009) (@doronz88)
- fb39a35 cli/remote: Report success when
remote paircompletes (#2009) (@illixion) - 5a82cf4 tunneld: Log a device that drops during tunnel setup at debug level (#2008) (@doronz88)
- b521bb3 service_connection: Report any socket error as ConnectionTerminatedError (#2008) (@doronz88)
- 1955bcf mobilebackup2: Keep the error that ended the session on device_link exit (#2008) (@Cassian433)
- d489cdb service_connection: Report a reset or broken pipe as ConnectionTerminatedError (#2008) (@Cassian433)
- 1dc19de tunnel_service: Prompt for the pairing PIN on visionOS (#2009) (@illixion)
- 7dc052a docs: Note that PyPI is the only official distribution channel (#2007) (@doronz88)
New Contributors
Full Changelog: v11.26.0...v11.26.1