From 5ff8fe68bad9074fab52651e86e654c91f918007 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 17 Jan 2020 08:02:56 -0800 Subject: [PATCH] Alert user when add-on not started (#4485) --- hassio/src/hassio-main.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/hassio/src/hassio-main.ts b/hassio/src/hassio-main.ts index 1b1257b06c..4109572bcd 100644 --- a/hassio/src/hassio-main.ts +++ b/hassio/src/hassio-main.ts @@ -27,6 +27,7 @@ import { makeDialogManager } from "../../src/dialogs/make-dialog-manager"; import { ProvideHassLitMixin } from "../../src/mixins/provide-hass-lit-mixin"; // Don't codesplit it, that way the dashboard always loads fast. import "./hassio-pages-with-tabs"; +import { navigate } from "../../src/common/navigate"; // The register callback of the IronA11yKeysBehavior inside paper-icon-button // is not called, causing _keyBindings to be uninitiliazed for paper-icon-button, @@ -165,14 +166,20 @@ class HassioMain extends ProvideHassLitMixin(HassRouterPage) { }), ]); if (!addon.ingress_url) { - throw new Error("Add-on does not support Ingress"); + alert("Add-on does not support Ingress"); + return; + } + if (addon.state !== "started") { + alert("Add-on is not running. Please start it first"); + navigate(this, `/hassio/addon/${addon.slug}`, true); + return; } location.assign(addon.ingress_url); // await a promise that doesn't resolve, so we show the loading screen // while we load the next page. await new Promise(() => undefined); } catch (err) { - alert(`Unable to open ingress connection `); + alert("Unable to open ingress connection"); } }