From 43082f271bb6f2d54c2880d7387bfa4e19ec59aa Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 8 Feb 2023 00:47:44 +0100 Subject: [PATCH] Message List: Mark inbox as read when sending message (#2522) --- src/global/actions/apiUpdaters/messages.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/global/actions/apiUpdaters/messages.ts b/src/global/actions/apiUpdaters/messages.ts index c5e1587a3..b83d1727a 100644 --- a/src/global/actions/apiUpdaters/messages.ts +++ b/src/global/actions/apiUpdaters/messages.ts @@ -267,14 +267,16 @@ addActionHandler('apiUpdate', (global, actions, update): ActionReturnType => { const thread = selectThreadByMessage(global, message); // For some reason Telegram requires to manually mark outgoing thread messages read + Object.values(global.byTabId).forEach(({ id: tabId }) => { + const { chatId: currentChatId, threadId: currentThreadId } = selectCurrentMessageList(global, tabId) || {}; + if (currentChatId !== chatId + || (thread?.threadInfo?.threadId || MAIN_THREAD_ID) !== currentThreadId) { + return; + } + + actions.markMessageListRead({ maxId: message.id, tabId }); + }); if (thread?.threadInfo) { - Object.values(global.byTabId).forEach(({ id: tabId }) => { - const { chatId: currentChatId, threadId: currentThreadId } = selectCurrentMessageList(global, tabId) || {}; - if (currentChatId !== chatId || thread.threadInfo?.threadId !== currentThreadId) return; - - actions.markMessageListRead({ maxId: message.id, tabId }); - }); - global = replaceThreadParam(global, chatId, thread.threadInfo.threadId, 'threadInfo', { ...thread.threadInfo, lastMessageId: message.id,