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 @@ -291,6 +291,7 @@ endsCluster: boolean, +threadCreatedFromMessage: ?ThreadInfo, +reactions: ReactionInfo, + +hasBeenEdited: boolean, }; export type ChatMessageItem = { itemType: 'loader' } | ChatMessageInfoItem; @@ -397,13 +398,18 @@ continue; } + let hasBeenEdited = false; if ( originalMessageInfo.type === messageTypes.TEXT && originalMessageInfo.id ) { const newText = targetMessageEditMap.get(originalMessageInfo.id); if (newText !== undefined) { - originalMessageInfo = { ...originalMessageInfo, text: newText }; + hasBeenEdited = true; + originalMessageInfo = { + ...originalMessageInfo, + text: newText, + }; } } @@ -489,6 +495,7 @@ endsCluster: false, threadCreatedFromMessage, reactions: renderedReactions, + hasBeenEdited, }); } else { invariant( diff --git a/native/chat/chat-item-height-measurer.react.js b/native/chat/chat-item-height-measurer.react.js --- a/native/chat/chat-item-height-measurer.react.js +++ b/native/chat/chat-item-height-measurer.react.js @@ -99,6 +99,7 @@ threadCreatedFromMessage: item.threadCreatedFromMessage, pendingUploads, reactions: item.reactions, + hasBeenEdited: item.hasBeenEdited, ...sizes, }; } @@ -124,6 +125,7 @@ threadCreatedFromMessage: item.threadCreatedFromMessage, contentHeight: height, reactions: item.reactions, + hasBeenEdited: item.hasBeenEdited, }; } invariant( diff --git a/native/types/chat-types.js b/native/types/chat-types.js --- a/native/types/chat-types.js +++ b/native/types/chat-types.js @@ -38,6 +38,7 @@ +contentHeight: number, +threadCreatedFromMessage: ?ThreadInfo, +reactions: ReactionInfo, + +hasBeenEdited: ?boolean, }; export type MultimediaContentSizes = { @@ -58,6 +59,7 @@ +threadCreatedFromMessage: ?ThreadInfo, +pendingUploads: ?MessagePendingUploads, +reactions: ReactionInfo, + +hasBeenEdited: ?boolean, }; export type ChatMessageInfoItemWithHeight =