Test build on top of the current stable (beta_27). Clock hardening for room servers, the BLE "repeats heard" fix, much deeper chat history on SD, and a set of navigation and delete fixes.
Flash from the web flasher at https://wadamesh.com (Standalone install → Version → beta_29), or grab a -merged.bin below.
Fixed — room logins silently locked out by the device clock (#89 follow-up)
Room servers quietly reject anything older than the newest timestamp they have seen from you, so a device clock that stepped backwards (a reboot without GPS or phone around, or a sync correcting a fast clock) black-holed every Join with zero feedback — and beta_28's keep-alives made that easier to hit. The device now remembers the newest timestamp it has used across reboots so it can never fall behind itself, a Join that gets no reply shows a clear error after 20 s (including what the device thinks the time is), and the device warns when its clock and the room server's clock disagree. Thanks to EricMW61 for the follow-up testing.
Fixed — "Repeats heard" over Bluetooth (#94)
The app counts repeats from the per-packet RX log, which beta_23 stopped sending over BLE to fix congestion (#46/#54). The firmware now recognises packets that are repeats of your own messages and lets exactly those through to BLE — the counter works again and the congestion fix stays. Thanks to daryldakine for the clean bisect and the analyzer capture.
Fixed — app-sent channel messages now show on the device
Messages sent from the phone app through the device now appear on the device itself as your own outgoing message in that channel. This worked for DMs but never for channels.
Fixed — deleting chats sticks
Deleted messages could survive in storage and resurrect the chat later, and removing a channel could miss the underlying channel entry so the thread came right back. Both closed.
New — deep chat history on SD (up to 5000 messages)
Devices with an SD card now keep up to 5000 messages instead of 500, with date separators (Today / Yesterday / day names) between messages from different days.
Downgrade note for testers: builds older than beta_29 will not read the larger history file — downgrading starts with an empty history.
Also
- Chat/channel rows use the same compact style as Contacts — more conversations per screen.
- The chat/channel settings sheet fits on one screen (same grid as the contact menu) instead of scrolling.
- Compact chat mode alternates two background tones for readability.
- Keyboard nav: settings pages no longer jump down on open, and the red update dot can't steal the selection from the About button.
- The update check waits for Wi-Fi to actually have an address and retries within a minute instead of showing "couldn't reach the update server" for six hours.
- Tanmatsu: the About page shows the real firmware version.
This is a test/beta build (prerelease); stable stays beta_27. On-device, enable Settings → About → "Get test builds (beta)" to follow the test channel over Wi-Fi.