diff --git a/src/global/actions/api/messages.ts b/src/global/actions/api/messages.ts index 813423728..71d2f804f 100644 --- a/src/global/actions/api/messages.ts +++ b/src/global/actions/api/messages.ts @@ -2077,7 +2077,7 @@ addActionHandler('loadMessageViews', async (global, actions, payload): Promise( } export function updateChatMessage( - global: T, chatId: string, messageId: number, messageUpdate: Partial, + global: T, chatId: string, messageId: number, messageUpdate: Partial, withDeepCheck = false, ): T { const byId = selectChatMessages(global, chatId) || {}; const message = byId[messageId]; + + if (withDeepCheck && message) { + const updateKeys = Object.keys(messageUpdate) as (keyof ApiMessage)[]; + if (areDeepEqual(pick(message, updateKeys), messageUpdate)) { + return global; + } + } + if (message && messageUpdate.isMediaUnread === false && hasMessageTtl(message)) { if (message.content.voice) { messageUpdate.content = {