From d26546cf7c2b5bf5c670b259a91df386ccce56a4 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Wed, 20 Nov 2024 11:55:05 +0100 Subject: [PATCH] fix permissions for pairs rejoining on syncshells w/ prior pairing but no current connection --- .../MareSynchronosServer/Hubs/MareHub.Groups.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs index 9d3b588..ca03d5a 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Groups.cs @@ -417,7 +417,7 @@ public partial class MareHub DisableAnimations = preferredPermissions.DisableAnimations, DisableSounds = preferredPermissions.DisableSounds, DisableVFX = preferredPermissions.DisableVFX, - IsPaused = false, + IsPaused = preferredPermissions.IsPaused, Sticky = false }; @@ -471,6 +471,16 @@ public partial class MareHub await DbContext.AddAsync(existingPermissionsOnDb).ConfigureAwait(false); } + else if (!allUserPairs.ContainsKey(pair.GroupUserUID)) + { + var otherPreferred = await DbContext.GroupPairPreferredPermissions.SingleAsync(u => u.GroupGID == group.GID && u.UserUID == pair.GroupUserUID).ConfigureAwait(false); + existingPermissionsOnDb.DisableAnimations = otherPreferred.DisableAnimations; + existingPermissionsOnDb.DisableSounds = otherPreferred.DisableSounds; + existingPermissionsOnDb.DisableVFX = otherPreferred.DisableVFX; + existingPermissionsOnDb.IsPaused = otherPreferred.IsPaused; + + DbContext.Update(existingPermissionsOnDb); + } otherPermissionToSelf = existingPermissionsOnDb; }