Skip local alternates of the primary when merging versions

This commit is contained in:
Shadowghost
2026-06-05 19:40:17 +02:00
parent 045672fb07
commit f19b06363a

View File

@@ -216,9 +216,17 @@ public class VideosController : BaseJellyfinApiController
}
var alternateVersionsOfPrimary = primaryVersion.LinkedAlternateVersions.ToList();
var localAlternateIds = _libraryManager.GetLocalAlternateVersionIds(primaryVersion).ToHashSet();
foreach (var item in items.Where(i => !i.Id.Equals(primaryVersion.Id)))
{
if (localAlternateIds.Contains(item.Id))
{
// Already a local (file-based) alternate of the primary; linking it would
// wrongly mark the group as user-merged (splittable).
continue;
}
item.SetPrimaryVersionId(primaryVersion.Id);
await item.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);