fix(safety): skip libraries with empty watch history instead of treating all items as unwatched - #298
Open
rfsbraz wants to merge 5 commits into
Open
fix(safety): skip libraries with empty watch history instead of treating all items as unwatched#298rfsbraz wants to merge 5 commits into
rfsbraz wants to merge 5 commits into
Conversation
…ing all items as unwatched
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Fixes #287
Stacked on #297 (which stacks on #283) - merge in that order.
find_watched_datareturn None for every item, bypassinglast_watched_thresholdand thewatch_status: unwatchedcheck - one degraded Tautulli response (DB rebuild, section ID mismatch, empty auth result) could mass-delete recently watched content, up tomax_actions_per_runper libraryunwatched,last_watched_threshold,apply_last_watch_threshold_to_collections), and Tautulli returns zero activity, the library is skipped for the run with a loud error via the existing fail-safe handlerwatch_status: watchedneeds no guard (empty data already fails safe: nothing matches, nothing is deleted); libraries without watch rules are unaffectedallow_empty_watch_history: true(added to the schema, so the generated configuration reference picks it up); the opt-out logs a warning each runThe "activity far below previous run" degradation heuristic from #287 needs state plumbing into MediaCleaner and has real false-positive scenarios (deliberate Tautulli history cleanup), so this PR covers the empty case; partial-history hardening ties into #289's pagination guard.