From c8a2201c8c173a088722c465cd031bc5bc9d7f63 Mon Sep 17 00:00:00 2001 From: MarekWo Date: Tue, 23 Dec 2025 21:17:04 +0100 Subject: [PATCH] docs: Update documentation for smart refresh and notifications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update README.md and .claude/instructions.md to reflect new features: - Intelligent refresh mechanism (10s polling vs 60s full refresh) - Notification bell with global unread counter - Per-channel unread badges - New /api/messages/updates endpoint ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b33d60b..173c3e4 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,16 @@ A lightweight web interface for meshcore-cli, providing browser-based access to ### Key Features -- ๐Ÿ“ฑ **View messages** - Display chat history with auto-refresh +- ๐Ÿ“ฑ **View messages** - Display chat history with intelligent auto-refresh +- ๐Ÿ”” **Smart notifications** - Bell icon with unread message counter across all channels +- ๐Ÿ“Š **Per-channel badges** - Unread count displayed on each channel in selector - โœ‰๏ธ **Send messages** - Publish to any channel (200 char limit for LoRa) - ๐Ÿ“ก **Channel management** - Create, join, and switch between encrypted channels - ๐Ÿ” **Channel sharing** - Share channels via QR code or encrypted keys - ๐Ÿ’ฌ **Reply to users** - Quick reply with `@[UserName]` format - ๐Ÿงน **Clean contacts** - Remove inactive contacts with configurable threshold - ๐Ÿ“ฆ **Message archiving** - Automatic daily archiving with browse-by-date selector +- โšก **Efficient polling** - Lightweight update checks every 10s, UI refreshes only when needed ## Tech Stack @@ -165,7 +168,13 @@ See [PRD.md](PRD.md) for detailed requirements and implementation plan. ### Viewing Messages -The main page displays chat history from the currently selected channel. Messages auto-refresh every 60 seconds by default. +The main page displays chat history from the currently selected channel. The app uses an intelligent refresh system that checks for new messages every 10 seconds and updates the UI only when new messages actually arrive. + +**Unread notifications:** +- **Bell icon** in navbar shows total unread count across all channels +- **Channel badges** display unread count per channel (e.g., "Malopolska (3)") +- Messages are automatically marked as read when you view them +- Read status persists across browser sessions By default, the live view shows messages from the last 7 days. Older messages are automatically archived and can be accessed via the date selector.