Adds `python -m app --check` which verifies:
- All required environment variables are set
- Matrix homeserver is reachable
- Bot access token is valid
- Bot is a member of the announcements room
- Database path is writable
Uses color-coded pass/fail output with actionable hints on failure.
Configures nio with a 10-second timeout and no retries so checks
complete quickly even against unreachable servers.
https://claude.ai/code/session_01DuzWyMMXvLMB4VxEwJyV4X
Replace the brief *arr configuration section with step-by-step
setup guides for Radarr, Sonarr, and Lidarr individually, including
field-by-field tables, a prerequisite health check, and a
troubleshooting section for common webhook issues.
https://claude.ai/code/session_01DuzWyMMXvLMB4VxEwJyV4X
matrix-nio's AsyncClient.set_presence() is called every 60s in a
background task so Matrix clients see the bot as online. On shutdown
the bot sets itself to offline.
https://claude.ai/code/session_01DuzWyMMXvLMB4VxEwJyV4X
Replace Bellhop scaffolding with full Melora implementation:
- FastAPI webhook endpoints for Radarr, Sonarr, and Lidarr
- matrix-nio integration with threaded room posting
- SQLite for thread root persistence and event deduplication
- Message formatting with plain text and HTML for each media type
- Shared secret authentication via X-Arr-Webhook-Secret header
- Updated dependencies, configuration, and documentation
https://claude.ai/code/session_01DuzWyMMXvLMB4VxEwJyV4X