From 02ae634690a5d7608f884498254044ee3d364ad5 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 1 Jun 2025 03:22:11 +0800 Subject: [PATCH] :bug: Trying to fix chat response missing sender --- DysonNetwork.Sphere/Chat/ChatService.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/DysonNetwork.Sphere/Chat/ChatService.cs b/DysonNetwork.Sphere/Chat/ChatService.cs index a9c54df..25a215e 100644 --- a/DysonNetwork.Sphere/Chat/ChatService.cs +++ b/DysonNetwork.Sphere/Chat/ChatService.cs @@ -50,6 +50,8 @@ public class ChatService( } }); + message.Sender = sender; + message.ChatRoom = room; return message; } @@ -60,6 +62,9 @@ public class ChatService( string type = WebSocketPacketType.MessageNew ) { + message.Sender = sender; + message.ChatRoom = room; + using var scope = scopeFactory.CreateScope(); var scopedWs = scope.ServiceProvider.GetRequiredService(); var scopedNty = scope.ServiceProvider.GetRequiredService(); @@ -101,16 +106,15 @@ public class ChatService( List accountsToNotify = []; foreach (var member in members) { - // Send WebSocket packet + if (member.Account.Id == sender.AccountId) continue; + scopedWs.SendPacketToAccount(member.AccountId, new WebSocketPacket { Type = type, Data = message }); - // Only add accounts that aren't null - if (member.Account.Id != sender.AccountId) - accountsToNotify.Add(member.Account); + accountsToNotify.Add(member.Account); } logger.LogInformation($"Trying to deliver message to {accountsToNotify.Count} accounts...");