From fe4322e64bcc5bd456476c7110c4885024acfa5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 21 Dec 2021 14:28:51 +0100 Subject: [PATCH 1/6] Remove stop button for all installation types (#10987) --- .../server_control/ha-config-server-control.ts | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/panels/config/server_control/ha-config-server-control.ts b/src/panels/config/server_control/ha-config-server-control.ts index 35f011311e..5102f5e1f0 100644 --- a/src/panels/config/server_control/ha-config-server-control.ts +++ b/src/panels/config/server_control/ha-config-server-control.ts @@ -5,7 +5,6 @@ import "@polymer/paper-input/paper-input"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { componentsWithService } from "../../../common/config/components_with_service"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import "../../../components/buttons/ha-call-service-button"; import "../../../components/ha-card"; import { checkCoreConfig } from "../../../data/core"; @@ -158,20 +157,6 @@ export class HaConfigServerControl extends LitElement { "ui.panel.config.server_control.section.server_management.restart" )} - ${!isComponentLoaded(this.hass, "hassio") - ? html`${this.hass.localize( - "ui.panel.config.server_control.section.server_management.stop" - )} - ` - : ""} From dced053ba286a4a7e93325fef1e39a7d986b9d5c Mon Sep 17 00:00:00 2001 From: Marius <33354141+Mariusthvdb@users.noreply.github.com> Date: Mon, 27 Dec 2021 06:55:17 +0100 Subject: [PATCH 2/6] Take out 'Stop' (#11024) --- src/translations/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/translations/en.json b/src/translations/en.json index 6395157249..d2155fe09c 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1419,7 +1419,7 @@ }, "server_control": { "caption": "Server Controls", - "description": "Restart and stop the Home Assistant server", + "description": "Validate and restart the Home Assistant server", "section": { "validation": { "heading": "Configuration validation", From 7b840527b5d07349dde040c0a292e2f65e86d7a1 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 27 Dec 2021 06:56:24 +0100 Subject: [PATCH 3/6] Fix gauge on ios 15.2 (#10992) --- src/components/ha-gauge.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/ha-gauge.ts b/src/components/ha-gauge.ts index fd3a378e42..9ce1259669 100644 --- a/src/components/ha-gauge.ts +++ b/src/components/ha-gauge.ts @@ -8,6 +8,10 @@ import { FrontendLocaleData } from "../data/translation"; import { getValueInPercentage, normalize } from "../util/calculate"; import { isSafari } from "../util/is_safari"; +// Safari version 15.2 and up behaves differently than other Safari versions. +// https://github.com/home-assistant/frontend/issues/10766 +const isSafari152 = isSafari && /Version\/15\.[^0-1]/.test(navigator.userAgent); + const getAngle = (value: number, min: number, max: number) => { const percentage = getValueInPercentage(normalize(value, min, max), min, max); return (percentage * 180) / 100; @@ -113,7 +117,9 @@ export class Gauge extends LitElement { : undefined )} transform=${ifDefined( - isSafari ? `rotate(${this._angle} 50 50)` : undefined + isSafari + ? `rotate(${this._angle}${isSafari152 ? "" : " 50 50"})` + : undefined )} > ` @@ -126,7 +132,9 @@ export class Gauge extends LitElement { : undefined )} transform=${ifDefined( - isSafari ? `rotate(${this._angle} 50 50)` : undefined + isSafari + ? `rotate(${this._angle}${isSafari152 ? "" : " 50 50"})` + : undefined )} >` } From 322d965539e0ae02d5c601bc3db9419555cfda69 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 27 Dec 2021 02:38:59 -0800 Subject: [PATCH 4/6] Bump HAWS to 6 (#11031) --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d000f29c21..3951a3b4d8 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "fuse.js": "^6.0.0", "google-timezones-json": "^1.0.2", "hls.js": "^1.0.11", - "home-assistant-js-websocket": "^5.12.0", + "home-assistant-js-websocket": "^6.0.0", "idb-keyval": "^5.1.3", "intl-messageformat": "^9.9.1", "js-yaml": "^4.1.0", diff --git a/yarn.lock b/yarn.lock index f7d31e3124..b311bced0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9113,7 +9113,7 @@ fsevents@^1.2.7: gulp-rename: ^2.0.0 gulp-zopfli-green: ^3.0.1 hls.js: ^1.0.11 - home-assistant-js-websocket: ^5.12.0 + home-assistant-js-websocket: ^6.0.0 html-minifier: ^4.0.0 husky: ^1.3.1 idb-keyval: ^5.1.3 @@ -9184,10 +9184,10 @@ fsevents@^1.2.7: languageName: unknown linkType: soft -"home-assistant-js-websocket@npm:^5.12.0": - version: 5.12.0 - resolution: "home-assistant-js-websocket@npm:5.12.0" - checksum: 62171c10e55e3245c9a4fc77dbd2641f234a66b4e3d0adaf8c4364c567473555dbf34f3d737bf3f31e92f2a198051b57f2782fd71f8406784693e64496809501 +"home-assistant-js-websocket@npm:^6.0.0": + version: 6.0.0 + resolution: "home-assistant-js-websocket@npm:6.0.0" + checksum: fef904210f66e180457ac2ae003fd29a0613179d3f8e5bb3f37aaaf0d5708a86ed071feb0d3bbf7268fdf454acec49539c8e9c0100ef159a711fcc98fd78cb14 languageName: node linkType: hard From 3e062ba673984896a23ad4a91c1952a054ba47bd Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 27 Dec 2021 02:43:38 -0800 Subject: [PATCH 5/6] Show error screen when connection fails (#11030) --- src/layouts/home-assistant.ts | 52 ++++++++++++++--------------------- src/util/launch-screen.ts | 4 +-- 2 files changed, 22 insertions(+), 34 deletions(-) diff --git a/src/layouts/home-assistant.ts b/src/layouts/home-assistant.ts index e3bf2f9d8b..c6070d520c 100644 --- a/src/layouts/home-assistant.ts +++ b/src/layouts/home-assistant.ts @@ -34,8 +34,6 @@ const panelUrl = (path: string) => { export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { @state() private _route: Route; - @state() private _error = false; - private _panelUrl: string; private _haVersion?: string; @@ -44,8 +42,6 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { private _visiblePromiseResolve?: () => void; - private _visibleLaunchScreen = true; - constructor() { super(); const path = curPath(); @@ -62,27 +58,22 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { this._panelUrl = panelUrl(path); } - protected render() { - if (this._isHassComplete() && this.hass) { - return html` - - `; - } - - return ""; + protected renderHass() { + return html` + + `; } update(changedProps) { - super.update(changedProps); - - // Remove launch screen if main gui is loaded - if (this._isHassComplete() && this._visibleLaunchScreen) { - this._visibleLaunchScreen = false; + if (this.hass?.states && this.hass.config && this.hass.services) { + this.render = this.renderHass; + this.update = super.update; removeLaunchScreen(); } + super.update(changedProps); } protected firstUpdated(changedProps) { @@ -129,10 +120,9 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { }); // Render launch screen info box (loading data / error message) - if (!this._isHassComplete() && this._visibleLaunchScreen) { - renderLaunchScreenInfoBox( - html`` - ); + // if Home Assistant is not loaded yet. + if (this.render !== this.renderHass) { + this._renderInitInfo(false); } } @@ -188,7 +178,7 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { if (window.hassConnection) { result = await window.hassConnection; } else { - // In the edge case that + // In the edge case that core.ts loads before app.ts result = await new Promise((resolve) => { window.hassConnectionReady = resolve; }); @@ -198,7 +188,7 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { this._haVersion = conn.haVersion; this.initializeHass(auth, conn); } catch (err: any) { - this._error = true; + this._renderInitInfo(true); } } @@ -255,12 +245,10 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { } } - private _isHassComplete(): boolean { - if (this.hass?.states && this.hass.config && this.hass.services) { - return true; - } - - return false; + private _renderInitInfo(error: boolean) { + renderLaunchScreenInfoBox( + html`` + ); } } diff --git a/src/util/launch-screen.ts b/src/util/launch-screen.ts index eb873a65db..965732d470 100644 --- a/src/util/launch-screen.ts +++ b/src/util/launch-screen.ts @@ -7,9 +7,9 @@ export const removeLaunchScreen = () => { } }; -export const renderLaunchScreenInfoBox = (element: TemplateResult) => { +export const renderLaunchScreenInfoBox = (content: TemplateResult) => { const infoBoxElement = document.getElementById("ha-launch-screen-info-box"); if (infoBoxElement) { - render(element, infoBoxElement); + render(content, infoBoxElement); } }; From be72bf7b3c9669a30700c37c58b810694c11c70a Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 27 Dec 2021 20:45:56 +0100 Subject: [PATCH 6/6] Bumped version to 20211227.0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8ec5a8641a..cdca384673 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name="home-assistant-frontend", - version="20211220.0", + version="20211227.0", description="The Home Assistant frontend", url="https://github.com/home-assistant/frontend", author="The Home Assistant Authors",