This repository was archived by the owner on Jul 10, 2025. It is now read-only.
Fix Bluetooth connection initialization #135
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our previous BLE transport polled the device every 1s, which was changed to an event driven approach in the recent refactoring. The event driven approach did however not work as expected, since the first read needs to be triggered manually by the client.
As a result of this, meshtastic/web is still dependent on old meshtastic/js package instead of using the new, refactored package meshtastic/transport-web-bluetooth.
This PR adds a _isFirstWrite flag to trigger a one‐time “first read” after sending the initial wantConfigId packet. This is a mirror of the iOS logic which issues a one‐off read immediately after sending its “wantConfigId” request.
Subsequent reads are triggered as they should by the event.
Testing have been done on a nRF based device on firmware 2.6.4 together with modified web client which uses the new package.