From 62f6766e1b90bf15def3e5bf1c3ed6b4fb18cc64 Mon Sep 17 00:00:00 2001 From: Cody C <50791984+codyc1515@users.noreply.github.com> Date: Tue, 16 Jan 2024 03:31:37 +1300 Subject: [PATCH] Fix onboarding state exception following restore (#19389) Fixes #19388 --- src/data/onboarding.ts | 4 ++++ src/onboarding/ha-onboarding.ts | 2 +- src/onboarding/onboarding-restore-backup.ts | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) 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("/"); } }