diff --git a/src/api/gramjs/methods/messages.ts b/src/api/gramjs/methods/messages.ts index c11b5c847..7b2938583 100644 --- a/src/api/gramjs/methods/messages.ts +++ b/src/api/gramjs/methods/messages.ts @@ -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 = { ...message, content: newContent, - emojiOnlyCount: getEmojiOnlyCountForMessage(newContent, message.groupedId), isInvertedMedia, }; diff --git a/src/global/reducers/messages.ts b/src/global/reducers/messages.ts index c7cd42fc6..c88175065 100644 --- a/src/global/reducers/messages.ts +++ b/src/global/reducers/messages.ts @@ -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( }; } } + + 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( global: T, chatId: string, messageId: number, messageUpdate: Partial, ): 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) {