payfrit-beacon-ios/PayfritBeacon
Schwifty 54fa973d34 fix: prevent re-entrant disconnect callbacks and handle all disconnect states
- Add isTerminating flag to guard succeed()/fail() against double invocation
  from racing didWriteValueFor + didDisconnectPeripheral callbacks
- Only call cancelPeripheralConnection when peripheral.state == .connected
  (avoids triggering spurious didDisconnectPeripheral on already-disconnected peripheral)
- Handle disconnect during device info read (post-auth) with specific error message
- Include state info in unexpected disconnect errors for easier debugging
- Early-return structure in disconnect handler for clearer control flow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 23:01:30 +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: prevent re-entrant disconnect callbacks and handle all disconnect states 2026-03-21 23:01:30 +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