diff --git a/src/features/app-updates/components/WebUIUpdateChecker.tsx b/src/features/app-updates/components/WebUIUpdateChecker.tsx index 79012f08..066d302e 100644 --- a/src/features/app-updates/components/WebUIUpdateChecker.tsx +++ b/src/features/app-updates/components/WebUIUpdateChecker.tsx @@ -25,16 +25,21 @@ import { VersionUpdateInfoDialog } from '@/features/app-updates/components/Versi import { useUpdateChecker } from '@/features/app-updates/hooks/useUpdateChecker.tsx'; import { useMetadataServerSettings } from '@/features/settings/services/ServerSettingsMetadata.ts'; import { getErrorMessage, noOp } from '@/lib/HelperFunctions.ts'; +import { AppStorage } from '@/lib/storage/AppStorage.ts'; const disabledUpdateCheck = () => Promise.resolve(); const FORCED_REFRESH_THRESHOLD = d(30).seconds.inWholeMilliseconds; +const INITIAL_LOAD_TIMESTAMP_KEY = 'webUIInitialLoadTimestamp'; + +AppStorage.session.setItem(INITIAL_LOAD_TIMESTAMP_KEY, Date.now()); + export const WebUIUpdateChecker = () => { const { t } = useTranslation(); const [webUIVersion, setWebUIVersion] = useLocalStorage('webUIVersion'); - const [initialLoadTimestamp, setInitialLoadTimestamp] = useSessionStorage('webUIInitialLoadTimestamp'); + const [initialLoadTimestamp] = useSessionStorage(INITIAL_LOAD_TIMESTAMP_KEY, Date.now()); const [open, setOpen] = useState(false); const { @@ -74,11 +79,6 @@ export const WebUIUpdateChecker = () => { const newVersion = aboutWebUI?.tag; const isSameAsCurrent = !newVersion || !webUIVersion || webUIVersion === newVersion; - // Store initial load timestamp (once per session) - if (!initialLoadTimestamp) { - setInitialLoadTimestamp(Date.now()); - } - // Calculate if forced refresh threshold has been met const timeSinceLoad = Date.now() - (initialLoadTimestamp ?? Date.now()); const shouldForceRefresh = timeSinceLoad >= FORCED_REFRESH_THRESHOLD;