Jelajahi Sumber

Merge pull request #4610 from rooben-me/fix-sync

Fix Sync Issue with Upstash
DeanYao 1 tahun lalu
induk
melakukan
212ae76d76
1 mengubah file dengan 12 tambahan dan 5 penghapusan
  1. 12 5
      app/store/sync.ts

+ 12 - 5
app/store/sync.ts

@@ -97,11 +97,18 @@ export const useSyncStore = createPersistStore(
       const client = this.getClient();
 
       try {
-        const remoteState = JSON.parse(
-          await client.get(config.username),
-        ) as AppState;
-        mergeAppState(localState, remoteState);
-        setLocalAppState(localState);
+        const remoteState = await client.get(config.username);
+        if (!remoteState || remoteState === "") {
+          await client.set(config.username, JSON.stringify(localState));
+          console.log("[Sync] Remote state is empty, using local state instead.");
+          return
+        } else {
+          const parsedRemoteState = JSON.parse(
+            await client.get(config.username),
+          ) as AppState;
+          mergeAppState(localState, parsedRemoteState);
+          setLocalAppState(localState);
+       } 
       } catch (e) {
         console.log("[Sync] failed to get remote state", e);
         throw e;