From 018f66ab6f792c7f8f2d65d5798ac47dad5e00ac Mon Sep 17 00:00:00 2001 From: Oscar Date: Mon, 6 Apr 2026 20:34:47 +0200 Subject: [PATCH] Check for approved results before skipping per-episode fallback Indexers that don't support season/episode filtering (e.g. AB) return all results for a title regardless of query params. These results are all rejected by the decision engine, but downloadDecisions.Any() was true, preventing the per-episode fallback from ever running. Check for approved decisions instead of just any decisions. --- src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs b/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs index 13fcddc62..0d6762674 100644 --- a/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs +++ b/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs @@ -421,13 +421,16 @@ private async Task> SearchAnimeSeason(Series series, List downloadDecisions.AddRange(decisions); } - if (downloadDecisions.Any()) + // Only skip per-episode fallback if we got approved season results. + // Indexers like AB return all results for a title regardless of season + // params, so raw result count alone is not reliable. + if (downloadDecisions.Any(d => d.Approved)) { - _logger.Debug("Season search returned results for {0}, skipping per-episode search for {1} episodes", series.Title, episodesToSearch.Count); + _logger.Debug("Season search returned approved results for {0}, skipping per-episode search for {1} episodes", series.Title, episodesToSearch.Count); } else { - _logger.Debug("No season results for {0}, falling back to per-episode search for {1} episodes", series.Title, episodesToSearch.Count); + _logger.Debug("No approved season results for {0}, falling back to per-episode search for {1} episodes", series.Title, episodesToSearch.Count); foreach (var episode in episodesToSearch) {