payfrit-beacon-ios/PayfritBeacon/Provisioners
Schwifty f082eeadad fix: skip ACK wait on SaveConfig — beacon reboots, never ACKs
SaveConfig (0x60) causes the beacon MCU to reboot and save to flash.
It never sends an ACK, so writeToCharAndWaitACK would wait for the
5s timeout, during which the beacon disconnects. The disconnect
handler fires while writesCompleted is still false, causing a false
"Unexpected disconnect: beacon timed out" error.

Fix: fire-and-forget the SaveConfig write and return immediately.
The BLE-level write (.withResponse) confirms delivery. writeConfig()
returns before the disconnect callback runs, so writesCompleted gets
set to true in time.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 03:44:36 +00:00
..
DXSmartProvisioner.swift fix: skip ACK wait on SaveConfig — beacon reboots, never ACKs 2026-03-23 03:44:36 +00:00
ProvisionerProtocol.swift refactor: strip all non-CP-28 beacon code 2026-03-23 03:04:07 +00:00
ProvisionError.swift feat: complete rebuild of PayfritBeacon iOS from scratch 2026-03-22 17:13:36 +00:00