From ce24b37b39b3e9ce89c0a64c4c5a9306f52cee88 Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 5 Nov 2025 22:02:12 +0800 Subject: [PATCH] fix(usage): resolve auto-query interval timing issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: - User configured 5-minute auto-query interval - Actual queries executed every 10 minutes instead of 5 Root Cause: - staleTime (5 min) conflicted with refetchInterval (5 min) - React Query skipped refetch when data was still within staleTime - First interval trigger at T+5min: data considered "fresh", skipped - Second interval trigger at T+10min: data "stale", executed Solution: - Set staleTime to 0 for usage queries - Ensures refetchInterval executes precisely as configured - Auto-query is meant to fetch fresh data periodically, not use cache Technical Details: - Modified useUsageQuery in src/lib/query/queries.ts - Changed: staleTime: 5 * 60 * 1000 → staleTime: 0 - Added explanatory comment in Chinese - Manual queries still work via refetch() button --- src/lib/query/queries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/query/queries.ts b/src/lib/query/queries.ts index c76e7c5..d9b8418 100644 --- a/src/lib/query/queries.ts +++ b/src/lib/query/queries.ts @@ -105,7 +105,7 @@ export const useUsageQuery = ( : false, refetchOnWindowFocus: false, retry: false, - staleTime: 5 * 60 * 1000, // 5分钟 + staleTime: 0, // 不使用缓存策略,确保 refetchInterval 准确执行 }); return {