Message: Invalidate big emoji on updates (#5469)

This commit is contained in:
zubiden 2025-01-21 18:21:04 +01:00 committed by Alexander Zinchuk
parent aabf78a8fa
commit 6174ffaf3e
2 changed files with 19 additions and 2 deletions

View File

@ -42,7 +42,6 @@ import {
SUPPORTED_PHOTO_CONTENT_TYPES,
SUPPORTED_VIDEO_CONTENT_TYPES,
} from '../../../config';
import { getEmojiOnlyCountForMessage } from '../../../global/helpers/getEmojiOnlyCountForMessage';
import { fetchFile } from '../../../util/files';
import { compact, split } from '../../../util/iteratees';
import { getMessageKey } from '../../../util/keys/messageKey';
@ -624,7 +623,6 @@ export async function editMessage({
const messageUpdate: Partial<ApiMessage> = {
...message,
content: newContent,
emojiOnlyCount: getEmojiOnlyCountForMessage(newContent, message.groupedId),
isInvertedMedia,
};

View File

@ -27,6 +27,7 @@ import { isLocalMessageId, type MessageKey } from '../../util/keys/messageKey';
import {
hasMessageTtl, isMediaLoadableInViewer, mergeIdRanges, orderHistoryIds, orderPinnedIds,
} from '../helpers';
import { getEmojiOnlyCountForMessage } from '../helpers/getEmojiOnlyCountForMessage';
import {
selectChatMessage,
selectChatMessages,
@ -264,9 +265,18 @@ export function updateChatMessage<T extends GlobalState>(
};
}
}
let emojiOnlyCount = message?.emojiOnlyCount;
if (messageUpdate.content) {
emojiOnlyCount = getEmojiOnlyCountForMessage(
messageUpdate.content, message?.groupedId || messageUpdate.groupedId,
);
}
const updatedMessage = {
...message,
...messageUpdate,
emojiOnlyCount,
};
if (!updatedMessage.id) {
@ -283,9 +293,18 @@ export function updateScheduledMessage<T extends GlobalState>(
global: T, chatId: string, messageId: number, messageUpdate: Partial<ApiMessage>,
): T {
const message = selectScheduledMessage(global, chatId, messageId)!;
let emojiOnlyCount = message?.emojiOnlyCount;
if (messageUpdate.content) {
emojiOnlyCount = getEmojiOnlyCountForMessage(
messageUpdate.content, message?.groupedId || messageUpdate.groupedId,
);
}
const updatedMessage = {
...message,
...messageUpdate,
emojiOnlyCount,
};
if (!updatedMessage.id) {