Marc Brooks
234a49903b
Use a HashSet for existing items
...
Makes the test O(log n)
2026-08-05 22:48:13 -05:00
Shadowghost
61e75599b3
Project the lowered person credit values once when updating people
2026-08-05 13:21:57 +02:00
Shadowghost
b2485af6e9
Merge remote-tracking branch 'upstream/master' into fix-byname-queries
...
# Conflicts:
# Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
2026-08-05 12:15:30 +02:00
vdatanet
4adaf7f146
Fix by-name endpoints reporting TotalRecordCount=0 next to a populated Items array
...
`GetItemValues` -- the shared path behind `/Artists`, `/AlbumArtists`, `/Genres`,
`/MusicGenres` and `/Studios` -- disabled the total record count whenever the
query carried no `Limit`:
if (!filter.Limit.HasValue)
{
filter.EnableTotalRecordCount = false;
}
A request without an explicit limit therefore came back with N entries in `Items`
and `TotalRecordCount = 0`. Clients that page on the reported total -- the
documented contract every other list endpoint honours -- read that as an empty
library. `/Items` and `/Persons` do not share this path and report the count
correctly, which is what makes the inconsistency visible from the outside.
Measured against master with a 62-track music library:
GET /Artists?UserId=... -> TotalRecordCount=0 Items=5
GET /Artists?UserId=...&limit=100 -> TotalRecordCount=5 Items=5
Dropping the block costs nothing: `representativeIds` is materialised into a
`List<Guid>` a few lines below regardless, so `.Count` was already available and
the count is now reported from it. Callers that genuinely want to skip the count
still can -- `EnableTotalRecordCount = false` is honoured as before.
The block also mutated the caller's own query object, so a query instance reused
across calls silently lost its total after the first limitless one. That is
covered by a test as well.
2026-08-05 11:34:33 +02:00
Shadowghost
d3c7aa6bd2
Fix /Persons favourites timing out by removing the correlated favourites join
2026-08-04 00:40:53 +02:00
Shadowghost
55518c06ee
Only treat series and seasons as resumable folders
2026-08-03 09:01:55 +02:00
Shadowghost
8044534774
Merge remote-tracking branch 'upstream/master' into fix-byname-queries
2026-08-02 22:12:57 +02:00
Cody Robibero
24022092ad
Merge pull request #17456 from Shadowghost/fix-extras
...
Fix extras naming and version assignment
2026-08-02 14:25:00 -04:00
Cody Robibero
d669994bf0
Merge pull request #17503 from theguymadmax/fix-sortby-name
...
Use CleanName when sorting by name
2026-08-02 14:24:28 -04:00
Cody Robibero
45b8f6c4c8
Merge pull request #17486 from Shadowghost/fix-adjacent
...
Fix AdjacentTo being ignored on non-recursive item queries
2026-08-02 14:24:13 -04:00
Cody Robibero
044f651299
Merge pull request #17482 from Shadowghost/fix-stale-versions
...
Fix video version links being read from stale serialised item data instead of the LinkedChildren table
2026-08-02 14:24:05 -04:00
Cody Robibero
f2360c07a3
Merge pull request #17147 from Shadowghost/tmdb-missing-episodes
...
Add Tmdb missing episode provider
2026-08-02 14:23:30 -04:00
Shadowghost
705368ee49
Merge remote-tracking branch 'upstream/master' into fix-byname-queries
...
# Conflicts:
# src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs
2026-08-01 21:41:16 +02:00
Shadowghost
cbc2c7c323
Preserve multiple roles per person type instead of deduping credits by name and type
2026-08-01 20:35:27 +02:00
Shadowghost
b94ba9d409
Merge remote-tracking branch 'upstream/master' into tmdb-missing-episodes
...
# Conflicts:
# Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs
2026-08-01 14:25:20 +02:00
Cody Robibero
744ca84a8b
Merge pull request #17500 from theguymadmax/fix-storage-lookup
...
Fix storage info lookup for Windows
2026-08-01 08:18:45 -04:00
Cody Robibero
030031dcff
Merge pull request #17463 from Shadowghost/fix-unplayed-filter
...
Fix (Un)Played filter correctness and performance
2026-08-01 08:07:05 -04:00
Cody Robibero
341c19bace
Merge pull request #17460 from Shadowghost/fix-user-items
...
Queue person metadata refresh instead of blocking the item request and fix ItemCounts
2026-08-01 08:06:46 -04:00
Cody Robibero
e816870f67
Merge pull request #17416 from Shadowghost/enable-duplicate-playlist-children
...
Allow duplicate LinkedChildren for Playlists
2026-08-01 08:06:02 -04:00
theguymadmax
f28acc7fa1
Use CleanName when sorting by name
2026-07-31 00:34:43 -04:00
theguymadmax
314004bc19
Fix storage lookup for Windows
2026-07-30 19:13:32 -04:00
Shadowghost
e123a13e38
Apply the by-name access exemption in the search candidate query
2026-07-30 09:53:44 +02:00
Shadowghost
8293eb26b9
Fix playlist entries being lost on migration and library scans
2026-07-29 14:40:49 +02:00
Shadowghost
d8fc0a9914
Fix AdjacentTo being ignored on non-recursive item queries
2026-07-29 13:13:44 +02:00
Shadowghost
1f4f4acb46
Fixup
2026-07-29 09:39:04 +02:00
Shadowghost
d64e18b69a
Fix more filter cases
2026-07-29 09:35:20 +02:00
Shadowghost
7a4271c85f
Fix video version links being read from stale serialised item data instead of the LinkedChildren table
2026-07-29 07:31:27 +02:00
Shadowghost
a94588497c
Fix Folder access filtering
2026-07-28 23:13:10 +02:00
Shadowghost
9a258c089d
Restrict people, genres, studios and artists to names backed by an item the user can access
2026-07-28 21:28:56 +02:00
Shadowghost
5f5c71ab75
Make the /Persons de-duplication use an index instead of grouping the table
2026-07-28 20:18:02 +02:00
Shadowghost
eed664b7d3
Fix played/unplayed filter for empty Series and BoxSets
2026-07-28 12:43:12 +02:00
Shadowghost
046225654a
Queue person metadata refresh instead of blocking the item request and fix ItemCounts
2026-07-27 23:09:30 +02:00
Shadowghost
79a55327dc
Fix extras naming and version assignment
2026-07-27 12:12:17 +02:00
Shadowghost
f3a1d56c56
Use DistinctBy where possible
2026-07-26 09:56:49 +02:00
Shadowghost
766be1e8bb
Fix favorite filter performance
2026-07-25 19:09:39 +02:00
Shadowghost
f2f66606d7
Fix DatePlayed sorting performance
2026-07-25 19:09:39 +02:00
Shadowghost
9aa79682ba
Reduce correlated subqueries to improve performance
2026-07-23 20:50:06 +02:00
Shadowghost
dc300fae53
Allow duplicate LinkedChildren for Playlists
2026-07-23 13:41:51 +02:00
Cody Robibero
526f4051e9
Merge pull request #16980 from TheMelmacian/feature/library_specific_language_filter_values
...
Improve language filters to only fetch language codes that match the requested items/libraries (follow up to #9787 )
2026-07-21 20:43:31 -04:00
TheMelmacian
b317af0d30
fix: remove obsolete code
2026-07-21 22:20:07 +02:00
Cody Robibero
65836cc844
Merge pull request #17160 from 854562/truncate-language-strings
...
Truncate ISO-639-2 language display names at first delimiter
2026-07-21 11:22:32 -04:00
Bond-009
9b9b609c83
Merge pull request #17368 from Shadowghost/security-path-traversal-fixes
...
Backport and extend path traversal fixes
2026-07-21 14:52:40 +02:00
Shadowghost
4cc69f4be0
Apply review suggestions
2026-07-21 14:30:55 +02:00
Bond-009
527ba2e11c
Merge pull request #17367 from zerafachris/fix/backup-skip-corrupt-keyframe-data
...
fix: skip corrupt KeyframeData rows during full system backup
2026-07-21 13:53:47 +02:00
Shadowghost
b99703301f
Merge remote-tracking branch 'upstream/master' into security-path-traversal-fixes
...
# Conflicts:
# Jellyfin.Api/Controllers/HlsSegmentController.cs
# Jellyfin.Api/Controllers/PluginsController.cs
2026-07-21 07:14:47 +02:00
Cody Robibero
bdf263d867
Merge pull request #17377 from mbastian77/fix/person-visibility-allowed-tags
...
Exempt people from the allowed tags visibility check
2026-07-20 21:26:06 -04:00
Cody Robibero
557b14e33e
Merge branch 'master' into fix/backup-skip-corrupt-keyframe-data
2026-07-20 20:49:37 -04:00
Cody Robibero
0d629591ed
Remove comments about JSON error handling
...
Removed comments explaining error handling for malformed JSON during backup.
2026-07-20 20:15:05 -04:00
Cody Robibero
23fa02eb59
Merge pull request #17282 from TowyTowy/fix/13137-clear-profile-image
...
Fix profile image being impossible to clear when its in-memory key is temporary
2026-07-20 19:58:43 -04:00
854562
2cd2f36fe4
Extract truncation logic to helper and add tests
2026-07-20 22:00:10 +02:00