Commit Graph

222 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
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 17003f4d76 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-02 02:09:14 +00: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
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
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 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
herby2212 56aa37a314 Switch to named placeholders 2023-10-07 20:52:16 +02:00
Patrick Barron 12b51cf2ba Reduce nesting in SessionManager.OnPlaybackStopped 2023-10-03 10:31:55 -04:00
Patrick Barron 59ec06c35c Clear active sessions on application stopping 2023-09-29 12:43:49 -04:00
Patrick Barron 493de3297a Use IHostLifetime to handle restarting and shutting down 2023-09-23 11:57:38 -04:00
Bill Thornton 9ea46b9e17 Remove existing sessions for a user on the same device on login 2023-09-11 10:49:01 -04:00
Bill Thornton aea57c1a4a Remove unused variable 2023-09-06 00:06:08 -04:00