diff --git a/lib/selectors/chat-selectors.js b/lib/selectors/chat-selectors.js --- a/lib/selectors/chat-selectors.js +++ b/lib/selectors/chat-selectors.js @@ -367,6 +367,15 @@ } } + const targetMessageEditMap = new Map(); + for (let i = messages.length - 1; i >= 0; i--) { + const messageInfo = messages[i]; + if (messageInfo.type !== messageTypes.EDIT_MESSAGE) { + continue; + } + targetMessageEditMap.set(messageInfo.targetMessageID, messageInfo.text); + } + const chatMessageItems = []; let lastMessageInfo = null; for (let i = messages.length - 1; i >= 0; i--) { @@ -379,7 +388,7 @@ continue; } - const originalMessageInfo = + let originalMessageInfo = messageInfo.type === messageTypes.SIDEBAR_SOURCE ? messageInfo.sourceMessage : messageInfo; @@ -388,6 +397,16 @@ continue; } + if ( + originalMessageInfo.type === messageTypes.TEXT && + originalMessageInfo.id + ) { + const newText = targetMessageEditMap.get(originalMessageInfo.id); + if (newText !== undefined) { + originalMessageInfo = { ...originalMessageInfo, text: newText }; + } + } + let startsConversation = true; let startsCluster = true; if (