From d49811f3df8886597c345b1e70c69c84447e7dda Mon Sep 17 00:00:00 2001 From: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co> Date: Wed, 8 Jul 2026 10:18:24 -0400 Subject: [PATCH] perf(search): lazy-load agent data for topbar search Finding: L7 search dialog-open kind:10100 pull.\n\nKeep message/user search behavior the same, but defer managed-agent and relay-agent queries until the debounced query reaches the existing minimum search length. Opening and closing the dialog without typing no longer triggers agent discovery/network work. Co-authored-by: Tyler Longwell Signed-off-by: Tyler Longwell --- desktop/src/features/search/useSearchResults.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/desktop/src/features/search/useSearchResults.ts b/desktop/src/features/search/useSearchResults.ts index 6c71b0b728..e90c5c5f8f 100644 --- a/desktop/src/features/search/useSearchResults.ts +++ b/desktop/src/features/search/useSearchResults.ts @@ -102,12 +102,19 @@ export function useSearchResults({ .slice(0, 5); }, [channelLabels, channels, debouncedQuery]); + const hasSearchQuery = debouncedQuery.length >= MIN_SEARCH_QUERY_LENGTH; + const searchBackedQueriesEnabled = enabled && hasSearchQuery; + const userSearchQuery = useUserSearchQuery(debouncedQuery, { - enabled: enabled && debouncedQuery.length >= MIN_SEARCH_QUERY_LENGTH, + enabled: searchBackedQueriesEnabled, limit, }); - const managedAgentsQuery = useManagedAgentsQuery({ enabled }); - const relayAgentsQuery = useRelayAgentsQuery({ enabled }); + const managedAgentsQuery = useManagedAgentsQuery({ + enabled: searchBackedQueriesEnabled, + }); + const relayAgentsQuery = useRelayAgentsQuery({ + enabled: searchBackedQueriesEnabled, + }); const managedAgentPubkeys = React.useMemo( () => new Set(