MeshMonitor v4.12.2
A focused follow-up to 4.12.1 that rounds out the MeshCore scope/region work and fixes a subtle, long-standing correlation bug. The headline fix: on a busy mesh, a received MeshCore message could lose its scope/region badge (and {ROUTE}/{SNR} tokens) because the raw OTA bytes carrying that data were handed between firmware events through a single-slot buffer that a second in-flight packet could clobber — the buffer is now a small FIFO matched by hop count, so concurrent packets no longer evict each other. This release also adds scope/region control to MeshCore automations (including "respond on the trigger's scope"), a unified "Request from a node" automation action (telemetry/position/traceroute/node-info/neighbors/advert across Meshtastic and MeshCore), a live per-rule trace ("view logs") for the Automation Engine, a Reply button on MeshCore channel messages, and a scope badge on sent MeshCore messages. Several smaller MeshCore reliability fixes are included (discovered-node names, remote-status cross-talk, virtual-node handshake, saved-region resolution), the bundled Meshtastic protobufs move to v2.7.26 with hardware models 132–140, and the feature documentation is brought current. SQLite remains the default; PostgreSQL and MySQL are unchanged.
Features
- MeshCore scope/region control for automations — target a region on send, or respond on the trigger message's scope, in both the Automations tab and the Automation Engine (#3834)
- "Request from a node" Automation Engine action — telemetry / position / traceroute / node info / neighbors / advert, for Meshtastic and MeshCore (#3838)
- Automation Engine live trace ("view logs") — per-rule, real-time evaluation trace (#3836)
- MeshCore Reply button on channel messages — prefills the
@[Sender]:mention and replies on the originating scope (#3855) - MeshCore scope/region on sent messages — outgoing messages show the scope badge they were sent on (#3818)
- Restore focus to the message input after send (MeshCore) (#3827)
- Hardware models 132–140 — bundled protobufs bumped to v2.7.26 (#3849)
Bug Fixes
- MeshCore received-message scope/region (and
{ROUTE}/{SNR}) blank on busy meshes — single-slotLogRxDatabuffer replaced with a hop-count-matched FIFO so concurrent text packets no longer clobber each other (#3859) - MeshCore re-discovered node showed "Unknown" until reload — name backfilled from the persisted node row; channel view opens at the bottom; no empty scope badge on unscoped messages (#3858)
- MeshCore discovered repeater names populate without admin login — via ANON_REQ OWNER (#3825)
- MeshCore remote-status response cross-talk — requests serialized (#3821)
- MeshCore virtual-node DeviceInfo handshake — pinned to companion protocol v1 (#3828)
- MeshCore saved regions missing from scope resolution (#3830)
- Messages: request actions restored for unmessageable nodes (#3832)
- Messages: softened the "not in device DB" warning when the key is known (#3856)
- Remote Node Status: "Errors" relabeled to "Error Events" (#3824)
- Settings: auto-acknowledge save no longer sticks on an RE2-incompatible regex (#3819)
- MeshCore channel entry scroll to first unread / bottom (#3817)
heardByrelay info persists in the memory pool after a channel echo (#3816)- MeshCore message metadata readability on bright screens (#3812)
Dependencies
- vite 8.1.0 (#3848), lucide-react 1.22.0 (#3847), @typescript-eslint/eslint-plugin 8.62.0 (#3846), @types/node 26.0.1 (#3845), puppeteer 25.2.1 (#3844), aedes 1.1.0 (#3843), recharts 3.9.0 (#3842), production-dependencies group ×6 (#3841), eslint 10.6.0 (#3840), actions/cache v6 (#3839), @rollup/rollup-linux-arm-gnueabihf 4.62.2 (#3632)
Upgrade Notes
No breaking changes — upgrade in place. Received-message scope is resolved and stored at receive time, so the fix applies to messages received after upgrading (already-stored rows are unchanged).
Full Changelog: v4.12.1...v4.12.2
🚀 MeshMonitor v4.12.2
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.12.2🧪 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.