MeshMonitor v2.1.0 - Connection Control & Traceroute Permissions
This release adds manual connection control with permission-based access and introduces fine-grained traceroute permissions.
✨ New Features
🔌 Connection Control
- Manual disconnect/reconnect from Meshtastic node
- Disconnect button in header to manually stop connection to node
- Reconnect button appears when user has manually disconnected
- New
connectionpermission resource to control access to disconnect/reconnect functionality - Cached data remains accessible while disconnected (read-only mode)
- Prevents automatic reconnection when user has manually disconnected
- Connection state preserved through page refreshes
🛤️ Traceroute Permission
- Fine-grained control over traceroute initiation
- New
traceroutepermission resource to control who can initiate traceroute requests - Separate permission from viewing traceroute results (which uses
info:read) - Traceroute button in Messages tab now requires
traceroute:writepermission - Default permissions: admins can initiate, regular users can view only
- New
🎨 Permission UI Enhancements
- Single-checkbox UI for binary permissions (connection, traceroute)
- Intuitive "Can Control Connection" and "Can Initiate Traceroutes" labels
- Simplified permission management for action-based resources
📋 Header Improvements
- Display connected node name in header: "LongName (ShortName) - !ID"
- IP address shown in tooltip on hover
- Better visibility of which node you're connected to
🔄 Changes
- Traceroute endpoint now requires
traceroute:writepermission instead ofinfo:write - Connection status now includes
user-disconnectedstate - Frontend polling respects user-disconnected state
- Route segments and neighbor info remain accessible when disconnected
🔧 Technical Improvements
- Database migrations 003 and 004 for new permission resources
- User disconnected state management in MeshtasticManager
- Comprehensive test coverage for new connection control endpoints
- Permission model tests updated for connection and traceroute resources
- All test suites (515 tests) passing successfully
🐛 Fixed
- Data display when manually disconnected from node
- Route segments functionality while disconnected
- Page refresh behavior when in disconnected state
⚠️ Breaking Changes
- Traceroute endpoint now requires
traceroute:writepermission instead ofinfo:write - Existing users will automatically receive
traceroute:readpermission but will needtraceroute:writeadded by an admin to initiate traceroutes
📦 Installation
Docker (Recommended)
docker pull ghcr.io/yeraze/meshmonitor:2.1.0Docker Compose
services:
meshmonitor:
image: ghcr.io/yeraze/meshmonitor:2.1.0
ports:
- "8080:3001"
environment:
- MESHTASTIC_NODE_IP=192.168.1.100Upgrade from v2.0.x
Database migrations will run automatically on startup. No manual intervention required.
Full Changelog: v2.0.1...v2.1.0
🚀 MeshMonitor v2.1.0
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v2.1.0🧪 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.