diff --git a/native/chat/message-list-container.react.js b/native/chat/message-list-container.react.js --- a/native/chat/message-list-container.react.js +++ b/native/chat/message-list-container.react.js @@ -388,7 +388,7 @@ params: { threadInfo, }, - key: `PinnedMessages${threadInfo.id}`, + key: `MessageResultsScreen${threadInfo.id}`, }); }, [props.navigation, threadInfo]); diff --git a/native/chat/text-message.react.js b/native/chat/text-message.react.js --- a/native/chat/text-message.react.js +++ b/native/chat/text-message.react.js @@ -29,8 +29,12 @@ OverlayContext, type OverlayContextType, } from '../navigation/overlay-context.js'; +import { + MessageResultsScreenRouteName, + MessageSearchRouteName, + TextMessageTooltipModalRouteName, +} from '../navigation/route-names.js'; import type { NavigationRoute } from '../navigation/route-names.js'; -import { TextMessageTooltipModalRouteName } from '../navigation/route-names.js'; import { fixedTooltipHeight } from '../tooltip/tooltip.react.js'; import type { ChatTextMessageInfoItemWithHeight } from '../types/chat-types.js'; import type { VerticalBounds } from '../types/layout-types.js'; @@ -269,9 +273,16 @@ const editMessageID = messageEditingContext?.editState.editedMessage?.id; const isThisMessageEdited = editMessageID === props.item.messageInfo.id; + const screenName = props.route.key; + const threadCreationTime = props.item.threadInfo.creationTime; + const messageCreationTime = props.item.messageInfo.time; + const canEditMessage = useCanEditMessage(props.item.threadInfo, props.item.messageInfo) && - !isThisMessageEdited; + !isThisMessageEdited && + !screenName.startsWith(MessageSearchRouteName) && + !screenName.startsWith(MessageResultsScreenRouteName) && + messageCreationTime > threadCreationTime; const canTogglePins = threadHasPermission( props.item.threadInfo,