aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-02-21 22:51:46 +0100
committerShadowghost <Ghost_of_Stone@web.de>2026-02-21 22:51:46 +0100
commit5541653f73c5ac7d6ff0de79b08ba332d346ee62 (patch)
tree784c4c19dfcd04fe655a443768647f0d1cec4abe
parentae5420d4ae09dec7d62d1d0861dfc823a180d93b (diff)
Return Name instead of CleanName for legacy filters
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs14
1 files changed, 8 insertions, 6 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index eda45ce01a..8f7300b0b9 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -1244,21 +1244,23 @@ public sealed class BaseItemRepository
.OrderBy(r => r)
.ToArray();
- // Tags via ItemValuesMap JOIN - uses subquery for matching items
+ // Tags via ItemValuesMap JOIN - uses subquery for matching items and dedupe based on CleanValue, but return the original Value for display
var tags = context.ItemValuesMap
.Where(ivm => ivm.ItemValue.Type == ItemValueType.Tags)
.Where(ivm => matchingItemIds.Contains(ivm.ItemId))
- .Select(ivm => ivm.ItemValue.CleanValue)
- .Distinct()
+ .Select(ivm => ivm.ItemValue)
+ .GroupBy(iv => iv.CleanValue)
+ .Select(g => g.OrderBy(iv => iv.Value).First().Value)
.OrderBy(t => t)
.ToArray();
- // Genres via ItemValuesMap JOIN - uses subquery for matching items
+ // Genres via ItemValuesMap JOIN - uses subquery for matching items and dedupe based on CleanValue, but return the original Value for display
var genres = context.ItemValuesMap
.Where(ivm => ivm.ItemValue.Type == ItemValueType.Genre)
.Where(ivm => matchingItemIds.Contains(ivm.ItemId))
- .Select(ivm => ivm.ItemValue.CleanValue)
- .Distinct()
+ .Select(ivm => ivm.ItemValue)
+ .GroupBy(iv => iv.CleanValue)
+ .Select(g => g.OrderBy(iv => iv.Value).First().Value)
.OrderBy(g => g)
.ToArray();