Fixed callbacks for cleaning up profiles.

This commit is contained in:
CakeAndBanana
2025-10-13 00:39:30 +02:00
parent b43ceb9f7e
commit c447c33b7a
4 changed files with 30 additions and 6 deletions

View File

@@ -44,7 +44,21 @@ public class LightlessProfileManager : MediatorSubscriberBase
else
_lightlessUserProfiles.Clear();
});
Mediator.Subscribe<DisconnectedMessage>(this, (_) => _lightlessUserProfiles.Clear());
Mediator.Subscribe<ClearProfileGroupDataMessage>(this, (msg) =>
{
if (msg.GroupData != null)
_lightlessGroupProfiles.Remove(msg.GroupData, out _);
else
_lightlessGroupProfiles.Clear();
});
Mediator.Subscribe<DisconnectedMessage>(this, (_) =>
{
_lightlessUserProfiles.Clear();
_lightlessGroupProfiles.Clear();
}
);
}
public LightlessUserProfileData GetLightlessUserProfile(UserData data)

View File

@@ -65,6 +65,14 @@ public class SyncshellAdminUI : WindowMediatorSubscriberBase
_multiInvites = 30;
_pwChangeSuccess = true;
IsOpen = true;
Mediator.Subscribe<ClearProfileGroupDataMessage>(this, (msg) =>
{
if (msg.GroupData == null || string.Equals(msg.GroupData.GID, GroupFullInfo.Group.GID, StringComparison.Ordinal))
{
_pfpTextureWrap?.Dispose();
_pfpTextureWrap = null;
}
});
SizeConstraints = new WindowSizeConstraints()
{
MinimumSize = new(700, 500),

View File

@@ -199,6 +199,13 @@ public partial class ApiController
return Task.CompletedTask;
}
public Task Client_GroupSendProfile(GroupProfileDto groupInfo)
{
Logger.LogDebug("Client_GroupSendProfile: {dto}", groupInfo);
ExecuteSafely(() => Mediator.Publish(new ClearProfileGroupDataMessage(groupInfo.Group)));
return Task.CompletedTask;
}
public Task Client_UserUpdateSelfPairPermissions(UserPermissionsDto dto)
{
Logger.LogDebug("Client_UserUpdateSelfPairPermissions: {dto}", dto);

View File

@@ -607,10 +607,5 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IL
ServerState = state;
}
public Task Client_GroupSendProfile(GroupProfileDto groupInfo)
{
throw new NotImplementedException();
}
}
#pragma warning restore MA0040