When BLE MAC address rotation occurs (same identity, different address), the BLEPeerInterface.peer_address field was not being updated. This caused sends to fail with "Cannot send - not connected" because Python was using the stale address that no longer matched Kotlin's connectedPeers map. This fix updates peer_address in all code paths where MAC rotation can occur: - _mtu_negotiated_callback: when interface already exists for identity - _handle_identity_handshake: when interface already exists for identity - _address_changed_callback: when address migration is triggered - _spawn_peer_interface: when reusing existing interface for new address Fixes bidirectional BLE communication failure where peripheral could not send data to central after MAC rotation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| BLEAgent.py | ||
| BLEFragmentation.py | ||
| BLEGATTServer.py | ||
| BLEInterface.py | ||
| bluetooth_driver.py | ||
| linux_bluetooth_driver.py | ||