react-native-ble-manager
react-native-ble-manager copied to clipboard
Finish writing messages in the write queue before moving on…
…to the next command.
If you call BleManager.write()
multiple times without await
ing, there was a chance the message fragments could get interleaved and corrupted. This change keeps the current command active while the write queue is not empty, so that new writes don't clobber it.
I also created a test branch to verify this fix, but I had to make a bunch of changes to get it to run as a unit test. I don't know if those changes will break anything else, so I left them out. It's here if you're interested: https://github.com/perfectco/react-native-ble-manager/tree/feat/test