diff --git a/src/global/actions/api/messages.ts b/src/global/actions/api/messages.ts index 934fdcd37..037614a93 100644 --- a/src/global/actions/api/messages.ts +++ b/src/global/actions/api/messages.ts @@ -138,6 +138,7 @@ import { selectSendAs, selectTabState, selectThreadIdFromMessage, + selectThreadInfo, selectTopic, selectTranslationLanguage, selectUser, @@ -344,7 +345,11 @@ addActionHandler('sendMessage', async (global, actions, payload): Promise const messageReplyInfo = selectMessageReplyInfo(global, chatId!, threadId!, draftReplyInfo); const replyInfo = storyReplyInfo || messageReplyInfo; - const lastMessageId = selectChatLastMessageId(global, chatId!); + + const threadInfo = selectThreadInfo(global, chatId!, threadId!); + const lastMessageId = threadId === MAIN_THREAD_ID + ? selectChatLastMessageId(global, chatId!) : threadInfo?.lastMessageId; + const messagePriceInStars = await getPeerStarsForMessage(global, chatId!); const params: SendMessageParams = { diff --git a/src/global/actions/apiUpdaters/messages.ts b/src/global/actions/apiUpdaters/messages.ts index 7cd227239..d1645fc79 100644 --- a/src/global/actions/apiUpdaters/messages.ts +++ b/src/global/actions/apiUpdaters/messages.ts @@ -1088,6 +1088,11 @@ function updateChatLastMessage( }); } + const threadId = selectThreadIdFromMessage(global, message); + global = updateThreadInfo(global, chatId, threadId, { + lastMessageId: message.id, + }); + const savedDialogId = selectSavedDialogIdFromMessage(global, message); if (savedDialogId) { global = updateChatLastMessageId(global, savedDialogId, message.id, 'saved');