fix(web): sync group member nicknames

This commit is contained in:
richjohnrambo
2026-10-17 10:12:20 +08:00
parent 8bdb8ed5a5
commit dd29eaca42
11 changed files with 60 additions and 21 deletions
@@ -28,6 +28,7 @@ import { flatTextContentOf, isRecalled } from '@/lib/messages/dispatch';
import { buildMentionedContent, detectMentionTrigger, type PendingMention } from '@/lib/messages/mentions';
import { buildReplyInfo, replySnapshotText } from '@/lib/messages/reply';
import { groupSenderLabel } from '@/lib/messages/sender-name';
import { groupMemberDisplayName } from '@/lib/messages/group-member-name';
import { sendFile, sendImage, sendVoice } from '@/lib/tinode/attachments';
import { isTopicGone } from '@/lib/tinode/errors';
import { useChatList, useTinode, useTopicMessages } from '@/lib/tinode/hooks';
@@ -602,7 +603,8 @@ export function ConversationView() {
const quotedSenderLabel = (fromUserId: string | undefined) => {
if (myUserId && fromUserId === myUserId) return '我';
if (isGroup && fromUserId) {
return groupSenderLabel(memberByUserId.get(fromUserId)?.display_name, staleSenderById.get(fromUserId)?.display_name);
const member = memberByUserId.get(fromUserId);
return groupSenderLabel(member && groupMemberDisplayName(member), staleSenderById.get(fromUserId)?.display_name);
}
return peerName;
};
@@ -1075,7 +1077,7 @@ export function ConversationView() {
mine={mine}
isGroup={isGroup}
peerName={peerName}
senderName={sender?.display_name || staleSender?.display_name}
senderName={sender ? groupMemberDisplayName(sender) : staleSender?.display_name}
senderRole={sender?.role}
avatarFileId={rowAvatarFileId}
selectMode={selectMode}