aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2024-11-15 18:30:26 +0000
committerJPVenson <github@jpb.email>2024-11-15 18:30:26 +0000
commitc925f8688e64186a8500febbf8021b1733f36d40 (patch)
tree2805fe628c603fd546696f867dda7f49fabf0243 /Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
parent77bae62acc7529ad7005ff0d72e27059779f1729 (diff)
Filter duplicate BaseItems on save
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/BaseItemRepository.cs')
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs7
1 files changed, 3 insertions, 4 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index e9de36328..ba86f5fbd 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -358,10 +358,9 @@ public sealed class BaseItemRepository(
cancellationToken.ThrowIfCancellationRequested();
var itemsLen = items.Count;
- var tuples = new (BaseItemDto Item, List<Guid>? AncestorIds, BaseItemDto TopParent, IEnumerable<string> UserDataKey, List<string> InheritedTags)[itemsLen];
- for (int i = 0; i < itemsLen; i++)
+ var tuples = new List<(BaseItemDto Item, List<Guid>? AncestorIds, BaseItemDto TopParent, IEnumerable<string> UserDataKey, List<string> InheritedTags)>();
+ foreach (var item in items.GroupBy(e => e.Id).Select(e => e.Last()))
{
- var item = items[i];
var ancestorIds = item.SupportsAncestors ?
item.GetAncestorIds().Distinct().ToList() :
null;
@@ -371,7 +370,7 @@ public sealed class BaseItemRepository(
var userdataKey = item.GetUserDataKeys();
var inheritedTags = item.GetInheritedTags();
- tuples[i] = (item, ancestorIds, topParent, userdataKey, inheritedTags);
+ tuples.Add((item, ancestorIds, topParent, userdataKey, inheritedTags));
}
var localFuckingItemValueCache = new Dictionary<(int MagicNumber, string Value), Guid>();