diff --git a/Jellyfin.Plugin.Tvdb/Configuration/config.html b/Jellyfin.Plugin.Tvdb/Configuration/config.html index 732dfa0..22629ee 100644 --- a/Jellyfin.Plugin.Tvdb/Configuration/config.html +++ b/Jellyfin.Plugin.Tvdb/Configuration/config.html @@ -76,7 +76,7 @@

TheTVDB Settings:

document.getElementById('cacheDurationInDays').value = config.CacheDurationInDays; document.getElementById('metadataUpdateInHours').value = config.MetadataUpdateInHours; document.getElementById('fallbackLanguages').value = config.FallbackLanguages; - document.getElementById('includeMissingSpecials').checked = config.IncludeMissingSpecials || true; + document.getElementById('includeMissingSpecials').checked = config.IncludeMissingSpecials; Dashboard.hideLoadingMsg(); }); }, diff --git a/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs b/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs index 1c96261..3500254 100644 --- a/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs +++ b/Jellyfin.Plugin.Tvdb/Providers/TvdbMissingEpisodeProvider.cs @@ -192,6 +192,13 @@ private async Task HandleSeason(Season season, IReadOnlyList? var allEpisodes = allEpisodesRemote ?? await GetAllEpisodes(tvdbId, series.DisplayOrder, season.GetPreferredMetadataLanguage()) .ConfigureAwait(false); + // Skip if called from HandleSeries since it will be filtered there, allEpisodesRemote will not be null when called from HandleSeries + // Remove specials if IncludeMissingSpecials is false + if (allEpisodesRemote is null && !IncludeMissingSpecials) + { + allEpisodes = allEpisodes.Where(e => e.SeasonNumber != 0).ToList(); + } + var seasonEpisodes = allEpisodes.Where(e => e.SeasonNumber == season.IndexNumber).ToList(); var existingEpisodes = season.GetEpisodes().OfType().ToHashSet();