From 6b9e1f3c2a438f6bfad83d1d81db491a433ed072 Mon Sep 17 00:00:00 2001 From: xuhd Date: Wed, 10 Jun 2026 12:37:13 +0800 Subject: [PATCH] 2222 --- frontend-web/src/core/studio/hooks.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/frontend-web/src/core/studio/hooks.ts b/frontend-web/src/core/studio/hooks.ts index 7dd82aa2..9bf706bd 100644 --- a/frontend-web/src/core/studio/hooks.ts +++ b/frontend-web/src/core/studio/hooks.ts @@ -23,14 +23,18 @@ export function useStudioNotebooks(enabled = true): { staleTime: 5 * 60 * 1000, // 账号不存在(404/422)是永久错误,重试无意义,立即让 isError 落地 retry: false, + refetchOnWindowFocus: false, }); const notebooksQuery = useQuery({ queryKey: ["studio", "notebooks", tokenQuery.data], queryFn: () => fetchStudioNotebooks(tokenQuery.data!), enabled: enabled && Boolean(tokenQuery.data), - staleTime: 60 * 1000, + // 笔记本列表不会高频变动;新建/删除路径已通过 invalidateQueries 主动失效 + // (见 workspace-nav-studio.tsx),不需要短 staleTime + windowFocus 双兜底。 + staleTime: 10 * 60 * 1000, retry: 1, + refetchOnWindowFocus: false, }); return { @@ -73,6 +77,7 @@ export function useNotebookChat( enabled: Boolean(email), staleTime: 5 * 60 * 1000, retry: false, + refetchOnWindowFocus: false, }); const thread = useStream({ @@ -139,6 +144,7 @@ export function useNotebookSources( enabled: !overrideToken && Boolean(email), staleTime: 5 * 60 * 1000, retry: false, + refetchOnWindowFocus: false, }); const resolvedToken = overrideToken ?? tokenQuery.data; @@ -147,8 +153,10 @@ export function useNotebookSources( queryKey: ["studio", "sources", notebookId, overrideToken ?? "default"], queryFn: () => fetchNotebookSources(notebookId!, resolvedToken!), enabled: notebookId !== null && Boolean(resolvedToken), - staleTime: 60 * 1000, + // 笔记文档列表低频变动;增删时调用方应主动 invalidateQueries(["studio", "sources"]) 失效。 + staleTime: 5 * 60 * 1000, retry: 1, + refetchOnWindowFocus: false, }); return {