fix: response gating between BLE writes (matches Android) #15
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "schwifty/response-gating-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root Cause
iOS was firing the next GATT command immediately after the BLE write ACK, without waiting for the beacon's FFE1 notification response. Android explicitly waits up to 1s for each response via
responseChannel.receive(1000ms)before sending the next command.This meant iOS was hammering the beacon's MCU faster than it could process commands, causing supervision timeout disconnects and the "DX Smart command characteristic" error.
What Changed
4E 4F 00rejection pattern from beacon (matches Android)Android Reference
Test Plan
🤖 Generated with Claude Code