Propagate auto-track intent to new seasons #76
Reference in New Issue
Block a user
Delete Branch "issue/35-auto-track"
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?
Adds a pure
arr-corerule for metadata refreshes to mark episodes in newly revealed seasons wanted only when the series hasauto_trackenabled. Existing leaf intent is never changed for untracked series.Closes #35
Verification
just ciReviewed
9b3edcb.Season.tracked(schema §4, added in #71) is untouched. When the daemon wires this in, revealing a new season on anauto_trackseries presumably also setsSeason.tracked— worth deciding where that lands, since this function's signature can't express it.@@ -0,0 +4,4 @@////// Callers pass only episodes from a newly revealed season. Existing seasons/// keep their leaf-level intent unchanged.pub fn apply_new_season_auto_track(series: &Series, episodes: &mut [Episode]) {"Newly revealed season" includes TMDB season 0 (specials). Auto-marking specials wanted is the classic Sonarr annoyance. Neither DESIGN.md §4.1 nor #35 decides it, and the caller contract silently punts it to the daemon. Decide here (skip specials, or take the
Seasonand checknumber) or state the expectation in the doc comment.@@ -0,0 +71,4 @@apply_new_season_auto_track(&series(false), &mut new_season);assert!(manually_wanted_season.iter().all(|episode| episode.wanted));manually_wanted_seasonis never passed to the function, so this assertion checks a literal against itself. It documents §4.1 but proves nothing — keep thenew_seasonassertion, drop the array or restructure.Reviewed
780bca4. Earlier findings addressed — season zero decided and documented, tests exercise the function,Season.trackedhandled viaRefreshedSeason. No findings.