diff --git a/src/features/app-updates/components/WebUIUpdateChecker.tsx b/src/features/app-updates/components/WebUIUpdateChecker.tsx index 066d302e..119f8bcf 100644 --- a/src/features/app-updates/components/WebUIUpdateChecker.tsx +++ b/src/features/app-updates/components/WebUIUpdateChecker.tsx @@ -33,7 +33,7 @@ const FORCED_REFRESH_THRESHOLD = d(30).seconds.inWholeMilliseconds; const INITIAL_LOAD_TIMESTAMP_KEY = 'webUIInitialLoadTimestamp'; -AppStorage.session.setItem(INITIAL_LOAD_TIMESTAMP_KEY, Date.now()); +AppStorage.session.setItemIfMissing(INITIAL_LOAD_TIMESTAMP_KEY, Date.now()); export const WebUIUpdateChecker = () => { const { t } = useTranslation(); diff --git a/src/lib/storage/AppStorage.ts b/src/lib/storage/AppStorage.ts index b3c8e079..e84ddea9 100644 --- a/src/lib/storage/AppStorage.ts +++ b/src/lib/storage/AppStorage.ts @@ -63,6 +63,12 @@ export class Storage { this.storage.setItem(key, valueToStore); fireEvent(valueToStore as string); } + + setItemIfMissing(key: string, value: unknown, emitEvent?: boolean): void { + if (this.getItem(key) === null) { + this.setItem(key, value, emitEvent); + } + } } export class AppStorage {