MeshMonitor v4.7.1
Patch release with a single targeted fix.
Bug Fixes
- #3175 fix(channels): hide global Channel Database entries in per-source view — the Channels tab on a per-source dashboard (e.g. clicking a meshtastic_tcp source like "Sandbox" from the dashboard sidebar) was inflating its visible channel list with every row in the global
channel_databasetable. That table is server-side MQTT decryption PSK storage; it auto-grows as MQTT ingest sees new channel names across every source, regardless of which source the user is viewing. Result: a Sandbox source with 3 real device channels appeared to have ~25 (mostly TX-mesh / SHARC / JAXMesh / etc. names from unrelated MQTT bridges).ChannelsTabnow accepts asourceIdprop and skips the Channel Database merge whenever it is set. The unified / legacy cross-source view (where the merge is meaningful) keeps the previous behavior. Themessagesandchannelsarrays were already source-scoped by the poll endpoint, so no client-side filter is needed for those.
Upgrade Notes
No breaking changes. The Channel Database itself is unchanged — it still lives under Global Settings → Channel Database and continues to serve server-side MQTT decryption. Only the per-source Channels tab's display behavior was adjusted.
Full Changelog: v4.7.0...v4.7.1
🚀 MeshMonitor v4.7.1
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.7.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.