From 8cc9fdaa622166a608ac4dc1beb1c6d43051d824 Mon Sep 17 00:00:00 2001 From: Tetardtek Date: Tue, 24 Mar 2026 14:51:38 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20500ms=20delay=20on=20focus=20reload=20?= =?UTF-8?q?=E2=80=94=20wait=20for=20other=20tab's=20blur=20save?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/src/hooks/useSaveSync.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Frontend/src/hooks/useSaveSync.ts b/Frontend/src/hooks/useSaveSync.ts index da00b81..a578cd0 100644 --- a/Frontend/src/hooks/useSaveSync.ts +++ b/Frontend/src/hooks/useSaveSync.ts @@ -95,7 +95,8 @@ export function useSaveSync({ getGameState, onLoad, playTimeSeconds }: SaveSyncO if (!user) return undefined; const handleFocus = () => { - apiRequest("/save").then((data) => { + // Small delay to let the other tab's blur save complete + setTimeout(() => apiRequest("/save").then((data) => { if (data?.gameState && data.lastSave) { if (!lastSaveRef.current || new Date(data.lastSave) > new Date(lastSaveRef.current)) { onLoad(data.gameState); @@ -103,7 +104,7 @@ export function useSaveSync({ getGameState, onLoad, playTimeSeconds }: SaveSyncO console.info("[SaveSync] Reloaded from server on focus"); } } - }); + }), 500); }; const handleBlur = () => {