diff --git a/lib/shared/thread-utils.js b/lib/shared/thread-utils.js --- a/lib/shared/thread-utils.js +++ b/lib/shared/thread-utils.js @@ -209,18 +209,23 @@ .map(memberInfo => memberInfo.id); } +function threadMembersWithoutAddedAshoat( + threadInfo: T, +): $PropertyType { + if (threadInfo.community !== genesis.id) { + return threadInfo.members; + } + return threadInfo.members.filter( + member => member.id !== ashoat.id || member.role, + ); +} + function threadIsGroupChat(threadInfo: ThreadInfo | RawThreadInfo): boolean { return ( - threadInfo.members.filter(member => { - if ( - member.id === ashoat.id && - !member.role && - threadInfo.community === genesis.id - ) { - return false; - } - return member.role || member.permissions[threadPermissions.VOICED]?.value; - }).length > 2 + threadMembersWithoutAddedAshoat(threadInfo).filter( + member => + member.role || member.permissions[threadPermissions.VOICED]?.value, + ).length > 2 ); } @@ -1456,4 +1461,5 @@ switchMemberAdminRoleInThread, getAvailableThreadMemberActions, selectedThreadColors, + threadMembersWithoutAddedAshoat, }; diff --git a/native/chat/message-list-header-title.react.js b/native/chat/message-list-header-title.react.js --- a/native/chat/message-list-header-title.react.js +++ b/native/chat/message-list-header-title.react.js @@ -5,7 +5,10 @@ import { View, Platform } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; -import { threadIsPending } from 'lib/shared/thread-utils'; +import { + threadIsPending, + threadMembersWithoutAddedAshoat, +} from 'lib/shared/thread-utils'; import type { ThreadInfo } from 'lib/types/thread-types'; import { firstLine } from 'lib/utils/string-utils'; @@ -26,7 +29,8 @@ class MessageListHeaderTitle extends React.PureComponent { render() { const isSearchEmpty = - this.props.searching && this.props.threadInfo.members.length === 1; + this.props.searching && + threadMembersWithoutAddedAshoat(this.props.threadInfo).length === 1; let icon, fakeIcon; const areSettingsDisabled = threadIsPending(this.props.threadInfo.id) || isSearchEmpty;