feat: ntfy notifications for imported, needs-decision, broken #96
Reference in New Issue
Block a user
Delete Branch "issue/41-ntfy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #41.
Wires exactly the three DESIGN.md §9.5 events through a new
Notifier(crates/arr-daemon/src/notify.rs):crates/arr-daemon/src/import.rs), fired right after a movie or TV import settles. One notification per grab, not per episode. Not sent on hard/soft-fail, since only import is good news.crates/arr-daemon/src/attention.rs), for a movie entering the no-PT-source queue or hard-failing twice on different releases — the same two conditionsGET /api/queues/attentionalready reports. Edge-triggered in-memory: notifies once on entry, forgets a movie once it leaves both queues so a future re-entry notifies again.crates/arr-daemon/src/broken.rs), for Prowlarr/Transmission/TMDB unreachable, plus a disk-full hardlink/copy failure surfaced directly from the import pipeline (io::ErrorKind::StorageFull). Also edge-triggered: notifies once when an upstream goes down, stays silent on recovery (no fourth event type).A new
ARR_NTFY_OPERATOR_TOPICbootstrap setting holds the operator's topic; without it, the needs-a-decision and broken lanes are skipped (logged once at startup) since there's nowhere to send them.just cipasses locally.