Node Popup Enhancement and Comprehensive Test Coverage
✨ New Features
- Beautified Map Node Popup (#97)
- Modern compact grid layout with 2-column design
- Added icons for all node properties (📍 location, 🔋 battery, 📡 signal, etc.)
- Improved visual hierarchy and spacing
- Better use of available space with cleaner presentation
✅ Test Coverage
- Comprehensive hopsAway Test Suite (#98)
- Added 84 new tests covering all aspects of the hopsAway feature
- New test files:
src/utils/mapIcons.test.ts(35 tests) - Hop color gradient validationsrc/components/MapLegend.test.tsx(28 tests) - Legend rendering and accessibility
- Enhanced existing tests:
src/server/meshtasticManager.test.ts(+6 tests) - NodeInfo hopsAway processingsrc/services/database.extended.test.ts(+8 tests) - Database operationssrc/services/api.test.ts(+7 tests) - API response validation
- Total: 278 tests passing (236 existing + 42 new)
🐛 Bug Fixes
- Fixed database handling of
hopsAway: 0(was incorrectly converting to null) - Fixed TestDatabaseService to properly store and retrieve hopsAway values
- Added TypeScript type annotations for better type safety
📦 What's Included
This release builds on v1.12.1's blue-to-red hop visualization with:
- Enhanced node popup UX
- Robust test coverage ensuring feature stability
- Database integrity improvements
Full Changelog: v1.12.1...v1.12.2
🤖 Generated with Claude Code
🚀 MeshMonitor v1.12.2
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v1.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.