diff --git a/lib/shared/reaction-utils.js b/lib/shared/reaction-utils.js --- a/lib/shared/reaction-utils.js +++ b/lib/shared/reaction-utils.js @@ -4,7 +4,7 @@ import * as React from 'react'; import { relationshipBlockedInEitherDirection } from './relationship-utils.js'; -import { threadHasPermission } from './thread-utils.js'; +import { useThreadHasPermission } from './thread-utils.js'; import { stringForUserExplicit } from './user-utils.js'; import { useENSNames } from '../hooks/ens-cache.js'; import type { ReactionInfo } from '../selectors/chat-selectors.js'; @@ -83,6 +83,14 @@ ?.relationshipStatus, ); + const userHasReactionPermission = useThreadHasPermission( + threadInfo, + threadPermissions.REACT_TO_MESSAGE, + ); + if (!userHasReactionPermission) { + return false; + } + if ( !targetMessageInfo.id || threadInfo.sourceMessageID === targetMessageInfo.id @@ -90,16 +98,10 @@ return false; } - const creatorRelationshipHasBlock = - targetMessageCreatorRelationship && - relationshipBlockedInEitherDirection(targetMessageCreatorRelationship); - - const hasPermission = threadHasPermission( - threadInfo, - threadPermissions.REACT_TO_MESSAGE, + return ( + !targetMessageCreatorRelationship || + !relationshipBlockedInEitherDirection(targetMessageCreatorRelationship) ); - - return hasPermission && !creatorRelationshipHasBlock; } export {