Merge pull request #16783 from Shadowghost/fix-people-without-item-id

Fix unique people response for query if no item ID is supplied
This commit is contained in:
Niels van Velzen
2026-05-06 19:07:13 +02:00
committed by GitHub

View File

@@ -44,7 +44,15 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, I
}
else
{
dbQuery = dbQuery.OrderBy(e => e.Name);
// The Peoples table has one row per (Name, PersonType), so the same person can
// appear multiple times (e.g. as Actor and GuestStar). Collapse to one row per
// name so /Persons doesn't return the same BaseItem id repeatedly.
var representativeIds = dbQuery
.GroupBy(e => e.Name)
.Select(g => g.Min(e => e.Id));
dbQuery = context.Peoples.AsNoTracking()
.Where(p => representativeIds.Contains(p.Id))
.OrderBy(e => e.Name);
}
var count = dbQuery.Count();