From 669115227593f51a49415da7587481ccc63c48b0 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 28 Mar 2026 05:49:07 +0000 Subject: fix(cache): respect AniList media list recache windows --- src/lib/Utility/persistentStore.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/lib/Utility') diff --git a/src/lib/Utility/persistentStore.ts b/src/lib/Utility/persistentStore.ts index 7df3049f..a3837a5b 100644 --- a/src/lib/Utility/persistentStore.ts +++ b/src/lib/Utility/persistentStore.ts @@ -5,14 +5,23 @@ export const persistentStore = (key: string, initial: T): Writable => { const store = writable(initial); if (browser) - import("localforage").then((localforage) => { - localforage.default.getItem(key).then((value) => { - if (value !== null) store.set(value); - }); + import("localforage").then(async (localforage) => { + let hydrated = false; + let pendingValue = initial; store.subscribe((value) => { - localforage.default.setItem(key, value); + pendingValue = value; + + if (hydrated) localforage.default.setItem(key, value); }); + + const value = await localforage.default.getItem(key); + + if (value !== null) store.set(value); + + hydrated = true; + + await localforage.default.setItem(key, pendingValue); }); return store; -- cgit v1.2.3