From 11c80a16a38b68f5b1dab366809d8147c5e53dd4 Mon Sep 17 00:00:00 2001 From: Froidefond Julien Date: Sun, 22 Mar 2026 06:40:34 +0100 Subject: [PATCH] docs: add Telegram notifications and updated dashboard to README and FEATURES Co-Authored-By: Claude Opus 4.6 --- README.md | 10 +++++++++- docs/FEATURES.md | 47 +++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b8c62f2..9561797 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,12 @@ The backoffice will be available at http://localhost:7082 - Batch auto-matching and scheduled metadata refresh - Field locking to protect manual edits from sync +### Notifications +- **Telegram**: real-time notifications via Telegram Bot API +- 12 granular event toggles (scans, thumbnails, conversions, metadata) +- Book thumbnail images included in notifications where applicable +- Test connection from settings + ### External Integrations - **Komga**: import reading progress - **Prowlarr**: search for missing volumes @@ -130,9 +136,11 @@ The backoffice will be available at http://localhost:7082 - Rate limiting, token expiration and revocation ### Web UI (Backoffice) -- Dashboard with statistics, charts, and reading progress +- Dashboard with statistics, interactive charts (recharts), and reading progress +- Currently reading & recently read sections - Library, book, series, author management - Live job monitoring, metadata search modals, settings panel +- Notification settings with per-event toggle configuration ## Environment Variables diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 3377c0b..67f017e 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -170,6 +170,34 @@ --- +## Notifications + +### Telegram +- Real-time notifications via Telegram Bot API (`sendMessage` and `sendPhoto`) +- Configuration: bot token, chat ID, enable/disable toggle +- Test connection button in settings + +### Granular Event Toggles +12 individually configurable notification events grouped by category: + +| Category | Events | +|----------|--------| +| Scans | `scan_completed`, `scan_failed`, `scan_cancelled` | +| Thumbnails | `thumbnail_completed`, `thumbnail_failed`, `thumbnail_cancelled` | +| Conversion | `conversion_completed`, `conversion_failed`, `conversion_cancelled` | +| Metadata | `metadata_approved`, `metadata_batch_completed`, `metadata_refresh_completed` | + +### Thumbnail Images in Notifications +- Book cover thumbnails attached to applicable notifications (conversion, metadata approval) +- Uses `sendPhoto` multipart upload with fallback to text-only `sendMessage` + +### Implementation +- Shared `crates/notifications` crate used by both API and indexer +- Fire-and-forget: notification failures are logged but never block the main operation +- Messages formatted in HTML with event-specific icons + +--- + ## Page Rendering & Caching ### Page Extraction @@ -238,13 +266,16 @@ ## Backoffice (Web UI) ### Dashboard -- Statistics cards: books, series, authors, libraries -- Donut charts: reading status breakdown, format distribution -- Bar charts: books per language -- Per-library reading progress bars -- Top series by book/page count -- Monthly addition timeline -- Metadata coverage stats +- Statistics cards: books, series, authors, libraries, pages, total size +- Interactive charts (recharts): donut, area, stacked bar, horizontal bar +- Reading status breakdown, format distribution, library distribution +- Currently reading section with progress bars +- Recently read section with cover thumbnails +- Reading activity over time (area chart) +- Books added over time (area chart) +- Per-library stacked reading progress +- Top series by book count +- Metadata coverage and provider breakdown ### Pages - **Libraries**: list, create, delete, configure monitoring and metadata provider @@ -253,7 +284,7 @@ - **Authors**: list with book/series counts, detail with author's books - **Jobs**: history, live progress via SSE, error details - **Tokens**: create, list, revoke API tokens -- **Settings**: image processing, cache, thumbnails, external services (Prowlarr, qBittorrent) +- **Settings**: image processing, cache, thumbnails, external services (Prowlarr, qBittorrent), notifications (Telegram) ### Interactive Features - Real-time search with suggestions