Cody Robibero
8d108d2870
Merge pull request #17806 from jellyfin/fix/dovi-color-validation
...
Enforce dolby vision transfer check
2026-09-06 07:35:32 -04:00
Cody Robibero
2555ab7539
Merge pull request #17805 from Shadowghost/fix-unordered-multiepisode-nfo
...
Fix handling of unordered multi-episode NFOs
2026-09-06 07:34:45 -04:00
Shadowghost
79a6ac6d82
Don't read episode markers in episode titles as a multi-episode range
2026-09-06 08:04:34 +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
gnattu
a1910a7b2e
Enforce dolby vision transfer check
...
Dolby vision files having unexpected transfers now also marked as invalid, and it will now get its base video range from its base layer color transfer, as not all invalid dolby vision files are HDR now.
2026-09-06 02:53:52 +08:00
Shadowghost
006809f02a
Fix handling of unordered multi-episode NFOs
2026-09-05 19:32:56 +02:00
Cody Robibero
84589380e5
Merge pull request #17746 from kfarnung/fix/vobsub-idx-subtitle-language
...
Probe .idx instead of .sub for external VobSub subtitle language detection
2026-09-05 11:09:46 -04:00
Cody Robibero
441a05ac88
Merge pull request #17768 from Shadowghost/fix-livetv-hls-audio-codec-and-manifest-direct-play
...
Fix Live TV HLS playback: bogus audio encoder and unplayable direct played manifests
2026-09-05 11:00:31 -04:00
Cody Robibero
44ecc909ff
Merge pull request #17796 from fmarcac/fix/syncplay-shuffle-mode-crash
...
Fix crash when SyncPlay shuffle mode is set to sorted twice
2026-09-05 10:58:31 -04:00
Cody Robibero
2b0ccf2a30
Merge pull request #17800 from fmarcac/fix/syncplay-active-session-counter
...
Fix SyncPlay active session counter leaking on rejoin
2026-09-05 10:57:55 -04:00
fmarcac
7ce911a401
Clamp client reported ping in SyncPlay groups
2026-09-05 15:06:37 +02:00
fmarcac
0c05d9d1a9
Apply the SyncPlay resume delay floor in the correct unit
2026-09-05 14:24:49 +02:00
fmarcac
e5bfe562bc
Fix crash when SyncPlay shuffle mode is set to sorted twice
2026-09-05 14:24:48 +02:00
fmarcac
51a7d5d08a
Fix SyncPlay active session counter leaking on rejoin
2026-09-05 14:24:48 +02:00
Cody Robibero
c96ff18e5b
Merge pull request #17757 from felixfoertsch/fix/legacy-filter-tag-query
...
Fix UI stalls caused by large tag and genre sets
2026-09-03 18:36:37 -04:00
Felix Förtsch
c3a7de54f3
avoid correlated item value name queries
2026-09-02 11:33:54 +02:00
Felix Förtsch
5adafb446f
test legacy item value filter semantics
2026-09-02 11:29:24 +02:00
Felix Förtsch
3df58ab775
Potential fix for pull request finding
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-02 11:05:36 +02:00
Shadowghost
8eb4964599
Never treat a manifest container as an audio codec or a direct play target
2026-09-02 09:29:48 +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
Shadowghost
c56e14d8fb
Keep a media process and its exit state usable by the caller that started it
2026-09-01 21:42:06 +02:00
Shadowghost
c5f8a93513
Close a change batch on its own window so a library scan cannot grow it without bound
2026-09-01 21:42:06 +02:00
Shadowghost
50f08d41a4
Find dead people and artists by id, not by name
2026-09-01 19:49:25 +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
Shadowghost
7ccce8e0e7
Fix recursive handling for LinkedChildren
2026-08-31 17:56:56 +02:00
Kyle Farnung
39c2885fd6
Probe .idx instead of .sub for external VobSub subtitle language detection
...
External VobSub subtitle pairs (.idx and .sub) were only probed via the
bare .sub file. In cases where multiple languages are present, this
results in missing language metadata.
Fix by detecting the matching .idx file during media info resolution
to run ffprobe on that file and skip processing the .sub entirely.
ffprobe will automatically find the matching (same directory,
case-sensitive base) .sub file and process both.
Added regression tests covering idx/sub pairing, unpaired files,
cross-directory pairs, and language-flagged filenames.
Fixes #17745
2026-08-30 17:29:49 -07:00
Shadowghost
11adad0e67
Fix formatting and test
2026-08-30 22:29:36 +02:00
Cody Robibero
420d44f638
Merge commit from fork
...
Fix broken access control in session management
2026-08-30 14:40:25 -04:00
Cody Robibero
9fe5a53e47
Merge commit from fork
...
Secure library paths
2026-08-30 14:40:16 -04:00
Cody Robibero
2996f726c1
Merge commit from fork
...
Prevent SSRF, local file disclosure and DoS via external references in SVG rendering
2026-08-30 14:40:03 -04:00
Shadowghost
27d898e59e
Count a season's episodes by the season they belong to
2026-08-29 21:39:14 +02:00
Shadowghost
ea5f83328d
Support anime provider ids on season folders
2026-08-28 15:48:17 +02:00
Shadowghost
99f21f1662
Apply review suggestions
2026-08-28 07:21:37 +02:00
Shadowghost
2aad6047c8
Fix children count on virtual items
2026-08-26 18:57:50 +02:00
Cody Robibero
904699ba21
Merge pull request #17709 from Shadowghost/fix-people-task-perist
...
Persist the refresh stamp so the people task stops redoing its work
2026-08-25 19:10:44 -04: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
Cody Robibero
a68793d08a
Merge pull request #17716 from Shadowghost/tmdb-aggregate-cast
...
Build a TMDb series cast from the aggregated credits
2026-08-25 18:26:50 -04:00
Cody Robibero
e79e2cba27
Merge pull request #17714 from Shadowghost/fix-localized-view-ids
...
Stop deriving user view ids from their localized name
2026-08-25 18:26:09 -04:00
Cody Robibero
f3298eee69
Merge pull request #17713 from LTe/fix/sort-isplayed-series
...
Fix IsPlayed and IsUnplayed sorting for shows and collections
2026-08-25 18:24:46 -04:00
Shadowghost
79c37bfcd5
Build a TMDb series cast from the aggregated credits
2026-08-25 21:06:51 +02:00
Shadowghost
a81b90f570
Fix tests
2026-08-25 21:03:51 +02:00
Shadowghost
1d24c1df17
Keep an OMDb credit whole when its annotation holds a comma
2026-08-25 20:43:44 +02:00
Shadowghost
4147a83b93
Handle generational suffixes
2026-08-25 20:42:41 +02:00
Shadowghost
6978dfc294
Delete a credit once no item maps to it any more
2026-08-25 20:31:30 +02:00
Shadowghost
8c0775e941
Bind the folder name an item-by-name entity resolves to
2026-08-25 20:31:09 +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
cefa78fc1d
Prevent SSRF, local file disclosure and DoS via external references in SVG rendering
2026-08-25 11:04:24 +02:00
Shadowghost
0c560b22ce
Secure library paths
2026-08-25 09:28:45 +02:00
Shadowghost
38093e2952
Fix test
2026-08-24 22:27:11 +02:00