payfrit-beacon-ios/PayfritBeacon
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
..
Assets.xcassets Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
en.lproj Rewrite app: simplified architecture, CoreLocation beacon scanning, UI fixes 2026-02-04 22:07:39 -08:00
Api.swift feat: multi-password auth, structured error codes, missing API endpoints 2026-03-21 10:31:39 +00:00
BeaconBanList.swift refactor: consolidate UUID formatting into shared String extension 2026-03-21 10:02:58 +00:00
BeaconProvisioner.swift fix: add per-write timeouts and reduce inter-write delay to match Android 2026-03-22 02:14:32 +00:00
BeaconScanner.swift refactor: consolidate UUID formatting into shared String extension 2026-03-21 10:02:58 +00:00
BeaconShardPool.swift Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
BLEBeaconScanner.swift Migrate API endpoints from CFML to PHP 2026-03-14 17:17:02 -07:00
BusinessListView.swift Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
DebugLog.swift Fix DX-Smart provisioning protocol and add debug logging 2026-03-04 20:01:12 -08:00
DevBanner.swift Rewrite app: simplified architecture, CoreLocation beacon scanning, UI fixes 2026-02-04 22:07:39 -08:00
Info.plist Migrate API endpoints from CFML to PHP 2026-03-14 17:17:02 -07:00
LoginView.swift Rewrite app: simplified architecture, CoreLocation beacon scanning, UI fixes 2026-02-04 22:07:39 -08:00
payfrit-favicon-light-outlines.svg Rewrite app: simplified architecture, CoreLocation beacon scanning, UI fixes 2026-02-04 22:07:39 -08:00
PayfritBeaconApp.swift Fix DX-Smart provisioning protocol and add debug logging 2026-03-04 20:01:12 -08:00
RootView.swift Add ios-marketing idiom, iPad orientations, launch screen 2026-02-10 19:38:11 -08:00
ScanView.swift feat: multi-password auth, structured error codes, missing API endpoints 2026-03-21 10:31:39 +00:00
ServicePointListView.swift refactor: consolidate UUID formatting into shared String extension 2026-03-21 10:02:58 +00:00
UUIDFormatting.swift refactor: consolidate UUID formatting into shared String extension 2026-03-21 10:02:58 +00:00