Page MenuHomePhorge

D12149.1767269521.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D12149.1767269521.diff

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
@@ -189,9 +189,26 @@
): $ReadOnlyArray<ThreadInfo> {
const loggedInUserInfo = useLoggedInUserInfo();
const userInfos = useSelector(state => state.userStore.userInfos);
+ const allThreadInfos = useSelector(state => state.threadStore.threadInfos);
+ const allThreadInfosArray = React.useMemo(
+ () => values(allThreadInfos),
+ [allThreadInfos],
+ );
+
+ const communityRootMembersToRole =
+ useCommunityRootMembersToRole(allThreadInfosArray);
return React.useMemo(() => {
return threadInfos.filter((threadInfo: ThreadInfo) => {
+ const membersToRole = communityRootMembersToRole[threadInfo.id];
+ const memberHasAdminRole = threadMembersWithoutAddedAdmin(
+ threadInfo,
+ ).some(member => roleIsAdminRole(membersToRole[member.id]));
+
+ if (memberHasAdminRole) {
+ return hasPermission(threadInfo.currentUser.permissions, permission);
+ }
+
const permissions = threadFrozenDueToBlock(
threadInfo,
loggedInUserInfo?.id,
@@ -202,7 +219,13 @@
return hasPermission(permissions, permission);
});
- }, [loggedInUserInfo?.id, permission, threadInfos, userInfos]);
+ }, [
+ loggedInUserInfo?.id,
+ permission,
+ threadInfos,
+ userInfos,
+ communityRootMembersToRole,
+ ]);
}
function useThreadHasPermission(

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 1, 12:12 PM (19 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5874342
Default Alt Text
D12149.1767269521.diff (1 KB)

Event Timeline