MeshMonitor v1.18.0 - Auto Announce Automation
π Major Features
Auto Announce Automation
A comprehensive automation feature for broadcasting periodic announcements to your mesh network.
- Configurable Intervals: Set announcement frequency from 3-24 hours (default: 6 hours)
- Token Replacement System: Dynamic content with live data
{VERSION}- MeshMonitor version{DURATION}- Uptime formatted nicely (e.g., "2d 5h", "3h 15m"){FEATURES}- Enabled automation features as emojis (πΊοΈ π€ π’){NODECOUNT}- Number of active nodes{DIRECTCOUNT}- Number of direct nodes at 0 hops
- Manual Controls:
- "Send Now" button for immediate announcements
- "Announce on Start" option with 1-hour spam protection
- Last Announcement Tracking: See when the last announcement was sent with auto-refresh
- Channel Selection: Choose which channel to broadcast on
Automation Tab Improvements
- Moved Auto Traceroute from Settings to dedicated Automation tab
- Consolidated all automation features in one place
- Consistent UI/UX across all automation sections
β¨ Enhancements
- Context Refactoring: Extracted UI state to UIContext for better state management (#127)
- Display Preferences: Added customizable display options (#128)
- Toast Notifications: Replaced alerts with toast notifications for better UX
π Bug Fixes
- Fixed Active Nodes Query: Corrected timestamp comparison in
getActiveNodes()- was comparing seconds to milliseconds causing 0 nodes to be returned - Chart Flickering: Resolved chart re-rendering issues in map route popups (#132)
- Foreign Key Constraints: Fixed NodeInfo processing errors (#131)
- Package.json Import: Fixed Node.js compatibility using createRequire
π§ͺ Testing
- Added comprehensive test suite for token replacement (18 tests)
- All automation features thoroughly tested
- Improved test coverage across the codebase
π Full Changelog
Features
- feat: add auto-announce automation (#135)
- refactor: move auto-traceroute from Settings to Automation tab (#134)
- feat: add auto-acknowledge automation with timezone support (#133)
- feat: Add display preferences for v1.17.1 (#128)
- refactor: extract UI state to UIContext (Phase 5) (#127)
Bug Fixes
- fix: resolve chart flickering in map route popups (#132)
- fix: resolve foreign key constraint error in NodeInfo processing (#131)
Documentation
- Comprehensive PR reviews and documentation updates
- Added inline documentation for token replacement system
π Deployment Notes
- Container Restart Required: Changes to auto-announce settings require a container restart to take effect
- Backward Compatible: All new features are disabled by default
- Database Migration: Automatic migration handles new settings
π¦ Docker Images
Available on GitHub Container Registry:
docker pull ghcr.io/yeraze/meshmonitor:v1.18.0
docker pull ghcr.io/yeraze/meshmonitor:latestπ Contributors
Special thanks to Claude Code for assistance with implementation, testing, and code reviews!
Full Diff: v1.9.3...v1.18.0
π MeshMonitor v1.18.0
π¦ Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v1.18.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.