Payfrit Beacon iOS
The iOS provisioner had no per-write timeout — if a BLE write callback never came back, the operation hung until the 30s global timeout, by which point the connection was likely dead. Android uses a 5-second per-write timeout with withTimeoutOrNull(5000L). Changes: - Add 5-second per-write timeout with retry (1 retry per command) - On timeout: retry once, skip if non-fatal (steps 1-6), or fail - SaveConfig timeout treated as success (beacon reboots = no callback) - Reduce inter-write delay from 200ms to 150ms (Android uses 100ms) - Log negotiated MTU on connect to diagnose packet size issues - Cancel write timeout on cleanup/succeed/fail to prevent stale timers Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| _backup | ||
| PayfritBeacon | ||
| PayfritBeacon.xcodeproj | ||
| .gitignore | ||
| ExportOptions.plist | ||
| ExportOptionsLocal.plist | ||
| Podfile | ||
| Podfile.lock | ||
| QA_WALKTHROUGH.md | ||