[4.11.1] - 2026-06-20
Features
-
Device notifications surfaced as toasts + firmware 2.8 favorite/ignore cap handling (#3548): MeshMonitor now shows
ClientNotificationmessages the connected node emits about its own operation — duplicate-key security warnings, invalid-config errors, duty-cycle limits, and more — as top-right toasts. These were always sent by the node but previously decoded and dropped. A server-side policy (clientNotificationPolicy.ts) suppresses the routine recurring ones (e.g. the power-saving "sleeping for N interval" message) and dedupes identical messages to at most once per minute per source, so the feed stays useful rather than noisy. On firmware 2.8, when a Set Favorite / Ignore is refused because the device's protected-node list is full, MeshMonitor reverts its optimistic star/ignore toggle to match the device and surfaces the refusal (this warning is only emitted for the locally-connected node, not remote-admin targets). No protobuf changes were needed — the 2.8 NodeDB warm-tier restructure and thesnr_q4on-disk field do not affect the over-the-air wire MeshMonitor reads (SNR stays afloatin dB; a regression test guards this). Seedocs/internal/dev-notes/MT28_NODEDB_SUPPORT_PLAN.md. -
Auto-Acknowledge 2×2 matrix — message type × hop distance (discussion #3564): Auto-Acknowledge previously tangled two concepts — its "Direct" toggles actually meant 0 hops (not direct messages), tapback/reply were keyed only on hop distance (shared across channel & DM), and a single global "Respond via DM" applied everywhere. It's now a clean {Channel, Direct} × {0-hop, Multi-hop} matrix: each of the four cells independently configures Message (reply), Tapback (emoji reaction), and Respond via DM. "Respond via DM" applies to the reply only (tapback-via-DM is unreliable) and is disabled until Message is enabled; for Direct cells, replies are inherently DMs. Existing configurations are migrated automatically (migration 093) so behavior is preserved on upgrade. MeshCore auto-ack is unchanged.
-
MeshCore node-type icons & filter on the source map (#3546, #3576): The per-source MeshCore map now renders role-based marker glyphs by advert type — Repeater (tower), Room Server (server rack), Sensor (broadcast), Companion (person) — instead of the generic "MC" badge (kept as the fallback for standard/unknown nodes). The Map Features panel gains a Node Types filter (per-category checkboxes, persisted) to show/hide markers by role, and the legend gains a matching Node Types section when shown. This brings the MeshCore source map to parity with the Map Analysis workspace. The shared map legend opts into the new section via a
showNodeTypesprop, so the Meshtastic maps are unchanged.
🚀 MeshMonitor v4.11.1
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.11.1🧪 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.