🐛 Trying to fix sync API of messages

This commit is contained in:
2025-07-23 13:03:56 +08:00
parent c316a099f8
commit b4c8096c41

View File

@@ -341,13 +341,13 @@ public partial class ChatService(
m => m!.ChatRoomId, m => m!.ChatRoomId,
m => m m => m
); );
var messageSenders = messages var messageSenders = messages
.Select(m => m.Value!.Sender) .Select(m => m.Value!.Sender)
.DistinctBy(x => x.Id) .DistinctBy(x => x.Id)
.ToList(); .ToList();
messageSenders = await crs.LoadMemberAccounts(messageSenders); messageSenders = await crs.LoadMemberAccounts(messageSenders);
foreach (var message in messages) foreach (var message in messages)
message.Value!.Sender = messageSenders.First(x => x.Id == message.Value.SenderId); message.Value!.Sender = messageSenders.First(x => x.Id == message.Value.SenderId);
@@ -470,6 +470,7 @@ public partial class ChatService(
.ToListAsync(); .ToListAsync();
var changesMembers = changes var changesMembers = changes
.Where(c => c.Message != null)
.Select(c => c.Message!.Sender) .Select(c => c.Message!.Sender)
.DistinctBy(x => x.Id) .DistinctBy(x => x.Id)
.ToList(); .ToList();
@@ -595,4 +596,4 @@ public class SyncResponse
{ {
public List<MessageChange> Changes { get; set; } = []; public List<MessageChange> Changes { get; set; } = [];
public Instant CurrentTimestamp { get; set; } public Instant CurrentTimestamp { get; set; }
} }