From 6da85a0aaad557bc220f1a017a52dbc3f04e9a59 Mon Sep 17 00:00:00 2001 From: theguymadmax Date: Wed, 26 Aug 2026 21:51:31 -0400 Subject: [PATCH] Fix ParentId for episodes in virtual seasons --- MediaBrowser.Providers/TV/SeriesMetadataService.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 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 // 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); } }