Cody Robibero
bea016c962
Merge pull request #17320 from TaterTechStudios/fix/item-correct-selector
...
Fix: Fetch the correct row matching the most up to date file
2026-07-20 19:57:28 -04:00
Cody Robibero
f2b9c68969
Merge pull request #17342 from LTe/fix-subtitle-conversion-race
...
Fix race condition in concurrent subtitle conversion
2026-07-20 19:51:44 -04:00
Cody Robibero
191be0931e
Merge pull request #17254 from sjakub/attribute_aliases
...
Add additional attribute aliases and improve attribute detection
2026-07-20 19:45:06 -04:00
Bond-009
5949be852a
Fix SchedulesDirect image limit recognition ( #17347 )
2026-07-20 12:28:10 +02:00
gnattu
a238d59a07
Remove libpostproc check for ffmpeg version validation ( #17384 )
...
Remove libpostproc check for ffmpeg version validation
2026-07-20 12:16:37 +02:00
Bond-009
236db6d2f6
Merge pull request #17365 from Shadowghost/fix-resume-perf
...
Fix Resume query performance
2026-07-20 08:17:38 +02:00
Bond-009
96727072c8
Merge pull request #17327 from Shadowghost/remove-playbackpositionticks-mediasourceinfo
...
Remove PlaybackPositionTicks from MediaSourceInfo
2026-07-17 22:21:21 +02:00
Bond-009
42f9ed76c0
Merge pull request #17280 from Shadowghost/remove-image-override-hack
...
Remove episode image override hack
2026-07-17 22:06:07 +02:00
Bond-009
69faa6c583
Merge pull request #17191 from IDisposable/fix/handler-path-traversal
...
Fix path transversal exposure in Plugins
2026-07-17 21:52:22 +02:00
Shadowghost
d894a98b79
Fix tie-breaker performance
2026-07-16 14:20:42 +02:00
Jordan Rushing
3f96790904
Move GetUserDataBatch to use ResolveUserDataRow when item.UserData isn't preloaded
2026-07-15 16:21:42 -05:00
Shadowghost
2bac9a8f0c
Fix SchedulesDirect image limit recognition
2026-07-15 17:43:27 +02:00
Piotr Niełacny
6e3c187493
Fix race condition in concurrent subtitle conversion
...
SubtitleEncoder.ConvertSubtitles parsed subtitles with libse's static
Subtitle.Parse, which iterates a statically cached list of shared
SubtitleFormat instances. Format parsers keep mutable per-parse state on
the instance, so concurrent subtitle requests corrupted each other's
output (cues mixed across streams and languages, truncated files) or
failed with NullReferenceException when format detection broke down and
Subtitle.Parse returned null.
Parse through the injected ISubtitleParser instead. SubtitleEditParser
instantiates a fresh format parser per call, so requests no longer share
state. Its Parse method now returns the libse Subtitle directly (the
SubtitleTrackInfo flattening was unused since the SubtitleEdit writer
rework) so the writers keep full fidelity such as ASS styling.
2026-07-15 14:55:55 +02:00
Shadowghost
b8bac71270
remove PlaybackPositionTicks from MediaSourceInfo
2026-07-14 10:05:32 +02:00
Jordan Rushing
fcce108948
Fix: Fetch the correct row matching the most up to date file
2026-07-13 15:40:40 -05:00
Shadowghost
38813f7d42
Cleanup PreferEpisodeParentPoster)
2026-07-09 12:07:13 +02:00
Shadowghost
853922443f
Remove episode image override hack
2026-07-09 11:54:18 +02:00
Jakub Schmidtke
1294990f4f
Added more aliases for attributes
...
Adds tvdb alias for tvdbid and imdb alias for imdbid.
It also fixes an issue where tmdb alias was being ignored
if it was followed by something like "tmdbidfoo".
The same issue prevented imdb pattern matching from
working, if it was followed by something like "imdbidfoo".
It also allows for detecting the first matching occurence,
whether it was an alias or not.
Finally, it ignores attributes with values consisting of only whitespaces.
2026-07-07 15:39:09 +02:00
Cody Robibero
6e728b009f
Merge pull request #17044 from Shadowghost/version-model-and-handling
...
Fixes for multi version handling
2026-07-05 16:21:02 -04:00
Bond_009
482cf4b8c3
Allow changing capitalization of usernames
...
Fixes #17195
Adds a regression test
2026-07-03 18:33:10 +02:00
Enea D'Angiò
8f3eb3205d
Close sessions for lost WebSockets to prevent zombie SyncPlay groups ( #17079 )
...
Close sessions for lost WebSockets to prevent zombie SyncPlay groups
2026-07-02 19:36:48 +02:00
Shadowghost
38f1d9749e
Fix review comments
2026-07-02 08:49:11 +02:00
Bond-009
d3ee1e84b1
Merge pull request #17170 from Shadowghost/better-bitrates
...
Rework bitrate reporting
2026-06-29 18:06:14 +02:00
Marc Brooks
95cebffa87
Add tests
...
Also fixed a sibling directory that matches the prefix.
2026-06-28 16:26:35 -05:00
Cody Robibero
c158418e0b
Merge pull request #17013 from dfederm/dfederm/fix-jellyfin-16899
...
Reject unsafe plugin package names in installer
2026-06-27 10:00:00 -04:00
Cody Robibero
cbef19c313
Merge pull request #16914 from danieltutuianu/fix/livetv-channel-icon-refresh
...
Live TV: re-fetch channel icons on guide refresh
2026-06-27 09:52:51 -04:00
Shadowghost
f398b6d08b
Fix localization lookup
2026-06-26 08:20:55 +02:00
Shadowghost
d090c59939
Rework bitrate reporting
2026-06-23 17:47:17 +02:00
danne
e4383493a9
Fix audio sample rate forced to 48 kHz for non-Opus codecs
...
GetProgressiveAudioFullCommandLine applied the libopus-only sample rate
quantization to every codec except Opus, inverting the intended guard.
A requested rate such as 44100 Hz was therefore snapped to 48000 Hz for
AAC/MP3/FLAC, while Opus (which actually requires the quantization) was
skipped entirely.
Apply the quantization only when the output codec is Opus, and pass the
requested sample rate through unchanged for all other codecs.
Fixes #17026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-21 09:43:31 +02:00
Shadowghost
0fb042b740
Surface the played version for resume
2026-06-19 21:51:57 +02:00
Bond-009
308981cc0d
Merge pull request #14935 from JadedRain/master
...
Fixed "Deleting media that is still being watched in SyncPlay results in errors"
2026-06-18 17:46:33 +02:00
Bond-009
751b763838
Merge pull request #17099 from Bond-009/libraryimport
...
Follow native interoperability best practices
2026-06-18 17:45:55 +02:00
Bond-009
49f8a96360
Merge pull request #17087 from dkanada/book-resolver
...
improve book resolution from filename
2026-06-17 20:54:49 +02:00
Daniel Țuțuianu
1ea525a408
Merge branch 'master' into fix/livetv-channel-icon-refresh
...
Resolve GuideManager conflict by keeping LiveTvChannelImageHelper so
channel icons re-fetch on every guide refresh, including when the URL
is unchanged.
2026-06-17 06:16:42 +03:00
Bond_009
4c228eaf63
Make sure we don't include the null terminator
2026-06-16 17:45:22 +02:00
Bond_009
0022508889
Add regression test
2026-06-15 21:20:06 +02:00
Bond_009
d50205cc9f
Follow native interoperability best practices
...
https://learn.microsoft.com/en-us/dotnet/standard/native-interop/best-practices
2026-06-15 21:01:28 +02:00
Shadowghost
f9644f24d2
Fix tests
2026-06-15 11:42:48 +02:00
dkanada
f4bab458a2
improve book resolution from filename
2026-06-15 11:31:49 +09:00
Shadowghost
0aeee8233b
Fix performance
2026-06-12 08:35:30 +02:00
Shadowghost
95de28cdda
Merge remote-tracking branch 'upstream/master' into version-model-and-handling
2026-06-10 08:05:03 +02:00
Shadowghost
0874a26131
Coalesce alternate-version progress onto primary in resume filter
2026-06-09 23:23:03 +02:00
Shadowghost
6c931dcdda
Keep the queried item's media source as the playback default
2026-06-07 23:06:48 +02:00
Shadowghost
fe1d8d8840
Collapse version groups to the primary version in queries
2026-06-07 23:06:14 +02:00
Shadowghost
9ea3f45886
Make resume queries version-aware
2026-06-07 23:06:14 +02:00
Shadowghost
09723bd123
Aggregate alternate versions via GetAllVersions
2026-06-07 23:06:14 +02:00
Shadowghost
c242533f4e
Add version-aware playback tracking
2026-06-07 23:06:14 +02:00
Shadowghost
507998a4e3
Derive version-aware media source names
2026-06-07 23:06:14 +02:00
Bond-009
003f01a99a
Merge pull request #16520 from beateixeira04/PlaylistPrimaryImageFix
...
fix(dto): prefer PlaylistsFolder primary image for playlists tiles
2026-06-07 22:56:35 +02:00
Shadowghost
b4d970ae38
Fix xUnit1051 in UserManagerLockHelperTests
2026-06-07 22:04:00 +02:00