diff --git a/native/chat/multimedia-message.react.js b/native/chat/multimedia-message.react.js --- a/native/chat/multimedia-message.react.js +++ b/native/chat/multimedia-message.react.js @@ -242,10 +242,11 @@ props.item.threadInfo, props.item.messageInfo, ); - const canTogglePins = threadHasPermission( - props.item.threadInfo, - threadPermissions.MANAGE_PINS, - ); + const canTogglePins = + threadHasPermission( + props.item.threadInfo, + threadPermissions.MANAGE_PINS, + ) && props.item.threadInfo.sourceMessageID !== props.item.messageInfo.id; return ( clearMarkdownContextData, [clearMarkdownContextData]); diff --git a/web/utils/tooltip-action-utils.js b/web/utils/tooltip-action-utils.js --- a/web/utils/tooltip-action-utils.js +++ b/web/utils/tooltip-action-utils.js @@ -276,7 +276,8 @@ const canTogglePin = !isInvalidPinSource(messageInfo) && - threadHasPermission(threadInfo, threadPermissions.MANAGE_PINS); + threadHasPermission(threadInfo, threadPermissions.MANAGE_PINS) && + threadInfo.sourceMessageID !== item.messageInfo.id; const inputState = React.useContext(InputStateContext);