๐ Node Favorites System
This release introduces a comprehensive favorites system that syncs with your Meshtastic device's NodeDB.
โจ Key Features
- โญ Interactive star buttons - Click to favorite/unfavorite nodes on both Nodes and Messages tabs
- ๐ Smart sorting - Favorite nodes always appear at the top of lists, regardless of other sorting settings
- ๐ Device sync - Automatically reads
is_favoritefrom NodeInfo protobuf packets - ๐พ Database persistence - New
isFavoritecolumn with automatic migration for existing databases - ๐จ Visual indicators - Star icons (โญ for favorited, โ for not favorited)
- โก Optimistic updates - Instant UI feedback with automatic error rollback
โ ๏ธ Important: Local-Only Favorites
Favorites set in MeshMonitor are LOCAL ONLY
- Clicking the star in MeshMonitor does NOT sync back to the Meshtastic device
- The favorite status is only stored in MeshMonitor's local database
- MeshMonitor reads favorite status from the device (via NodeInfo packets) but does not write it back
Why?
- Admin message support (ADMIN_APP portnum 6) for
set_favorite_node/remove_favorite_nodeis not yet implemented - Admin messages require session passkey handling
- This can be added in a future release if desired
๐ง Technical Changes
Database:
- Added
isFavorite BOOLEAN DEFAULT 0column to nodes table - Automatic schema migration on startup
- New
setNodeFavorite(nodeNum, isFavorite)method
Backend:
- New API endpoint:
POST /api/nodes/:nodeId/favorite - Protobuf reading of
is_favoritefield from NodeInfo packets - Updated
getAllNodes()to includeisFavoritein API responses
Frontend:
- Interactive star buttons with hover/click animations
- Separate favorites/non-favorites sorting logic
- Optimistic UI updates with error rollback
- CSS styling integrated with Catppuccin theme
Documentation:
- Updated API.md with new endpoint documentation
- Updated ARCHITECTURE.md with database schema changes
- Updated TEST_SUITE.md with test coverage details
Tests:
- 5 comprehensive database tests for favorites functionality
- 4 comprehensive API endpoint tests
- All 287 tests passing โ
๐ฆ Installation
Docker (recommended):
docker pull ghcr.io/yeraze/meshmonitor:v1.14.0From source:
git checkout v1.14.0
npm install
npm run build && npm run build:server
npm start๐ Upgrading
Database migration is automatic. Your existing database will be upgraded on first startup with the new isFavorite column.
Full Changelog: v1.13.0...v1.14.0
๐ MeshMonitor v1.14.0
๐ฆ Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v1.14.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.