From c7278b23a3caa5c40360f98f478fe28e598faedb Mon Sep 17 00:00:00 2001 From: Kian Jones <11655409+kianjones9@users.noreply.github.com> Date: Mon, 23 Mar 2026 14:56:15 -0700 Subject: [PATCH] feat(search): warm tpuf cache on overlay open (#1464) --- src/cli/components/MessageSearch.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/cli/components/MessageSearch.tsx b/src/cli/components/MessageSearch.tsx index acc720c..200b236 100644 --- a/src/cli/components/MessageSearch.tsx +++ b/src/cli/components/MessageSearch.tsx @@ -128,6 +128,22 @@ export function MessageSearch({ // Cache results per query+mode+range combination to avoid re-fetching const resultsCache = useRef>(new Map()); + // Warm tpuf cache on mount (fire-and-forget) + useEffect(() => { + const warmCache = async () => { + try { + const client = await getClient(); + await client.post("/v1/messages/search", { + body: {}, + query: { warm_only: true }, + }); + } catch { + // Silently ignore - cache warm is best-effort + } + }; + void warmCache(); + }, []); + // Get cache key for a specific query+mode+range combination const getCacheKey = useCallback( (query: string, mode: SearchMode, range: SearchRange) => {