Theme: Visibility
See what's happening, what will happen, and what has happened — all in real time. Six features, code quality, and security hardening.
Features
- WebSocket Real-Time Activity Feed (PR #111) — Single
/ws/liveconnection replaces all polling. JWT cookie auth, auto-reconnect, polling fallback. - Synthetic Demo Mode (PR #112) — Dashboard shows synthetic data before setup. 13 WS events per ~2-min cycle. Gold banner. Auto-disables on first instance + queue.
- Search Progress & Live Queue View (PR #113) — Live progress bar on queue detail page. Gold "currently running" banner on dashboard with item count.
- Search Dry Run / Preview Mode (PR #114) — "Preview Next Run" shows what would be searched with scores, reasons, and season pack groupings.
- Search History Analytics (PR #115) — "Last 7 Days" card with trend arrows and top 3 most-searched series.
- Bulk Queue Operations (PR #116) — Multi-select checkboxes with bulk pause/resume/run/delete.
Code Quality & Security
- Code simplification: -34 lines across 6 files
- Security audit: 0 Critical, 0 High, 3 Medium (all addressed)
- WebSocket now verifies user exists and is active after token validation
- WebSocket error handler logs exceptions instead of silently swallowing
- Documented single-admin broadcast design constraint
Security Audit Summary
| Severity | Count | Status |
|---|---|---|
| Critical | 0 | — |
| High | 0 | — |
| Medium | 3 | All addressed |
| Low | 5 | Documented |
Upgrading
docker-compose pull
docker-compose up -dNo database migrations. Existing data preserved.
Full Changelog: v1.0.2-alpha...v1.1.0