Environment: Chromium on Linux with the Web Bluetooth flag enabled, Meshtastic T3S3 on firmware 2.7.26, Realtek Bluetooth USB dongle. Web client at client.meshtastic.org, bundle index-DoHPLyNc.js, build tag V0.0.0-#011EDE9.
The problem
Saving a Bluetooth connection in the web client works, but after a page reload clicking the saved connection fails every time with this toast:
TypeError: Failed to execute 'getDevices' on 'Bluetooth': Illegal invocation
Retrying fails identically. The only way out is to delete the connection and add it again, which works until the next reload.
Repro
Step one. Connect the node via Add Connection, so it appears in the saved list.
Step two. Reload the page.
Step three. Click the saved connection.
Expected: the client connects. Actual: the toast above, every time, until the connection is deleted and re-added.
Root cause
In the shipped bundle the Web Bluetooth method is extracted and then called without its receiver:
const V = navigator.bluetooth.getDevices;
await V();
Chromium requires the call to go through the Bluetooth object, so calling the bare method throws Illegal invocation before any adapter interaction. I verified this on the live page: the extracted form throws, while navigator.bluetooth.getDevices() returns fine.
Already fixed upstream, live site is stale
The fix already exists in main. The connection code was rewritten (merged 2026-06-15) to use the bound call, and the v2.7.2 release artifact (index-BTHwHyj7.js) does not contain the unbound pattern. But client.meshtastic.org still serves the 2026-06-15-era build that has the bug, and the nightly deploy CI has apparently been failing for weeks, so the live site never caught up.
Impact
Anyone on desktop Chromium with a saved connection is deterministically broken after a reload until they delete and re-add the device. Phone apps are not affected, this is web-client-only. The common delete-and-re-pair advice masks the bug, which is probably why this has not been reported.
Ask
First. Deploy main (or the v2.7.2 build) to client.meshtastic.org: that alone fixes it.
Second. Restore the failing nightly deploy so the live site cannot go stale for weeks again.
Happy to help verify the redeploy on the live site afterward.
Environment: Chromium on Linux with the Web Bluetooth flag enabled, Meshtastic T3S3 on firmware 2.7.26, Realtek Bluetooth USB dongle. Web client at client.meshtastic.org, bundle index-DoHPLyNc.js, build tag V0.0.0-#011EDE9.
The problem
Saving a Bluetooth connection in the web client works, but after a page reload clicking the saved connection fails every time with this toast:
TypeError: Failed to execute 'getDevices' on 'Bluetooth': Illegal invocation
Retrying fails identically. The only way out is to delete the connection and add it again, which works until the next reload.
Repro
Step one. Connect the node via Add Connection, so it appears in the saved list.
Step two. Reload the page.
Step three. Click the saved connection.
Expected: the client connects. Actual: the toast above, every time, until the connection is deleted and re-added.
Root cause
In the shipped bundle the Web Bluetooth method is extracted and then called without its receiver:
const V = navigator.bluetooth.getDevices;
await V();
Chromium requires the call to go through the Bluetooth object, so calling the bare method throws Illegal invocation before any adapter interaction. I verified this on the live page: the extracted form throws, while navigator.bluetooth.getDevices() returns fine.
Already fixed upstream, live site is stale
The fix already exists in main. The connection code was rewritten (merged 2026-06-15) to use the bound call, and the v2.7.2 release artifact (index-BTHwHyj7.js) does not contain the unbound pattern. But client.meshtastic.org still serves the 2026-06-15-era build that has the bug, and the nightly deploy CI has apparently been failing for weeks, so the live site never caught up.
Impact
Anyone on desktop Chromium with a saved connection is deterministically broken after a reload until they delete and re-add the device. Phone apps are not affected, this is web-client-only. The common delete-and-re-pair advice masks the bug, which is probably why this has not been reported.
Ask
First. Deploy main (or the v2.7.2 build) to client.meshtastic.org: that alone fixes it.
Second. Restore the failing nightly deploy so the live site cannot go stale for weeks again.
Happy to help verify the redeploy on the live site afterward.