* catchup fixes
* feat(frontend): bookmarkable views via URL hash deep linking
Persist the active view to the URL hash so views are bookmarkable and
survive a page refresh. Restore the view from the hash on load, sync the
hash on navigation, and handle browser back/forward via a hashchange listener.
* feat(dev): add dev container for reproducible development
* feat(frontend): interactive multi-series metric sparklines on stats cards
* feat(frontend): aggregate status health banner with capacity breakdown
* feat(frontend): add guided empty states with hints
* chore(devcontainer): add gh CLI, dev tooling, cache volumes, and tasks
- Install GitHub CLI, git, build-essential, clang, lld, mold, jq
- Add cargo-watch, cargo-llvm-cov, cargo-deny, cargo-machete
- Persist cargo registry, target, and gh config via named volumes
- Fix volume ownership for the dev user in post-create
* chore(vscode): add tasks and launch configs for dev workflow
- tasks.json: backend/frontend dev servers, test, lint, fmt, coverage, deps checks, docs
- launch.json: CodeLLDB configs for backend and workspace tests
* a11y: add accessible labels to inputs and collapsed sidebar buttons
- Input: add aria_label prop, falling back to placeholder when no visible label
- Sidebar: pass translated hint + aria_label to collapsed-mode icon buttons
* feat(frontend): warn on unsaved config changes before page unload
* feat(frontend): handle session expiry with client-side logout
Schedule a client-side logout when the JWT expires, showing a
notification and returning the user to the login screen instead of
silently failing with 401s.
* chore(vscode): update tasks.json
* New Features
Session expiration detection with proactive logout warning
Real-time health status banner showing connectivity and provider status
Live metric sparklines for CPU, memory, and network usage
Deep-linkable views via URL hash with back/forward browser support
Enhanced empty states with guided messages across app sections
Improvements
Faster system metrics sampling (2-second intervals)
Archive and catchup-aware EPG handling for accurate program guides
* New Features
Session expiration detection with proactive logout warning
Real-time health status banner showing connectivity and provider status
Live metric sparklines for CPU, memory, and network usage
Deep-linkable views via URL hash with back/forward browser support
Enhanced empty states with guided messages across app sections
Improvements
Faster system metrics sampling (2-second intervals)
Archive and catchup-aware EPG handling for accurate program guides