MeshMonitor v4.11.3
This release adds a Dead Drop / Mailbox auto-responder — asynchronous "mesh voicemail" where a node can leave a message for another node that need not be online, retrieved later with inbox commands — contributed by new contributor @TheWISPRer. It also brings MeshCore node favoriting (pin any MeshCore node to the top of the list, stored server-side), FEM LNA Mode LoRa configuration surfaced on both the Device Configuration and Remote Admin panels for amplified hardware, and the MeshCore CLI bundled into the Docker image alongside the Meshtastic CLI. On the fixes side, a PostgreSQL/MySQL crash in the MeshCore neighbor query is resolved by widening the neighbor_info timestamp columns to BIGINT (they overflowed signed int32 with millisecond-epoch values), and a proto3 boolean-elision bug that silently re-enabled uplinkEnabled/downlinkEnabled after a container restart is fixed. Position history now captures and displays SNR for directly-heard (0-hop) nodes, the intermittently-blank MeshCore auto-ack {SNR}/{ROUTE} tokens are corrected, mesh-request endpoints return a meaningful 503 (not a generic 500) when the node is disconnected, and the macOS x64 desktop build no longer ships an arm64 re2.node that crashed on Intel Macs. Upgrades are automatic — three idempotent migrations (094–096) run on boot.
Features
- Dead Drop / Mailbox auto-responder — async "mesh voicemail" (#3538, @TheWISPRer) — a fifth auto-responder type. DM
msg <name> <text>to leave a message; retrieve withinbox,inbox play [name],inbox delete <id>,inbox clear. Per-source, configured entirely through the Auto Responder UI, messages marked played only on delivery-success, expired rows purged by the maintenance sweep. - MeshCore node favoriting — pin to top of list (#3595) — favorite any MeshCore node (Companion, Repeater, Room Server, …); stored server-side only (firmware has no native favorite concept), consistent with Meshtastic favorites.
- FEM LNA Mode LoRa configuration (#3600) — surfaces
Config.LoRaConfig.fem_lna_mode(Disabled / Enabled / Not Present, firmware ≥ v2.7.20) on both the Device Configuration and Remote Admin LoRa panels. - MeshCore CLI bundled in the Docker image (#3591) — ships
meshcore-cli/meshclialongside the Meshtastic Python CLI for a complete in-container toolkit.
Bug Fixes
- MeshCore neighbor query crashed on PostgreSQL/MySQL (#3602) —
meshcore_neighbor_info.timestamp/.createdAtwere 32-bitINTEGER/INTbut store millisecond-epoch values that overflow int32; widened toBIGINT(migration 096). downlinkEnabled/uplinkEnabled: falsereverted to true after restart (#3598) — proto3 elides booleanfalse, and a?? truefallback re-inflated user-disabled channel flags on device reconnect; both now default tofalse.- Position history dropped SNR for directly-heard (0-hop) nodes (#3593) — SNR is now captured per-fix and shown in the tooltip; the same 0 dB-drop guard was fixed on the central
snr_localtelemetry path. - MeshCore auto-ack
{SNR}/{ROUTE}tokens intermittently blank (#3592) — buffered SNR/route data is now correlated to the matching packet (freshness +pathLen, consumed once) instead of leaking across messages. - macOS x64 (Intel) desktop crashed on launch (#3604) — the x64 DMG shipped an arm64
re2.node(ERR_DLOPEN_FAILED); the build now rebuildsre2from source as x86_64 and backfills the missing CI arch flags. - Mesh-request endpoints return 503 (not 500) when disconnected (#3597) —
/api/traceroute,/api/position/request,/api/nodeinfo/request,/api/neighborinfo/request,/api/telemetry/requestnow return a meaningful503with the v1-API error shape.
Internationalization
Issues Resolved
- #3587 — Add MeshCore CLI Python application to Docker image
- #3588 — MeshCore node favoriting (pin to top of node list)
- #3589 —
{SNR}/{ROUTE}tokens intermittently missing in MeshCore auto-ack - #3590 — Position history: SNR not captured when node heard directly (0 hops)
- #3594 —
downlinkEnabled: falsereverts to true after container restart - #3596 — Error on Traceroute when node not connected
- #3599 — Support FEM LNA Mode configuration (LoRa)
- #3603 — macOS x64 DMG bundles
re2.nodeas arm64 instead of x86_64
New Contributors
- @TheWISPRer made their first contribution in #3538 — the Dead Drop / Mailbox feature. Thank you! 🎉
Upgrade Notes
No breaking changes. Three idempotent migrations (094 MeshCore favorites, 095 Dead Drop store, 096 neighbor-timestamp BIGINT) run automatically on first boot across SQLite / PostgreSQL / MySQL.
Full Changelog: v4.11.2...v4.11.3
🚀 MeshMonitor v4.11.3
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.11.3🧪 Testing
✅ All tests passed
✅ TypeScript checks passed
✅ Docker images built for linux/amd64, linux/arm64, linux/arm/v7
📋 Changes
See commit history for detailed changes.