diff options
| -rw-r--r-- | desktop/packages/mullvad-vpn/src/renderer/hooks/useShouldAppUpgradeInstallManually.ts | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/hooks/useShouldAppUpgradeInstallManually.ts b/desktop/packages/mullvad-vpn/src/renderer/hooks/useShouldAppUpgradeInstallManually.ts index b643a71834..f783343e7b 100644 --- a/desktop/packages/mullvad-vpn/src/renderer/hooks/useShouldAppUpgradeInstallManually.ts +++ b/desktop/packages/mullvad-vpn/src/renderer/hooks/useShouldAppUpgradeInstallManually.ts @@ -1,30 +1,31 @@ import { useAppUpgradeError } from '../redux/hooks'; +import { useAppUpgradeEventType } from './useAppUpgradeEventType'; import { useHasAppUpgradeError } from './useHasAppUpgradeError'; -import { useHasAppUpgradeEvent } from './useHasAppUpgradeEvent'; +import { useHasAppUpgradeInitiated } from './useHasAppUpgradeInitiated'; import { useHasAppUpgradeVerifiedInstallerPath } from './useHasAppUpgradeVerifiedInstallerPath'; export const useShouldAppUpgradeInstallManually = () => { const { appUpgradeError } = useAppUpgradeError(); + const appUpgradeEventType = useAppUpgradeEventType(); const hasAppUpgradeError = useHasAppUpgradeError(); const hasAppUpgradeVerifiedInstallerPath = useHasAppUpgradeVerifiedInstallerPath(); - const hasAppUpgradeEvent = useHasAppUpgradeEvent(); + const hasAppUpgradeInitiated = useHasAppUpgradeInitiated(); - if (!hasAppUpgradeVerifiedInstallerPath) { - return false; - } - - if (hasAppUpgradeError) { - if (appUpgradeError === 'START_INSTALLER_FAILED') { - return true; + if (hasAppUpgradeVerifiedInstallerPath) { + if (hasAppUpgradeError) { + if (appUpgradeError === 'START_INSTALLER_FAILED') { + return true; + } + } else { + // If the app upgrade has not been initiated it means that the upgrade + // has been downloaded and afterwards the app has been restarted. + if ( + !hasAppUpgradeInitiated || + appUpgradeEventType === 'APP_UPGRADE_STATUS_VERIFIED_INSTALLER' + ) { + return true; + } } - - return false; - } - - // The absence of the appUpgradeEvent means that the upgrade has been downloaded - // and the app has been exited and restarted. - if (!hasAppUpgradeEvent) { - return true; } return false; |
