diff --git a/web/src/ui/composer/userautocomplete.ts b/web/src/ui/composer/userautocomplete.ts index a9e9845..38f207c 100644 --- a/web/src/ui/composer/userautocomplete.ts +++ b/web/src/ui/composer/userautocomplete.ts @@ -34,6 +34,7 @@ export function filter(users: AutocompleteMemberEntry[], query: string): Autocom interface filteredUserCache { query: string result: AutocompleteMemberEntry[] + slicedResult?: AutocompleteMemberEntry[] } export function useFilteredMembers( @@ -44,15 +45,16 @@ export function useFilteredMembers( if (!query) { prev.current.query = "" prev.current.result = allMembers + prev.current.slicedResult = slice && allMembers.length > 100 ? allMembers.slice(0, 100) : undefined } else if (prev.current.query !== query) { prev.current.result = (sort ? filterAndSort : filter)( query.startsWith(prev.current.query) ? prev.current.result : allMembers, query, ) - if (prev.current.result.length > 100 && slice) { - prev.current.result = prev.current.result.slice(0, 100) - } + prev.current.slicedResult = prev.current.result.length > 100 && slice + ? prev.current.result.slice(0, 100) + : undefined prev.current.query = query } - return prev.current.result + return prev.current.slicedResult ?? prev.current.result } diff --git a/web/src/ui/rightpanel/MemberList.tsx b/web/src/ui/rightpanel/MemberList.tsx index 8e41e27..2c7ed26 100644 --- a/web/src/ui/rightpanel/MemberList.tsx +++ b/web/src/ui/rightpanel/MemberList.tsx @@ -50,7 +50,7 @@ const MemberList = () => { roomCtx.store.membersRequested = true use(ClientContext)?.loadRoomState(roomCtx.store.roomID, { omitMembers: false, refetch: false }) } - const memberEvents = useFilteredMembers(roomCtx?.store, filter) + const memberEvents = useFilteredMembers(roomCtx?.store, filter, false, false) if (!roomCtx) { return null }