-
Steven authored
Fixes #5589 When the page returns from background to foreground after the JWT token expires (~15 min), React Query's automatic refetch-on-focus triggers multiple API calls simultaneously. These all fail with 401 Unauthorized, leaving the user with empty content. Solution: - Add useTokenRefreshOnFocus hook that listens to visibilitychange - Proactively refresh token BEFORE React Query refetches - Uses 2-minute buffer to catch expiring tokens early - Graceful error handling - logs error but doesn't block Changes: - Created web/src/hooks/useTokenRefreshOnFocus.ts - Updated isTokenExpired() to accept optional buffer parameter - Exported refreshAccessToken() for use by the hook - Integrated hook into AppInitializer (only when user authenticated)
81ef53b3
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| helpers | ||
| hooks | ||
| layouts | ||
| lib | ||
| locales | ||
| pages | ||
| router | ||
| themes | ||
| types | ||
| utils | ||
| App.tsx | ||
| auth-state.ts | ||
| connect.ts | ||
| i18n.ts | ||
| index.css | ||
| instance-config.ts | ||
| main.tsx |