diff options
| author | theguymadmax <theguymadmax@proton.me> | 2026-08-26 21:51:31 -0400 |
|---|---|---|
| committer | theguymadmax <theguymadmax@proton.me> | 2026-08-26 21:51:31 -0400 |
| commit | 6da85a0aaad557bc220f1a017a52dbc3f04e9a59 (patch) | |
| tree | c8e45680efce9df8988dce041aca13d7c1b0b245 | |
| parent | 1cc490fb190d01c34c3c7bed0f9f8df6e122ade0 (diff) | |
Fix ParentId for episodes in virtual seasons
| -rw-r--r-- | MediaBrowser.Providers/TV/SeriesMetadataService.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/MediaBrowser.Providers/TV/SeriesMetadataService.cs b/MediaBrowser.Providers/TV/SeriesMetadataService.cs index b350f482c3..803fab538f 100644 --- a/MediaBrowser.Providers/TV/SeriesMetadataService.cs +++ b/MediaBrowser.Providers/TV/SeriesMetadataService.cs @@ -364,7 +364,7 @@ public class SeriesMetadataService : MetadataService<Series, SeriesInfo> foreach (var episode in episodes) { var season = seasons.FirstOrDefault(i => i.IndexNumber == episode.ParentIndexNumber); - if (season is null || episode.SeasonId.Equals(season.Id)) + if (season is null || (episode.SeasonId.Equals(season.Id) && episode.ParentId.Equals(season.Id))) { continue; } @@ -372,6 +372,11 @@ public class SeriesMetadataService : MetadataService<Series, SeriesInfo> // Assign the correct season id and name to episode. episode.SeasonId = season.Id; episode.SeasonName = season.Name; + + // We need to set ParentId here for episodes in virtual seasons (e.g., flat structures), otherwise it retains the + // ParentId from the series. + episode.SetParent(season); + await episode.UpdateToRepositoryAsync(ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false); } } |
