From d386454e91fdfc174333c8d6f393962a4a7d4cd6 Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Wed, 4 Feb 2026 17:58:07 -0700 Subject: [PATCH] Fix versions config not being set right when downloading --- src/app/layout.tsx | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 6a304a3..e4ee7ec 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -299,7 +299,7 @@ export default function RootLayout ({ }, []) const downloadVersions = useCallback( - async (list: string[], currentConfig: VersionsConfig): Promise => { + async (list: string[]): Promise => { if (list.length === 0) return setSelectedVersionList([]) @@ -350,13 +350,20 @@ export default function RootLayout ({ setDownloadProgress(prev => prev.filter(d => d.version !== download.version) ) - const date = Date.now() - const newConfig = { - ...currentConfig, - list: { ...currentConfig.list, [download.version]: date } - } - setDownloadedVersionsConfig(newConfig) - writeVersionsConfig(newConfig) + setDownloadedVersionsConfig(prev => { + if (!prev) return prev + + const updated = { + ...prev, + list: { + ...prev.list, + [download.version]: Date.now() + } + } + + writeVersionsConfig(updated) + return updated + }) } else { setDownloadProgress(prev => prev.map(d => @@ -408,7 +415,7 @@ export default function RootLayout ({ writeVersionsConfig(newConfig) setSelectedVersionList(prev => [...prev, ...versionsToSelect]) - await downloadVersions(versionsToSelect, newConfig) + await downloadVersions(versionsToSelect) })() }, [serverVersionList, downloadedVersionsConfig, downloadVersions]) @@ -862,10 +869,7 @@ export default function RootLayout ({ setFadeOut(true) setTimeout(() => setShowPopup(false), 200) if (downloadedVersionsConfig) - downloadVersions( - selectedVersionList, - downloadedVersionsConfig - ) + downloadVersions(selectedVersionList) }} disabled={downloadProgress.length != 0} title={