From e303bbc449de529a548b5adc790329e0e70a11c3 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Thu, 19 Jan 2023 19:12:20 +0530 Subject: [PATCH] fix initial sync issues --- src/pages/gallery/index.tsx | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/pages/gallery/index.tsx b/src/pages/gallery/index.tsx index 6d57ca656..69bf132c9 100644 --- a/src/pages/gallery/index.tsx +++ b/src/pages/gallery/index.tsx @@ -135,8 +135,8 @@ export default function Gallery() { const filesUpdateInProgress = useRef(false); const newerFilesFN = useRef(null); - const setFilesOriginalWithReSyncIfRequired = (files: EnteFile[]) => { - setFilesOriginal(files); + const setFilesOriginalWithReSyncIfRequired: SetFiles = (filesFn) => { + setFilesOriginal(filesFn); filesUpdateInProgress.current = false; if (newerFilesFN.current) { const newerFiles = newerFilesFN.current; @@ -151,20 +151,16 @@ export default function Gallery() { return; } filesUpdateInProgress.current = true; - setFilesOriginal((previousFiles) => { - previousFiles = previousFiles || []; - const files = - filesFn instanceof Function ? filesFn(previousFiles) : filesFn; - if (files?.length > 5000 && previousFiles.length > 5000) { - const waitTime = getData(LS_KEYS.WAIT_TIME) ?? 5000; - setTimeout(() => { - setFilesOriginalWithReSyncIfRequired(files); - }, waitTime); - } else { - setFilesOriginalWithReSyncIfRequired(files); - } - return previousFiles; - }); + + if (!files?.length || files.length < 5000) { + setFilesOriginalWithReSyncIfRequired(filesFn); + } else { + const waitTime = getData(LS_KEYS.WAIT_TIME) ?? 5000; + setTimeout( + () => setFilesOriginalWithReSyncIfRequired(filesFn), + waitTime + ); + } }; const [favItemIds, setFavItemIds] = useState>();