Commit Graph

274 Commits

Author SHA1 Message Date
JPVenson ec054f6a34 Backport changes from #15368 2026-05-05 17:57:27 +00:00
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
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)
* 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) 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