v0.1.7 — Room Server Client
Highlights
Room server client — join community message boards run by MeshCore room servers. Posts appear in the conversation list with an R icon (purple), ordered alongside DMs and channels by last activity. Up to 8 rooms.
- Auto-login on boot with exponential backoff (1 → 2 → 4 → cap 30 min).
- Disconnect recovery — re-login on chat-open (rate-limited 30s) and after 10 minutes of silence while a room chat is foreground. Both wake the server's 3-strike push-freeze that trips after ~36s of radio dropout, so passive readers don't miss posts after brief out-of-range moments.
- Per-room flags mirroring channels:
read_only,allow_sos(default true),send_sos(default false),scopeoverride. - Sender resolution — 4-byte
sender_prefixlooked up against ContactStore: alias if known, else 8-hex-char fallback. sync_sincepersisted per-room across reboots; only newer posts replay on next login.- AdminScreen Rooms section under Channels: name, online/offline indicator, last-sync timestamp.
- Config tool Rooms card with all four toggles and the new
info-iconcollapsible-hint pattern.
Other changes
MAX_CONTACTS=32 → 40(32 chat + 8 room) with cap warnings on overflow.MAX_CONVERSATIONS=48 → 56.- Translations:
sec_roomsadded in de/fr/it. data[5]keep-alive byte runtime watch — warns if a future MeshCore server re-enables the legacy interval.
Compatibility
- Backward-compatible config: missing
room_serversblock parses as empty list. Old firmware ignores the field. - DM and channel history files stay byte-identical (no
syncSincewritten when zero). - Telemetry, SOS, key/PIN lock, offgrid mode all unaffected.
Install
- Web flasher: laserir.github.io/MCLite/tools/web-flasher — pick v0.1.7
- Manual:
esptool.py write_flash 0x0 mclite-v0.1.7.bin
🤖 Generated with Claude Code