From 14070c24b3a623fff17f34c4629db837771c62b1 Mon Sep 17 00:00:00 2001 From: shy3130 Date: Tue, 30 Jun 2026 22:36:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=87=E9=A1=B5=E6=97=B6=20onboarding?= =?UTF-8?q?=20=E5=AE=88=E5=8D=AB=E6=95=B4=E5=B1=8F=20logo=20=E9=97=AA?= =?UTF-8?q?=E7=83=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后台重取 (isFetching) 期间本地已有 stale 缓存可展示, 无需整屏占位。 仅首次加载 (isLoading) 才显示占位, 消除切页 logo 闪烁。 --- frontend/src/router.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/router.tsx b/frontend/src/router.tsx index a717724..ef4d6b1 100644 --- a/frontend/src/router.tsx +++ b/frontend/src/router.tsx @@ -29,9 +29,10 @@ import { Logo } from './components/Logo' function OnboardingGuard({ children }: { children: React.ReactNode }) { const settings = useSettings() - // 加载中 或 正在后台重新请求 → 显示占位,避免用旧缓存误判 - // (根治 invalidate 触发重取未返回时, 守卫用旧 onboarding_completed=false 误重定向的竞态) - if (settings.isLoading || settings.isFetching) { + // 仅首次加载(本地无缓存)时显示占位。 + // 后台重取 (isFetching) 时本地已有上一份缓存可用, 直接放行, 避免切页时整屏 logo 闪烁。 + // 防误重定向已由 Onboarding/AI 等处 invalidate 前的 setQueryData 同步缓存兜底。 + if (settings.isLoading) { return (