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 @@ -602,7 +602,32 @@ thread.messageIDs.every( id => messageInfos[id]?.type !== messageTypes.SIDEBAR_SOURCE, )); - return shouldSourceBeAdded ? messageInfos[sourceMessageID] : null; + + if (!shouldSourceBeAdded) { + return null; + } + + let result = messageInfos[sourceMessageID]; + if (result && result.type === messageTypes.TEXT) { + const containingThread = + state.messageStore.threads[threadInfo.containingThreadID]; + const threadMessageInfos = (containingThread?.messageIDs ?? []) + .map((messageID: string) => messageInfos[messageID]) + .filter(Boolean) + .filter( + message => + message.type === messageTypes.EDIT_MESSAGE && + message.targetMessageID === sourceMessageID, + ); + + if (threadMessageInfos.length !== 0) { + result = { + ...result, + text: threadMessageInfos[0].text, + }; + } + } + return result; }); invariant(