github Yeraze/meshmonitor v1.14.0
v1.14.0 - Node Favorites System

latest releases: v2.19.1, v2.19.0, v2.18.9...
one month ago

๐ŸŒŸ 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_favorite from NodeInfo protobuf packets
  • ๐Ÿ’พ Database persistence - New isFavorite column 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_node is 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 0 column 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_favorite field from NodeInfo packets
  • Updated getAllNodes() to include isFavorite in 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.0

From 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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.