From e7bdc12dfc693b9b870b2d7ad1d5b1a24a4339b4 Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Wed, 4 Jun 2025 20:40:44 +0200 Subject: [PATCH] Chat List: Remove sender from private chat preview (#5938) --- src/components/left/main/hooks/useChatListEntry.tsx | 4 +++- src/components/middle/search/MiddleSearchResult.tsx | 2 +- src/global/helpers/peers.ts | 10 +++++----- src/util/notifications.tsx | 3 ++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/components/left/main/hooks/useChatListEntry.tsx b/src/components/left/main/hooks/useChatListEntry.tsx index 36128da87..3c6e8fc44 100644 --- a/src/components/left/main/hooks/useChatListEntry.tsx +++ b/src/components/left/main/hooks/useChatListEntry.tsx @@ -116,7 +116,9 @@ export default function useChatListEntry({ return undefined; } - const senderName = getMessageSenderName(oldLang, chatId, lastMessageSender); + const senderName = lastMessageSender + ? getMessageSenderName(oldLang, chatId, lastMessageSender) + : undefined; return (
diff --git a/src/components/middle/search/MiddleSearchResult.tsx b/src/components/middle/search/MiddleSearchResult.tsx
index da60cbf1f..7c62fd432 100644
--- a/src/components/middle/search/MiddleSearchResult.tsx
+++ b/src/components/middle/search/MiddleSearchResult.tsx
@@ -44,7 +44,7 @@ const MiddleSearchResult = ({
const peer = shouldShowChat ? messageChat : senderPeer;
- const senderName = shouldShowChat ? getMessageSenderName(lang, message.chatId, senderPeer) : undefined;
+ const senderName = shouldShowChat && senderPeer ? getMessageSenderName(lang, message.chatId, senderPeer) : undefined;
const handleClick = useLastCallback(() => {
onClick(message);
diff --git a/src/global/helpers/peers.ts b/src/global/helpers/peers.ts
index 1ce8c5db0..d403a585f 100644
--- a/src/global/helpers/peers.ts
+++ b/src/global/helpers/peers.ts
@@ -3,6 +3,7 @@ import type { OldLangFn } from '../../hooks/useOldLang';
import type { CustomPeer } from '../../types';
import { SERVICE_NOTIFICATIONS_USER_ID } from '../../config';
+import { isUserId } from '../../util/entities/ids';
import { getTranslationFn, type LangFn } from '../../util/localization';
import { prepareSearchWordsForNeedle } from '../../util/searchWords';
import { selectChat, selectPeer, selectUser } from '../selectors';
@@ -110,10 +111,9 @@ export function getPeerFullTitle(lang: OldLangFn | LangFn, peer: ApiPeer | Custo
return isApiPeerUser(peer) ? getUserFullName(peer) : getChatTitle(lang, peer);
}
-export function getMessageSenderName(lang: OldLangFn, chatId: string, sender?: ApiPeer) {
- if (!sender) {
- return undefined;
- }
+export function getMessageSenderName(lang: OldLangFn, chatId: string, sender: ApiPeer) {
+ // Hide sender name for private chats
+ if (isUserId(chatId)) return undefined;
if (isApiPeerChat(sender)) {
if (chatId === sender.id) return undefined;
@@ -125,5 +125,5 @@ export function getMessageSenderName(lang: OldLangFn, chatId: string, sender?: A
return lang('FromYou');
}
- return getUserFirstOrLastName(sender);
+ return getPeerTitle(lang, sender);
}
diff --git a/src/util/notifications.tsx b/src/util/notifications.tsx
index 386e99e9f..2180d518f 100644
--- a/src/util/notifications.tsx
+++ b/src/util/notifications.tsx
@@ -319,7 +319,8 @@ function getNotificationContent(chat: ApiChat, message: ApiMessage, reaction?: A
const isChat = chat && (isChatChannel(chat) || message.senderId === message.chatId);
// TODO[forums] Support ApiChat
- const senderName = getMessageSenderName(oldTranslate, chat.id, isChat ? messageSenderChat : messageSenderUser);
+ const sender = isChat ? messageSenderChat : messageSenderUser;
+ const senderName = sender ? getMessageSenderName(oldTranslate, chat.id, sender) : undefined;
let summary = jsxToHtml(