Content alerts (unfulfilled, pending, tautulli-no-matches) now have
zero cooldown on manual close — they reopen immediately on the next
refresh if the condition still exists. Closing is an acknowledgment
of the current state, not a suppression of future alerts.
User-behavior alerts (ghost, watchrate) keep a cooldown (7 days) so
a single manual close isn't immediately undone by the next refresh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- UNFULFILLED_MIN_AGE_DAYS → UNFULFILLED_MIN_AGE_HOURS (default 12h)
so new requests don't sit a full 3 days before alerting
- Incomplete Download threshold: 90% → 100% (any missing episode fires)
- PENDING_MIN_AGE_DAYS: 7 → 2
- Ghost Requester reworked: instead of checking lifetime plays = 0,
now checks whether the user's last Tautulli activity predates their
last N (default 5) approved requests — catches people who request
but don't watch their recent content
- Removed Frequent Declines alert
- Add tautulliLastSeen to UserStat to support the ghost rework
- Update README to reflect all changes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents setup, environment variables, all alert types with their
tunable parameters and cooldowns, and the alert lifecycle diagram.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>