Summary
On the Requests tab, any TV request whose season is partially downloaded — the normal state of a currently airing show — is labelled Missing (Unmonitored) at 0%, even though the episodes are monitored in Sonarr.
The cause is a gap in the status chain in ServarrProgressService.cs: there is no branch for "some episodes have files", so those requests reach the final return, which asserts Unmonitored.
This is not a season-scoping problem — FilterEpisodesBySeasons works correctly (verified below). The outcome is the same either way.
Environment
SeerrFin | 1.6.6.0
-- | --
Jellyfin | 10.11.11
Sonarr | 4.0.19.2979
Jellyseerr | 3.4.1
Both are anyFile == true, allHaveFiles == false → catch-all. In the second case the season filter is demonstrably working: the requested season yields 24 episodes where the whole series has 96, and the label does not change — which is what rules scoping out as the cause.
The Unmonitored half of the label is the part that is plainly wrong: 10 of 12 and 10 of 24 episodes are monitored.
Expected
A monitored season that is partially downloaded should not be reported as unmonitored. Either of these would fix it:
Minimal — relax branch 4 so it no longer requires that nothing has been downloaded:
if (anyMonitored) return ... // Missing (Monitored)
Better — add an explicit partial state, since "4 of 12 episodes" is a different situation from "nothing yet" and the progress bar could show it:
if (anyFile && !allHaveFiles) return ... // Partially downloaded
Side note
Sonarr's series-level statistics.episodeFileCount counts only monitored episodes — it reports 4/4 for the first case while the episode list reports 4 of 12. If that field is used anywhere, the two numbers will disagree in exactly this scenario.
Summary
On the Requests tab, any TV request whose season is partially downloaded — the normal state of a currently airing show — is labelled
Missing (Unmonitored)at 0%, even though the episodes are monitored in Sonarr.The cause is a gap in the status chain in
ServarrProgressService.cs: there is no branch for "some episodes have files", so those requests reach the finalreturn, which asserts Unmonitored.This is not a season-scoping problem —
FilterEpisodesBySeasonsworks correctly (verified below). The outcome is the same either way.Environment
Both are
anyFile == true,allHaveFiles == false→ catch-all. In the second case the season filter is demonstrably working: the requested season yields 24 episodes where the whole series has 96, and the label does not change — which is what rules scoping out as the cause.The
Unmonitoredhalf of the label is the part that is plainly wrong: 10 of 12 and 10 of 24 episodes are monitored.Expected
A monitored season that is partially downloaded should not be reported as unmonitored. Either of these would fix it:
Minimal — relax branch 4 so it no longer requires that nothing has been downloaded:
Better — add an explicit partial state, since "4 of 12 episodes" is a different situation from "nothing yet" and the progress bar could show it:
Side note
Sonarr's series-level
statistics.episodeFileCountcounts only monitored episodes — it reports 4/4 for the first case while the episode list reports 4 of 12. If that field is used anywhere, the two numbers will disagree in exactly this scenario.