Highlights
🐛 One-shot touches land on older iPhones
touch_session waited a fixed 0.3 s after starting the media stream that authenticates the HID surfaces. An iPhone 11 needs longer than that, so a one-shot universal-hid-service tap lost its touch every time. The pause is now 0.5 s. (#2036)
pymobiledevice3 developer core-device universal-hid-service tap 55166 29878🐛 sysmontap no longer floods the device
Sysmontap asked the device to push updates every 1 ms whatever the sampling interval was: ~2300 messages/s, with DTServiceHub at ~20% of a core for the whole session. The output rate now follows interval_ms. You get the same samples at ~3 messages/s, and DTServiceHub drops to ~2.5%. (#2037)
⚡ The userspace tunnel stops waking up 1000 times a second
pmd-pytcp's delayed-ACK timer re-armed itself every time it fired, so every userspace-tunnel TCP connection woke the event loop every 1 ms for its whole life, even when idle. On a long-running low-rate stream such as sysmon, that cost ~4x the host CPU the stream needs. pymobiledevice3 now requires pmd-pytcp 0.3.8, which makes the timer one-shot; the ACKs on the wire are unchanged. (#2038)
What's Changed
- bb8fdb3 build: Require pmd-pytcp 0.3.8 (#2041) (@doronz88)
- ba2a27c core_device: Wait longer for HID surfaces to authenticate in touch_session (#2039) (@doronz88)
- 2171e10 sysmontap: Emit at the sampling interval instead of every 1 ms (#2040) (@doronz88)
Full Changelog: v11.33.0...v11.33.1