From c50bc7347ac2476d867165b6d24f8e3a6631affe Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 18 Jun 2025 17:41:01 +0200 Subject: [PATCH] Messages: Fix message sending in threads (#6008) --- src/global/actions/api/messages.ts | 7 ++++++- src/global/actions/apiUpdaters/messages.ts | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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');