Commit graph

5 commits

Author SHA1 Message Date
2be3d22306 v0.6.3: encode-safe URLs to Seerr (fixes #4)
Queries containing apostrophes/parens/etc were 400ing on Seerr's strict
ajv validator. The SeerrClient _qs() helper percent-encodes the value
correctly, but aiohttp parses the URL string through yarl.URL(), which
normalizes %27 (and other sub-delims) back to the literal character in
the query component. The literal ' then trips Seerr's "must be url
encoded" check.

Fix: pass yarl.URL(url, encoded=True) to bypass yarl's re-normalization
so the RFC 3986 form built by _qs reaches Seerr unchanged.

Reproduced + verified against deployed Seerr v3.2.0 with queries
including "rocky's revenge", "what's up, doc?", "8 1/2".

Closes #4
2026-05-29 20:18:35 -04:00
5e3cd82145 v0.5.3: !media health covers all 7 backing services
Was only Sonarr+Radarr. Now also probes Lidarr (existing /health), Seerr
(/api/v1/status), Emby (/System/Info/Public), NZBGet (status RPC) and
qBittorrent (transfer/info). Each line shows  healthy / ⚠️ warning
(with detail) / ⏸️ paused /  unreachable. NZBGet surfaces
DownloadPaused; qBt surfaces connection_status (firewalled vs disconnected
helps spot VPN issues quickly).
2026-05-03 14:40:11 -04:00
8f825bd65a v0.3.2: percent-encode Seerr query strings
Seerr's URL validator rejects aiohttp's default '+' for spaces and
demands %20. Switch the Seerr client to RFC 3986-style encoding via
urllib.parse.quote(safe='') so multi-word searches work.

Reported: '!media search Sheep Detectives' → 400.
2026-04-28 18:49:26 -04:00
efa22b4e25 v0.3.0: reactions, posters, Seerr webhook
- Admins can react 👍/ or 👎/ on a !media request to approve/decline
- Posters auto-attach to request confirmations and !media random picks
  (TMDB for Seerr items, Emby /Items/{id}/Images/Primary for library items)
- New @web.post(/seerr-webhook) handler — Seerr → Matrix room directly,
  replaces the Telegram bridge path
- New config: posters_enabled, admin_users, notifications_room,
  seerr_webhook_secret
2026-04-28 18:16:54 -04:00
8c62c9fd31 Initial commit: media bot v0.1.0
Maubot plugin: Matrix companion for the homelab media stack.

Services wrapped:
- Seerr: search, request, requests, trending
- Emby: nowplaying, recent, watched
- Sonarr/Radarr: queue, upcoming, missing
- NZBGet/qBittorrent: activity

Each Matrix sender is mapped to per-service user IDs via plugin config;
unmapped senders are rejected. Replies are MXID-prefixed for shared rooms.
2026-04-28 08:22:38 -04:00