aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations
AgeCommit message (Collapse)Author
14 daysMerge pull request #17576 from obiwantoby/perf/batch-mediasourcecount-dtoCody Robibero
Bugfix: #17547 | Batching MediaSourceCount into one call
14 daysMerge pull request #17590 from TOomaAh/fix/limit-remote-fetch-similarCody Robibero
fix: bound remote provider pagination
2026-08-10Translated using Weblate (Vietnamese)hoanghuy309
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2026-08-10Translated using Weblate (Portuguese)Kiki
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt/
2026-08-10Translated using Weblate (Russian)Dan Tsivinsky
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ru/
2026-08-09fix: bound remote provider paginationTOomaAh
2026-08-08Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-08Translated using Weblate (Portuguese (Brazil))Doougfoks
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_BR/
2026-08-08Address review on MediaSourceCount batchingbrandon
Rename GetItemsWithAlternateVersions to GetItemIdsWithAlternateVersions across the interfaces and implementations since it returns ids. Return the hashset straight from the query instead of materializing an array first. Rename the DtoService guard to mayHaveAlternateVersions and invert it so the computed path is the explicit case. Assert the media source count value in the batch skip test and add a test covering an item that is in the returned set still resolving to the correct count.
2026-08-08Translated using Weblate (Turkish)queeup
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2026-08-08Translated using Weblate (Basque)Thadah D. Denyse
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/eu/
2026-08-08Translated using Weblate (Vietnamese)hoanghuy309
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/vi/
2026-08-08Translated using Weblate (Turkish)queeup
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2026-08-07Batch alternate version detection in DtoService to remove MediaSourceCount N+1brandon
Browsing a page of videos with the MediaSourceCount field ran one alternate version query per item, each opening a fresh DbContext. On a large library that turned a single page into hundreds of sequential round trips and made the Items endpoint take tens of seconds while holding a request thread the whole time. Detect which videos own alternate versions once per page with a single query, mirroring the existing people batch. Videos absent from that set have a single media source, so the per item lookups are skipped for the common case. Behavior is unchanged: a video with no alternates already resolved to a count of one. Adds a regression test asserting the count resolves from the batch and the per item lookups are never called.
2026-08-07Merge pull request #17571 from obiwantoby/perf/batch-people-dtoCody Robibero
Batch people lookups when building item DTOs
2026-08-07Merge pull request #17521 from Shadowghost/fix-plugin-disableCody Robibero
Fix disabled plugins being re-enabled on restart
2026-08-08Translated using Weblate (Turkish)queeup
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/tr/
2026-08-08Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-07Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-07Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-07Batch people lookups when building item DTOsbrandon
GetBaseItemDtos already batch fetches user data, child counts, played counts and artists before its per item loop, but AttachPeople still ran one GetPeople query per item. Rendering a page of items (for example a large playlist) fired one extra query per row. Add GetPeopleByItems to IPeopleRepository, which reads every requested item in a single query over the people mapping table and returns full PersonInfo (role, type and sort order) grouped by item id. GetBaseItemDtos prefetches this once when the People field is requested and passes it into AttachPeople, which reads from the batch instead of querying per item. The single item GetBaseItemDto path keeps its existing per item behaviour when no batch is supplied. Adds a DtoService test asserting people resolve from the batch and the per item GetPeople is never called.
2026-08-07Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-06Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-06Translated using Weblate (Hungarian)Keleti Márton
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/hu/
2026-08-06Translated using Weblate (German)simonanter
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/de/
2026-08-05Translated using Weblate (Faroese)krvi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fo/
2026-08-05Translated using Weblate (Polish)Kityn
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pl/
2026-08-05Translated using Weblate (Spanish)Luis Fernando Illapa
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2026-08-05Merge pull request #17466 from Shadowghost/fix-byname-queriesCody Robibero
Improve People deduplication, fix search and restrict ItemByName responses
2026-08-05Merge pull request #17524 from Shadowghost/fix-extra-discoveryCody Robibero
Keep folder extras with the item that owns the folder
2026-08-05Translated using Weblate (Spanish)Luis Fernando Illapa
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/es/
2026-08-05Translated using Weblate (Estonian)rimasx
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/et/
2026-08-05Translated using Weblate (Danish)Dan Johansen
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/da/
2026-08-05Translated using Weblate (Czech)Helak
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/cs/
2026-08-05Merge remote-tracking branch 'upstream/master' into fix-byname-queriesShadowghost
# Conflicts: # Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
2026-08-05Translated using Weblate (Faroese)krvi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fo/
2026-08-04Translated using Weblate (Faroese)krvi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fo/
2026-08-04Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-04Translated using Weblate (Arabic)Translation expert
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ar/
2026-08-04Merge pull request #17528 from Shadowghost/websocket-logs-debugCody Robibero
Degrade ForceKeepAlive logs to debug
2026-08-04Translated using Weblate (Icelandic)Shed Shedson
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/is/
2026-08-04Translated using Weblate (Korean)Yunseo Jung
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2026-08-04Translated using Weblate (Italian)Vincenzo Reale
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/it/
2026-08-03Translated using Weblate (Faroese)krvi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fo/
2026-08-03Translated using Weblate (Ukrainian)potuzhnyj
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/uk/
2026-08-03Translated using Weblate (Swedish)Erik W
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sv/
2026-08-03Translated using Weblate (Lithuanian)Vitalijus
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/lt/
2026-08-03Degrade ForceKeepAlive logs to debugShadowghost
2026-08-03Translated using Weblate (Faroese)krvi
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/fo/
2026-08-03Translated using Weblate (Slovak)nextlooper42
Translation: Jellyfin/Jellyfin Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/