Commit Graph
1031 Commits
Author SHA1 Message Date
Shadowghost 5231d99398 Merge remote-tracking branch 'upstream/release-12.z' into fix-user-views
# Conflicts:
#	Jellyfin.Server.Implementations/Item/ItemCountService.cs
#	src/Jellyfin.Database/Jellyfin.Database.Implementations/DescendantQueryHelper.cs
#	tests/Jellyfin.Server.Implementations.Tests/Item/ItemCountServiceTests.cs
2026-09-14 17:31:35 +02:00
Cody Robibero 950c45cf20 Merge pull request #18026 from fmarcac/fix/device-access-hosted-service-12z
Fix device access revocation not logging out existing sessions
2026-09-14 08:06:09 -04:00
Cody Robibero 63c81a9975 Merge pull request #18004 from orut34iop/codex/upstream-people-update
Avoid full people scans and writes for unchanged credits
2026-09-14 08:05:08 -04:00
Cody Robibero f6cbafc36e Merge pull request #17897 from nintwentydo/fix/orphaned-people-cleanup
Clean up orphaned people when deleting items
2026-09-14 08:04:51 -04:00
Cody Robibero 2bcd3b1efb Merge pull request #18003 from Shadowghost/optimize-favourites
Check Live TV access for a single user instead of enumerating all users
2026-09-14 08:04:38 -04:00
Shadowghost 4330f5dada Fix played counts and played filters 2026-09-13 18:02:54 +02:00
Shadowghost 45d7760a14 Apply user access filtering to child counts 2026-09-13 18:01:29 +02:00
Cody Robibero 57315cb4e7 Merge branch 'release-12.z' into codex/upstream-people-update 2026-09-13 11:58:36 -04:00
Cody Robibero 7f40f41f4f Merge branch 'release-12.z' into fix/orphaned-people-cleanup 2026-09-13 11:57:33 -04:00
Cody Robibero 705b69e93d Merge pull request #17873 from Shadowghost/fix-item-deletion
Delete the full ownership closure when deleting items
2026-09-13 11:56:31 -04:00
Cody Robibero cabec7ec28 Merge pull request #17842 from Shadowghost/fix-multi-version
Fix versions of a video still listing separately from their group and preserve manual merges
2026-09-13 11:55:42 -04:00
fmarcac 1434ca1956 Query the user asynchronously when updating a policy 2026-09-13 11:32:46 +02:00
fmarcac 17616c1fa1 Raise the user updated event when a policy changes 2026-09-13 11:32:46 +02:00
fmarcac 8166766f91 Handle exceptions in the device access update handler 2026-09-13 11:32:46 +02:00
Shadowghost fef3f2570e Apply review suggestions 2026-09-13 07:41:52 +02:00
nintwentydo d3195ca892 Clean up orphaned people when deleting items 2026-09-13 10:32:36 +10:00
orut34iop f3a11622a6 Avoid full people scans and writes for unchanged credits 2026-09-13 00:57:54 +08:00
Cody Robibero 3daa917de0 Merge pull request #17980 from Shadowghost/drop-dead-item-data
Drop dead item data and fix query ordering and bound parameters
2026-09-12 10:44:46 -04:00
Shadowghost af92877c5e Check Live TV access for one user instead of enumerating all of them 2026-09-12 12:30:47 +02:00
Shadowghost 29c3abf763 Apply review suggestion 2026-09-11 12:07:02 +02:00
Shadowghost 6c239de0db Fix query ordering and bound parameters 2026-09-11 11:54:03 +02:00
Shadowghost 911edfb64d Fix cross-library versions 2026-09-11 08:35:21 +02:00
Shadowghost e9dae9ddb2 Keep merged versions visible to the library scan 2026-09-10 15:38:32 +02:00
Shadowghost ca06ccfa13 Populate missing tags array in Filters2 2026-09-09 09:48:55 +02:00
Shadowghost d821617e76 Delete the full ownership closure when deleting items 2026-09-08 21:40:04 +02:00
Shadowghost f4a627daea Fix versions of a video still listing separately from their group 2026-09-08 13:28:25 +02:00
Cody Robibero 85ebd83bdd Merge pull request #17821 from Shadowghost/more-counts
Expose optimized ItemCounts for byName items
2026-09-07 17:53:31 -04:00
Shadowghost 2644163f57 Count distinct items for byName ItemCounts and batch every kind 2026-09-07 18:39:59 +02:00
Shadowghost 59cd5f983b Expose optimized ItemCounts for byName items 2026-09-07 10:30:01 +02:00
Shadowghost fd016cfb13 Share played state across alternate versions 2026-09-06 17:20:18 +02:00
Cody Robibero 66d038c403 Merge pull request #17762 from Shadowghost/fix-scan-memory-leak
Bound change batches during a scan; keep ffprobe and image saves from failing
2026-09-06 01:28:02 -04:00
Felix Förtsch c3a7de54f3 avoid correlated item value name queries 2026-09-02 11:33:54 +02:00
Shadowghost ccdc69e3b0 Treat an item deleted mid-save as a no-op when saving its images 2026-09-01 21:42:07 +02:00
Felix Förtsch 145258865a avoid correlated legacy item value filter queries
The legacy filter queries projected ItemValue before grouping tags and genres. EF Core translated that shape into duplicated correlated aggregates, causing multi-minute requests for libraries with many distinct values and blocking unrelated SQLite-backed API calls.

