llaforest
6ea2f05497
Guard against null-overwrite of saved audio/subtitle track selections
...
Some clients omit AudioStreamIndex or SubtitleStreamIndex in playback progress reports and it causes previously saved track selections to be erased.
Add .HasValue checks so only explicit track changes are persisted.
2026-05-04 13:26:08 -04:00
Shadowghost
d68d0fa962
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-05-03 13:31:23 +02:00
Bond-009
a183fce142
Merge branch 'master' into Preservation-of-Watched-Status-on-Re-watch
2026-04-24 19:00:19 +02:00
Shadowghost
24a0df9a39
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-04-07 21:36:07 +02:00
Patrick Cunniff
3fb1d94038
reverse check for track changed
...
Signed-off-by: Patrick Cunniff <pjcfifa@gmail.com >
2026-03-28 16:25:01 -04:00
Shadowghost
a650148dfd
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-01-30 21:12:06 +01:00
nielsvanvelzen
841e4dabb5
Backport pull request #16109 from jellyfin/release-10.11.z
...
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Fix SessionInfoWebSocketListener not using SessionInfoDto
Original-merge: e65aff8bc6
Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-01-28 12:11:30 -05:00
Shadowghost
5996c4afce
Complete LinkedChildren integration and batch DTO optimizations
...
This commit integrates remaining performance changes:
- Add batch user data fetching in DtoService to reduce N+1 queries
- Add GetNextUpEpisodesBatch in TVSeriesManager for efficient batch retrieval
- Update Video/Movie/BoxSet to use LibraryManager for alternate versions
- Transition LinkedChild to use ItemId instead of Path (obsolete Path/LibraryItemId)
- Update providers and controllers for LinkedChildren-based references
- Add NextUpEpisodeBatchResult for batched episode queries
- Integrate IDescendantQueryProvider in SqliteDatabaseProvider
2026-01-18 19:48:46 +01:00
Jonathan Davies
3c77758b32
SessionManager: Improved wording of playback messages
2025-12-31 20:53:55 +00:00
Jonathan Davies
b564a43d9c
SessionManager: Log usernames in playback messages
2025-12-31 15:01:50 +00:00
Jonathan Davies
f08657ab27
SessionManager: Log when playback is started
2025-12-31 15:01:41 +00:00
Masood
113bd9af05
Remove redundant assignment in playback start logic
2025-12-10 18:50:20 +05:30
Masood
37d6101f02
Fix watched status resetting on re-watch
2025-12-10 18:11:03 +05:30
Niels van Velzen
48e93dcbce
Use RequestHelpers.GetSession in SessionWebSocketListener ( #14494 )
2025-07-20 20:00:47 -06:00
Mason Weigand
d561cef81f
RemoveNowPlayingItem should also set FullNowPlayingItem to null ( #14360 ) bb
2025-06-23 08:31:25 -06:00
Sid K
1e8bf1ce8d
fix(Session): don't query DB if queue hasn't changed ( #14244 )
2025-06-09 17:33:28 -06:00
Mohammed Alhaddar
97f9d0c7e6
Fixing race condition in GetSessionInfo ( #14131 )
2025-06-06 06:55:05 -06:00
Tim Eisele
086fbd49cf
Cleanup ItemFields ( #13818 )
...
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
* Cleanup ItemFields
* Update MediaBrowser.Model/Querying/ItemFields.cs
2025-03-31 17:46:21 -06:00
timminator
181a37a8cd
Fix consumer count off by one when closing a browser tab with a livestream that is transcoding ( #13220 )
...
Rework Implementation
Fix review issues
Add missing nullorempty check
Fix closely related #13721
2025-03-27 17:59:08 -06:00
JPVenson
42bdb22bfb
Fixed namespaces
2025-03-25 16:45:00 +01:00
JPVenson
160020c551
WIP fixed namespaces
2025-03-25 15:30:22 +00:00
JPVenson
850f1c79f1
Merge branch 'master' into feature/DatabaseRefactor
2025-03-25 15:12:48 +00:00
timminator
350983e03c
Fix OnPlaybackStopped task erroring out ( #13226 )
Merge Conflict Labeler / Labeling (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
2025-03-20 07:10:48 -06:00
JPVenson
d8030147ff
Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor
2025-02-19 18:25:00 +00:00
JPVenson
db2167178a
Backport pull request #13459 from jellyfin/release-10.10.z
...
Fixed Websocket not locking state correctly
Original-merge: 49bb5a6442
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-02-09 08:39:55 -05:00
JPVenson
17003f4d76
Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider
2025-02-02 02:09:14 +00:00
Bond-009
9734892322
Merge pull request #12925 from Bond-009/await
...
Always await instead of directly returning Task
2025-01-28 11:29:46 +01:00
JPVenson
aa811eb1e3
Prepared Seperation of Database components for future multi provider support
2025-01-26 20:45:28 +00:00
Josh Soref
044cf9fb85
chore: fix spelling
...
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was
link: forum or chat rooms
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2025-01-25 20:05:15 -05:00
Daniyar Alpyspayev
2614fecf8d
move to new System.Threading.Lock type for better performance
2024-12-12 18:10:06 +05:00
JPVenson
d81fec6b7c
Backport pull request #12915 from jellyfin/release-10.10.z
...
Fixed possible NullReferenceException in SessionManager
Original-merge: 3592c629e7
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-11-03 10:55:50 -05:00
Bond_009
d2db700402
Always await instead of directly returning Task
...
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#prefer-asyncawait-over-directly-returning-task
The performance impact is negligible (and it's me saying that!)
2024-10-31 17:02:06 +01:00
gnattu
75bbd30296
Fix get sessions with api key ( #12696 )
2024-09-24 08:15:53 -06:00
Shadowghost
ffa1c370fd
Fix permission checks
2024-09-18 16:10:13 +02:00
Shadowghost
7a2427bf07
Add SessionInfoDto, DeviceInfoDto and implement JsonDelimitedArrayConverter.Write
2024-09-18 15:42:15 +02:00
Bond_009
eca5abe4bb
Remove passwordSha1 param from AuthenticateUser function
2024-08-30 14:27:30 +02:00
gnattu
22d8528d90
Backport pull request #11901 from jellyfin/release-10.9.z
...
Implement Device Cache to replace EFCoreSecondLevelCacheInterceptor
Original-merge: b7bc0e1c96
Merged-by: joshuaboniface <joshua@boniface.me >
Backported-by: Bond_009 <bond.009@outlook.com >
2024-08-05 10:58:22 -04:00
Shadowghost
1a94976752
Backport pull request #11806 from jellyfin/release-10.9.z
...
Return missing episodes for series when no user defined
Original-merge: ae584beaac
Merged-by: crobibero <cody@robibe.ro >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-06-01 18:40:59 -04:00
Bond-009
3feb3f81bf
More efficient array creation ( #11468 )
2024-04-30 13:32:59 -06:00
Bond-009
356e05e3af
Changes SessionWebSocketListener to (re)use a timer ( #11358 )
2024-04-17 10:44:39 -06:00
Bond-009
7d28d08e08
Enable more warnings as errors ( #11288 )
2024-04-12 17:45:01 -06:00
Claus Vium
eae031ae5a
refactor: use Channels as queueing mechanism for periodic websocket messages ( #11092 )
2024-03-18 13:55:18 -06:00
Damian Kacperski
59a9586dbd
Add PlaybackOrder to Session state
2024-02-09 20:41:32 +01:00
Cody Robibero
e7b8d45bbb
Use helper function to compare guid ( #10825 )
2024-01-17 08:51:39 -07:00
JPVenson
3ce16713dd
Fixed disposable not being called ( #10613 )
...
* Fixed disposable not being called
* PulledUp usage of IAsyncDisposable for sessioninfo
Co-authored-by: Patrick Barron <barronpm@gmail.com >
2024-01-14 16:50:09 +01:00
Niels van Velzen
55916a09eb
Remove some unused client capabilities and sync code ( #10812 )
2024-01-06 13:33:48 -07:00
Cody Robibero
8c5fc80282
Don't remove all tokens if invalid header ( #10490 )
2023-10-30 15:31:13 -06:00
herby2212
e8a05ad996
optimize checkForInactiveStreams logic
2023-10-09 19:15:25 +02:00
herby2212
994619afb2
fix formatting for build process
2023-10-08 13:49:35 +02:00
herby2212
db5c2f738e
integrate development from v1
2023-10-07 21:18:21 +02:00