diff --git a/src/data/onboarding.ts b/src/data/onboarding.ts index 9e5c751ada..170bbadee8 100644 --- a/src/data/onboarding.ts +++ b/src/data/onboarding.ts @@ -84,5 +84,9 @@ export const fetchInstallationType = async (): Promise => { throw Error("unauthorized"); } + if (response.status === 404) { + throw Error("not_found"); + } + return response.json(); }; diff --git a/src/onboarding/ha-onboarding.ts b/src/onboarding/ha-onboarding.ts index 02981a76cb..e1e9f6578e 100644 --- a/src/onboarding/ha-onboarding.ts +++ b/src/onboarding/ha-onboarding.ts @@ -286,7 +286,7 @@ class HaOnboarding extends litLocalizeLiteMixin(HassElement) { try { const response = await (window.stepsPromise || fetchOnboardingOverview()); - if (response.status === 404) { + if (response.status === 401 || response.status === 404) { // We don't load the component when onboarding is done document.location.assign("/"); return; diff --git a/src/onboarding/onboarding-restore-backup.ts b/src/onboarding/onboarding-restore-backup.ts index 58fd1dcb97..a9a004ce6c 100644 --- a/src/onboarding/onboarding-restore-backup.ts +++ b/src/onboarding/onboarding-restore-backup.ts @@ -62,7 +62,10 @@ class OnboardingRestoreBackup extends LitElement { try { await fetchInstallationType(); } catch (err: any) { - if ((err as Error).message === "unauthorized") { + if ( + (err as Error).message === "unauthorized" || + (err as Error).message === "not_found" + ) { window.location.replace("/"); } }