๐จ Hop Count Visualization Enhancement
This release replaces traceroute-based hop counting with the more reliable protobuf hops_away field and introduces a beautiful blue-to-red color gradient for visualizing network topology.
โจ Highlights
Blue-to-Red Color Gradient
- ๐ข 0 hops: Green (Local Node)
- ๐ต 1 hop: Blue
- ๐ต๐ฃ 2 hops: Blue-Purple
- ๐ฃ 3 hops: Purple
- ๐ฃ๐ด 4 hops: Red-Purple
- ๐ด๐ฃ 5 hops: Red-Magenta
- ๐ด 6+ hops: Red
Each hop level now has a distinct, visually clear color that makes it easy to understand the network topology at a glance.
๐ New Features
- Protobuf
hops_awayIntegration: More accurate hop counting using data directly from mesh nodes - Enhanced Map Legend: Expanded from 4 to 7 hop levels, showing each color distinctly
- Map Node Popup Enhancements:
- Added "Hops Away" field
- Added "Altitude" field (when available)
- Node List Display: Hop count now shown with ๐ icon in stats section
๐ง Improvements
- Fixed node list sorting to use
hops_awayinstead of traceroute data - Removed dependency on traceroute for hop counting
- Removed "No Traceroute" entry from map legend (no longer needed)
- Removed unused
getTracerouteHopCount()function - Net code reduction: -7 lines
๐ Technical Details
The hops_away field is directly reported by mesh nodes via the protobuf NodeInfo message and provides accurate hop distance information. This is more reliable than deriving hop counts from traceroute data, which may be incomplete or unavailable.
Color gradient uses linear RGB interpolation from blue (#0000FF) to red (#FF0000), creating visually distinct colors for each hop level.
๐ Related PR
- #96 - feat: hops_away visualization with blue-to-red gradient
Full Changelog: v1.12.0...v1.12.1
๐ MeshMonitor v1.12.1
๐ฆ Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v1.12.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.