Join ItemValuesMap directly to ItemValues before grouping. This preserves type and item filtering, clean-value grouping, minimum-value selection and ordering while producing one aggregate query. Add an in-memory SQLite regression test for result semantics and both SQL shapes.
2026-09-01 14:37:44 +02:00
Cody Robibero 0cec5661e0 Merge pull request #17752 from Shadowghost/fix-linkedchildren-recursive
Fix recursive handling for LinkedChildren
2026-08-31 17:47:33 -04:00
Cody Robibero 80324b19fb Merge pull request #17724 from Shadowghost/fix-by-name-item-counts
Fix item counts on the by-name endpoints
2026-08-31 15:19:08 -04:00
Shadowghost 7ccce8e0e7 Fix recursive handling for LinkedChildren 2026-08-31 17:56:56 +02:00
Shadowghost 27d898e59e Count a season's episodes by the season they belong to 2026-08-29 21:39:14 +02:00
Shadowghost ceeeaaab8e Fix By-Name item count handling 2026-08-27 10:19:36 +02:00
Cody Robibero f682c22b08 Merge pull request #17715 from Shadowghost/fix-people-cleanup
Delete credits nothing maps to and bound item-by-name folder names
2026-08-25 18:28:52 -04:00
Shadowghost 6978dfc294 Delete a credit once no item maps to it any more 2026-08-25 20:31:30 +02:00
Piotr Niełacny 5e621d0e3f Order IsPlayed and IsUnplayed by the played state the filter reports
Ordering mapped both keys to the item's own stored UserData row. Folders do not
have one: a series, season or box set counts as played when no descendant is
left unplayed, which is what the isPlayed filter and the DTO both report. A
mixed library therefore sorted every series and box set into the unplayed group,
and a query could filter and sort by two different notions of "played".

Extract the filter's predicate into BuildIsPlayedFilter and route both sort keys
through it so the two cannot drift apart again.
2026-08-25 15:19:38 +02:00
Shadowghost e1af8dce05 Merge remote-tracking branch 'upstream/master' into fix-series-merging 2026-08-22 17:18:01 +02:00
Cody Robibero 0d02638e82 Merge pull request #17700 from Shadowghost/better-people-resolution
Look up people by item via the credit map instead of a full scan
2026-08-22 08:50:42 -04:00
Cody Robibero 0d4cbb999b Merge pull request #17607 from Shadowghost/optimize-db-helper-memory
Optimize query helper memory
2026-08-22 08:45:42 -04:00
Cody Robibero 4477f41857 Merge pull request #17678 from theguymadmax/fix-mixed-latest-items
Fix latest items for mixed libraries
2026-08-22 08:42:38 -04:00
Shadowghost 20b4a59281 Look up people by item via the credit map instead of a full scan 2026-08-22 11:22:31 +02:00
ShadowghostandCody Robibero 587f06dccc Multiple fixes and improvements
Co-Authored-By: Cody Robibero <cody@robibe.ro>
2026-08-22 07:42:56 +02:00
Shadowghost 7ad5ff6aa7 Merge remote-tracking branch 'upstream/master' into optimize-db-helper-memory
# Conflicts:
#	src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs
2026-08-22 07:01:58 +02:00
Shadowghost 335d97d868 Use WhereOneOrMany 2026-08-21 22:59:39 +02:00