diff --git a/src/components/Dashboard/context/AppUpdateContext.jsx b/src/components/Dashboard/context/AppUpdateContext.jsx index da220a8..a49bc18 100644 --- a/src/components/Dashboard/context/AppUpdateContext.jsx +++ b/src/components/Dashboard/context/AppUpdateContext.jsx @@ -308,19 +308,29 @@ export const AppUpdateProvider = ({ children }) => { let cancelled = false const runStartupChecks = async () => { + let result = null + try { - const result = await checkAppUpdateResult?.() + result = await checkAppUpdateResult?.() if (!cancelled && result?.updated) { setCompletedUpdate(result) } + } catch (error) { + console.warn('[AppUpdateContext] Startup update check failed:', error) + } - const installations = await checkDuplicateInstallations?.() + try { + const installations = + result?.duplicates || (await checkDuplicateInstallations?.()) if (!cancelled && installations?.duplicatePath) { setDuplicateInstall(installations) setDuplicatePromptOpen(true) } } catch (error) { - console.warn('[AppUpdateContext] Startup update checks failed:', error) + console.warn( + '[AppUpdateContext] Duplicate installation check failed:', + error + ) } } @@ -537,9 +547,7 @@ export const AppUpdateProvider = ({ children }) => { { normalizeEngine(current.engine), )); - completedUpdateResult = { updated, previous, current }; + const duplicates = checkForDuplicateInstallations(); + + completedUpdateResult = { updated, previous, current, duplicates }; } catch (error) { console.warn("[app-update] Failed to check for a completed update.", error); - completedUpdateResult = { updated: false, previous: null, current: null }; + completedUpdateResult = { + updated: false, + previous: null, + current: null, + duplicates: checkForDuplicateInstallations(), + }; } return completedUpdateResult;