Payfrit Beacon iOS
Find a file
Schwifty 91669515bd fix: add per-write timeouts and reduce inter-write delay to match Android
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>
2026-03-22 02:14:32 +00:00
_backup Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
PayfritBeacon fix: add per-write timeouts and reduce inter-write delay to match Android 2026-03-22 02:14:32 +00:00
PayfritBeacon.xcodeproj Add UUIDFormatting.swift to Xcode project 2026-03-21 15:23:43 -07:00
.gitignore Initial commit: Payfrit Beacon iOS native app 2026-02-01 23:39:29 -08:00
ExportOptions.plist Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
ExportOptionsLocal.plist Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
Podfile Rewrite app: simplified architecture, CoreLocation beacon scanning, UI fixes 2026-02-04 22:07:39 -08:00
Podfile.lock Rewrite app: simplified architecture, CoreLocation beacon scanning, UI fixes 2026-02-04 22:07:39 -08:00
QA_WALKTHROUGH.md Initial commit: Payfrit Beacon iOS native app 2026-02-01 23:39:29 -08:00