Test-channel build. This one is significant: it changes how the device collects packets from the LoRa radio, and the new path is ON by default so the test channel can prove it before it goes anywhere near stable.
The missed-messages fix, explained
The radio chip holds only one received packet at a time. Until now the firmware collected that packet when the main loop got around to it, and that is the same loop that draws the entire touch interface. If the screen kept the loop busy while two packets arrived back to back, the first packet was silently overwritten. No error, no log entry, just a message your device heard but never showed you. That is the "my device missed a message another device right next to it heard" report, and it explains why it affected this firmware but not stock MeshCore, which has no screen to draw.
From this build a small dedicated background task collects every packet within about a millisecond of it arriving, no matter what the interface is doing. Scrolling the map, rebuilding a big chat, saving contacts: none of it can cost you a packet anymore.
Why default ON, and why there is still a toggle
The receive path is the heart of the device, so this is exactly the kind of change that needs real-world hours across different meshes before it can be called done, and it only gets those hours if testers actually run it. That is why it ships enabled on the test channel. The safety hatch: if you see anything odd with receiving, sending, or the Spectrum analyzer, switch off "Buffered receive (experimental)" in Settings > Radio & Mesh. It applies instantly, no reboot, and puts you back on the old path. Please report what you saw either way, that is what this channel is for.
You can also watch it work: Settings > About now shows LoRa receive counters. "late-lost" counts packets the radio heard but the firmware failed to collect in time. With buffered receive on it should stay at zero. Turn the toggle off on a busy mesh and you may watch it creep up, which is the old bug happening live.
Also fixed
- Messages sent by wadamesh no longer carry stray bytes that stock MeshCore devices and some companion apps showed as garbage characters after the text (issue #13).
- A GPS module reporting a bogus date can no longer drag the device clock back to the year 1902.
Install with "Beta updates" enabled in Settings > About, via Launcher, or flash a bin below (the merged bin at 0x0 for a fresh install, the plain bin for Launcher/OTA). Boards: LilyGo T-Deck, Heltec V4 TFT.