diff --git a/CHANGELOG.md b/CHANGELOG.md index 132e5ed77..bcab56e05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixed - Fix antiforgery error caused by reusing existing browser tabs across docker container restarts - - Data protection keys will now be persisted under ErsatzTV's config folder instead of being recreated at startup + - Data protection keys will now be persisted under ErsatzTV's config folder instead of being recreated at startup +- Fix bug updating/replacing Jellyfin movies + - A deep scan can be used to fix all movies, otherwise any future updates made to JF movies will correctly sync to ETV ### Changed - Pass through `access_token` query param from `Channels` page url to streaming endpoints diff --git a/ErsatzTV.Application/MediaItems/Queries/GetMediaItemInfoHandler.cs b/ErsatzTV.Application/MediaItems/Queries/GetMediaItemInfoHandler.cs index cfc232d26..87259949a 100644 --- a/ErsatzTV.Application/MediaItems/Queries/GetMediaItemInfoHandler.cs +++ b/ErsatzTV.Application/MediaItems/Queries/GetMediaItemInfoHandler.cs @@ -63,17 +63,20 @@ public class GetMediaItemInfoHandler : IRequestHandler null }; - List subtitles = mediaItem switch - { - Movie m => m.MovieMetadata.Map(mm => mm.Subtitles).Flatten().ToList(), - Episode e => e.EpisodeMetadata.Map(mm => mm.Subtitles).Flatten().ToList(), - _ => new List() - }; - var allStreams = version.Streams.OrderBy(s => s.Index).Map(Project).ToList(); // include external subtitles from local libraries - allStreams.AddRange(subtitles.Filter(s => s.SubtitleKind is SubtitleKind.Sidecar).Map(ProjectToStream)); + if (mediaItem.LibraryPath.Library is LocalLibrary) + { + List subtitles = mediaItem switch + { + Movie m => m.MovieMetadata.Map(mm => mm.Subtitles).Flatten().ToList(), + Episode e => e.EpisodeMetadata.Map(mm => mm.Subtitles).Flatten().ToList(), + _ => new List() + }; + + allStreams.AddRange(subtitles.Filter(s => s.SubtitleKind is SubtitleKind.Sidecar).Map(ProjectToStream)); + } var allChapters = (version.Chapters ?? []).OrderBy(c => c.StartTime).Map(Project).ToList(); diff --git a/ErsatzTV.Infrastructure/Data/Repositories/JellyfinMovieRepository.cs b/ErsatzTV.Infrastructure/Data/Repositories/JellyfinMovieRepository.cs index 3f5a6407f..d4c38e3d5 100644 --- a/ErsatzTV.Infrastructure/Data/Repositories/JellyfinMovieRepository.cs +++ b/ErsatzTV.Infrastructure/Data/Repositories/JellyfinMovieRepository.cs @@ -195,8 +195,6 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository incoming.LibraryPath = existing.LibraryPath; incoming.Id = existing.Id; - existing.Etag = incoming.Etag; - // metadata MovieMetadata metadata = existing.MovieMetadata.Head(); MovieMetadata incomingMetadata = incoming.MovieMetadata.Head();