aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Session
AgeCommit message (Collapse)Author
2 daysUpdate log for user session related concurrency update failsJPVenson
9 daysMerge pull request #16321 from ↵Bond-009
WizardOfYendor1/fix/livetv-consumer-leak-negative-position-ticks Fix live stream consumer leak on negative PositionTicks
10 daysBackport changes from #15368JPVenson
11 daysGuard against null-overwrite of saved audio/subtitle track selectionsllaforest
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.
12 daysMerge remote-tracking branch 'upstream/master' into perf-rebasedShadowghost
2026-04-24Merge branch 'master' into Preservation-of-Watched-Status-on-Re-watchBond-009
2026-04-07Merge remote-tracking branch 'upstream/master' into perf-rebasedShadowghost
2026-03-28reverse check for track changedPatrick Cunniff
Signed-off-by: Patrick Cunniff <pjcfifa@gmail.com>
2026-03-27Fix live stream consumer leak when PositionTicks is negativeWizardOfYendor1
When a stalled HLS client sends ReportPlaybackStopped with a negative PositionTicks (e.g. HLS.js reporting position on buffer stall), the ArgumentOutOfRangeException was thrown before GetSession was called, causing CloseLiveStreamIfNeededAsync to never run. This left the ILiveStream.ConsumerCount permanently incremented, permanently holding a tuner open with no active viewer. Fix by acquiring the session and performing live stream cleanup before throwing the validation exception, so tuner resources are always freed even when playback reporting fails with invalid position data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-01-30Merge remote-tracking branch 'upstream/master' into perf-rebasedShadowghost
2026-01-28Backport pull request #16109 from jellyfin/release-10.11.znielsvanvelzen
Fix SessionInfoWebSocketListener not using SessionInfoDto Original-merge: e65aff8bc67e3cc97d2ebe141de9ff6a8681d792 Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com> Backported-by: Bond_009 <bond.009@outlook.com>
2026-01-18Complete LinkedChildren integration and batch DTO optimizationsShadowghost
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
2025-12-31SessionManager: Improved wording of playback messagesJonathan Davies
2025-12-31SessionManager: Log usernames in playback messagesJonathan Davies
2025-12-31SessionManager: Log when playback is startedJonathan Davies
2025-12-10Remove redundant assignment in playback start logicMasood
2025-12-10Fix watched status resetting on re-watchMasood
2025-07-20Use RequestHelpers.GetSession in SessionWebSocketListener (#14494)Niels van Velzen
2025-06-23RemoveNowPlayingItem should also set FullNowPlayingItem to null (#14360) bbMason Weigand
2025-06-09fix(Session): don't query DB if queue hasn't changed (#14244)Sid K
2025-06-06Fixing race condition in GetSessionInfo (#14131)Mohammed Alhaddar
2025-03-31Cleanup ItemFields (#13818)Tim Eisele
* Cleanup ItemFields * Update MediaBrowser.Model/Querying/ItemFields.cs
2025-03-27Fix consumer count off by one when closing a browser tab with a livestream ↵timminator
that is transcoding (#13220) Rework Implementation Fix review issues Add missing nullorempty check Fix closely related #13721
2025-03-25Fixed namespacesJPVenson
2025-03-25WIP fixed namespacesJPVenson
2025-03-25Merge branch 'master' into feature/DatabaseRefactorJPVenson
2025-03-20Fix OnPlaybackStopped task erroring out (#13226)timminator
2025-02-19Merge remote-tracking branch 'jellyfinorigin/master' into ↵JPVenson
feature/DatabaseRefactor
2025-02-09Backport pull request #13459 from jellyfin/release-10.10.zJPVenson
Fixed Websocket not locking state correctly Original-merge: 49bb5a6442ac8b0ddaff7958acedd43e1a72137c Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-02Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_providerJPVenson
2025-01-28Merge pull request #12925 from Bond-009/awaitBond-009
Always await instead of directly returning Task
2025-01-26Prepared Seperation of Database components for future multi provider supportJPVenson
2025-01-25chore: fix spellingJosh Soref
* 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>
2024-12-12move to new System.Threading.Lock type for better performanceDaniyar Alpyspayev
2024-11-03Backport pull request #12915 from jellyfin/release-10.10.zJPVenson
Fixed possible NullReferenceException in SessionManager Original-merge: 3592c629e78e80c9d2fc9e368c5d61a11c1bf688 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-10-31Always await instead of directly returning TaskBond_009
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-09-24Fix get sessions with api key (#12696)gnattu
2024-09-18Fix permission checksShadowghost
2024-09-18Add SessionInfoDto, DeviceInfoDto and implement ↵Shadowghost
JsonDelimitedArrayConverter.Write
2024-08-30Remove passwordSha1 param from AuthenticateUser functionBond_009
2024-08-05Backport pull request #11901 from jellyfin/release-10.9.zgnattu
Implement Device Cache to replace EFCoreSecondLevelCacheInterceptor Original-merge: b7bc0e1c96553675a490c0bd92a58ad9c5f0d0e1 Merged-by: joshuaboniface <joshua@boniface.me> Backported-by: Bond_009 <bond.009@outlook.com>
2024-06-01Backport pull request #11806 from jellyfin/release-10.9.zShadowghost
Return missing episodes for series when no user defined Original-merge: ae584beaac0123f6a722f341a4e12b8f8fbcaf34 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-04-30More efficient array creation (#11468)Bond-009
2024-04-17Changes SessionWebSocketListener to (re)use a timer (#11358)Bond-009
2024-04-12Enable more warnings as errors (#11288)Bond-009
2024-03-18refactor: use Channels as queueing mechanism for periodic websocket messages ↵Claus Vium
(#11092)
2024-02-09Add PlaybackOrder to Session stateDamian Kacperski
2024-01-17Use helper function to compare guid (#10825)Cody Robibero
2024-01-14Fixed disposable not being called (#10613)JPVenson
* Fixed disposable not being called * PulledUp usage of IAsyncDisposable for sessioninfo Co-authored-by: Patrick Barron <barronpm@gmail.com>
2024-01-06Remove some unused client capabilities and sync code (#10812)Niels van Velzen