aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations
diff options
context:
space:
mode:
authorfmarcac <188743521+fmarcac@users.noreply.github.com>2026-09-05 14:24:48 +0200
committerfmarcac <188743521+fmarcac@users.noreply.github.com>2026-09-05 14:24:48 +0200
commit51a7d5d08a3dc00ec3c83f4491be0436a4098096 (patch)
tree25723e3fe68718eb8a983c44a50c01f307bb8c07 /Emby.Server.Implementations
parentc80f05fad100433077c3011baeebb52271939823 (diff)
Fix SyncPlay active session counter leaking on rejoin
Diffstat (limited to 'Emby.Server.Implementations')
-rw-r--r--Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs b/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs
index b45d754554..a2b9088708 100644
--- a/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs
+++ b/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs
@@ -181,8 +181,8 @@ namespace Emby.Server.Implementations.SyncPlay
{
if (existingGroup.GroupId.Equals(request.GroupId))
{
- // Restore session.
- UpdateSessionsCounter(session.UserId, 1);
+ // Restore session. The session is already in the group and has already
+ // been counted, so the counter must not be incremented a second time.
group.SessionJoin(session, request, cancellationToken);
return;
}
@@ -400,7 +400,7 @@ namespace Emby.Server.Implementations.SyncPlay
// Update sessions counter.
var newSessionsCounter = _activeUsers.AddOrUpdate(
userId,
- 1,
+ toAdd,
(_, sessionsCounter) => sessionsCounter + toAdd);
// Should never happen.