payfrit-beacon-ios/PayfritBeacon
Schwifty aeab67ea64 fix: resume writing from saved position on BLE disconnect instead of restarting
Previously, when the beacon disconnected mid-write, the reconnect handler
cleared the entire command queue and reset writeIndex to 0, causing all 24
commands to be re-sent from scratch on every reconnect. This could confuse
the beacon firmware with duplicate config writes and wasted reconnect cycles.

Changes:
- On disconnect during writing, PRESERVE command queue and write index
- After reconnect + re-auth, resume from the last command instead of rebuilding
- Increase MAX_DISCONNECT_RETRIES from 3 to 5 (resume is lightweight)
- Increase inter-command delay from 150ms to 300ms for firmware breathing room
- Increase global timeout from 45s to 90s to accommodate more retries
- Add resumeWriteAfterDisconnect flag to control post-auth flow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 02:48:42 +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: resume writing from saved position on BLE disconnect instead of restarting 2026-03-22 02:48:42 +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 fix: show live provisioning progress + improve disconnect resilience 2026-03-22 02:38:36 +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