From 79aab3e418b7a282e2d289c2b885cb5c44dee392 Mon Sep 17 00:00:00 2001 From: Qiyun Dai Date: Thu, 21 May 2026 12:09:41 -0700 Subject: [PATCH] fix(scope-group-mgmt): show all members when group matched by name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When searching by group name, the expanded member list was always empty because the same query term was applied to filter users — who naturally don't match the group name. Now, if the group itself matches the query (name or description), all its members are shown; filtering is only applied when the group surfaced via a member match. Also adds a defensive empty-string guard to groupMetaMatchesQuery, matching the style of the parallel userMatchesQuery helper. Co-Authored-By: Claude Sonnet 4.6 --- .../src/pages/ScopeGroupManagement/ScopeGroupManagement.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/web-src/src/pages/ScopeGroupManagement/ScopeGroupManagement.tsx b/web-src/src/pages/ScopeGroupManagement/ScopeGroupManagement.tsx index 7d40ab8..26665d1 100644 --- a/web-src/src/pages/ScopeGroupManagement/ScopeGroupManagement.tsx +++ b/web-src/src/pages/ScopeGroupManagement/ScopeGroupManagement.tsx @@ -70,6 +70,7 @@ function userMatchesQuery(user: ScopeUser, qLower: string): boolean { } function groupMetaMatchesQuery(group: RBACApiGroup, qLower: string): boolean { + if (!qLower) return false return ( (group.name?.toLowerCase().includes(qLower) ?? false) || (group.description?.toLowerCase().includes(qLower) ?? false) @@ -800,7 +801,8 @@ export const ScopeGroupManagement: React.FC = () => { } }) - const visibleUsers = q ? sortedUsers.filter(u => userMatchesQuery(u, q)) : sortedUsers + const groupMetaMatch = q ? groupMetaMatchesQuery(group, q) : false + const visibleUsers = q && !groupMetaMatch ? sortedUsers.filter(u => userMatchesQuery(u, q)) : sortedUsers return (