Test build. Stable stays beta_65.
Flash it at flasher.wadamesh.com (Beta toggle), or turn on "Get test builds (beta)" on the device and reboot.
A crash at startup
A device could crash while starting up, before it finished booting, which on an unlucky unit means it never comes up at all. Found by decoding a crash dump from a Heltec V4-R8 on beta_77.
The cause was a race in the Arduino Wi-Fi stack: WiFi.onEvent() appends to a list that the core walks from its own task, with no lock on either side. We were registering handlers after the radio had started, one of them after WiFi.begin(), so a disconnect arriving in that window could be dispatched while the list was being reallocated underneath, and the event task then called through a freed pointer. All handlers now register before the radio starts, which closes the window rather than narrowing it. A failed first association is ordinary, which is why this could happen at all.
The location privacy setting was on the wrong page
beta_77 added the option to advertise a position near you rather than your exact one, and put it in a settings section most devices do not show. Two people went looking and correctly concluded it was not there. It was not.
It is now in Settings, GPS, at the bottom, called Location privacy rather than "Position in adverts", and it shows four buttons (Exact, 100 m, 250 m, 1 km) so every choice and the current one are visible without tapping anything. Thanks to @Buko84 and gadgeteerza for pushing on it rather than assuming they had missed it.
Lock screen notifications
A message arriving on a dark screen now says who sent it and how far away they are, not just which conversation it was in. A channel post shows the channel, the sender and the hop count; a direct message shows the contact, and "direct" when they are one hop away. A count alone tells you nothing you can act on.
Messages in a muted channel no longer light the screen. Muting silenced the chime but still woke the display and printed the message in large type, which was the louder half of the notification rather than the quieter one. Mentions keep their own mute bit, so a channel muted for chatter still surfaces an @-mention.
ThinkNode M9
All by @oumike, from reports by @Buko84:
- special characters can be selected (#429, #410)
- contact search navigation (#440, #438)
- the contacts menu delay (#444, #433)
- the composer is focused when a chat opens (#442, #436)
- the battery saver shows in the status icons (#441, #437)
The colour picker in Display settings no longer turns the swatch you are on white, which hid the colour you were choosing (#431). Same defect as the lock-screen picker, in a second place.
The notification text on a dark screen is smaller (#446), so the message has room. It was sized to be legible from across a room, which crowds a 240x320 panel.
Also
A shortcut to the special-character picker on the T-Lora Pager (#445, #435), and several Attaky usability fixes (#439, #423). Both by @oumike.
For testers
If you use lock screen notifications, the two things worth confirming are that a muted channel stays dark and that an @-mention in that same channel still comes through.
Two things remain unverified on hardware, both off by default and unchanged: DS3231 clock module support, written from the datasheet with nobody having wired one up, and the louder chime, whose pitch has not been measured on an M9.
Still open and not fixed here: a reboot when pressing d-pad down past the bottom of a chat on the M9 (#428) which needs a crash dump to place, a screen that will not stay dark after a manual lock (#333), and the web flasher hanging at "wrapping up" on the T-Display P4 (#342).