github Yeraze/meshmonitor v2.6.4
v2.6.4 - Notifications & Map Tile Fix

latest releases: v2.21.4, v2.21.3, v2.21.2-test...
2 months ago

πŸ”” Notification Features

Audio Notifications

  • Notification sound plays when new messages arrive from other users
  • Uses Web Audio API (no external files, CSP-compliant)
  • Smart filtering - only plays for messages from others, not your own

Visual Indicators

  • Red dot badges on Channels and Messages sidebar icons for unread messages
  • Favicon badge - red dot appears on browser tab when unread messages exist
  • Indicators only show when actual unread messages exist

Smart Read Tracking

  • Sent messages automatically marked as read for the sender
  • Messages auto-marked as read when viewing and scrolled to bottom
  • Direct Messages (channel -1) properly excluded from channel unread counts
  • Persistent read tracking across sessions

Message Order Fixes

  • Preserves original message timestamps when ACKs arrive
  • Prevents messages from jumping out of order when receiving quick replies

πŸ—ΊοΈ Map Tile Fix

Fixed Blank Map Issue

  • Fixed Content Security Policy blocking OpenStreetMap tile loading
  • Users reported map going blank after zooming with thousands of CSP errors
  • Added *.tile.openstreetmap.org to CSP connect-src directive

πŸ“ Full Changelog

Frontend

  • Add Web Audio API notification sound for new messages (src/App.tsx)
  • Add favicon red dot badge using Canvas API (src/App.tsx)
  • Track message arrivals by newest message ID to handle 100-message API limit (src/App.tsx)
  • Preserve original timestamps when acknowledging sent messages (src/App.tsx)
  • Add red dot indicators on sidebar icons (src/components/Sidebar.tsx)
  • Add unread count tracking with CSRF protection (src/contexts/MessagingContext.tsx)

Backend

  • Automatically mark sent messages as read (src/server/meshtasticManager.ts)
  • Pass userId when sending messages (src/server/server.ts)
  • Exclude DMs (channel -1) from channel unread counts (src/services/database.ts)
  • Add read_messages table for persistent tracking (src/server/migrations/007_add_read_messages.ts)
  • Fix CSP to allow OpenStreetMap tiles (src/server/server.ts)

πŸ”„ Upgrade Notes

No breaking changes. All features are additive and backward compatible.

Database migration 007 will run automatically to add the read_messages table.


Full Diff: v2.6.3...v2.6.4

πŸš€ MeshMonitor v2.6.4

πŸ“¦ Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:v2.6.4

πŸ§ͺ 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.