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) => {