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.
This commit is contained in:
Oscar 2026-04-06 20:34:47 +02:00
parent a0e0c148f9
commit 018f66ab6f

View file

@ -421,13 +421,16 @@ private async Task<List<DownloadDecision>> 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)
{