You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auto-refresh contact GPS — keeps the map markers / convo-list badges of contacts who don't broadcast
their own location fresh, by quietly re-requesting telemetry GPS before the cached fix goes stale. Throttled
(one request per scan, respects the EU duty cycle, yields to manual requests) and self-limiting (stops asking
a contact that doesn't answer). New setting messaging.auto_telemetry, default on, can be disabled.
Per-conversation quick replies — any contact, channel, or room can carry its own canned list (max 8)
that overrides the global quick-reply list for that chat only; leave it empty to fall back to the global
list. Editable per card in the config tool. Turns a conversation into a command menu — e.g. a Home Assistant
/ automation bridge ("Open gate", "Lights on", "Status?").
Last-known location persists across reboots — the most recent GPS fix is saved to SD
(/mclite/last_location.json, throttled) and restored on boot, so the map opens to your last position
without waiting for a fresh fix (@jason-s13r, #10).
Advertise from the companion app — the MeshCore phone/desktop app's Advertise button now works while
connected (BLE/WiFi/USB); previously it was rejected as an unsupported command. Honours the app's flood vs
local (zero-hop) option. The on-device advert button and the automatic periodic advert are unchanged.
Changed
The device-info / admin screen is now fully localized — every row label routes through the translation
table (de/fr/it) (@jason-s13r, #9).
Conversation history now loads only the most recent max_history_per_chat messages per chat at boot
(previously the whole file was loaded into RAM). Bounds memory if a history file is larger than the cap —
e.g. after lowering the setting. No visible change; the runtime cap was already in place.
Fixed
Telemetry retry is no longer cancelled by the contact-info pop-up's own timeout when the mesh's outbound
queue is busy (the two timers now stay in lockstep) — the retry fires under congestion as intended.
Closing the contact-info pop-up now cancels its in-flight telemetry retry, so no stray flood request goes
out for a pop-up you already closed.
Muting a chat is now absolute: it silences notifications even for a contact flagged always_sound
(always_sound still overrides global mute, unchanged).
Messages that exceed the 160-byte limit (e.g. emoji or accented/non-Latin text — which can be ≤160 characters but more bytes) are now refused with a "Message too long" toast that keeps your text, instead
of silently failing to send while still drawing a (failed) bubble.
A timed-out telemetry request now releases the radio's single telemetry slot when the exchange ends
(previously the slot stayed held after a no-response request). Without this, auto-refresh contact GPS
would stall for the rest of the session after the first contact that didn't answer, and slow/multi-hop
contacts could be backed off too eagerly; both are resolved.
Auto-refresh no longer lets a single un-sendable contact block the rest of the round-robin, and max_history_per_chat: 0 now consistently means "unlimited" on both load and prune (previously prune at 0
would wipe the conversation).