github Yeraze/meshmonitor v4.12.2

4 hours ago

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-slot LogRxData buffer 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)
  • heardBy relay 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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.