diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3f50969585..8a0bb9007a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -37,7 +37,7 @@ jobs: - name: Build resources run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-pages - name: Setup lint cache - uses: actions/cache@v3.3.1 + uses: actions/cache@v3.3.2 with: path: | node_modules/.cache/prettier diff --git a/package.json b/package.json index d1021a8b03..262274bbb5 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "app-datepicker": "5.1.1", "chart.js": "4.3.3", "comlink": "4.4.1", - "core-js": "3.32.1", + "core-js": "3.32.2", "cropperjs": "1.6.0", "date-fns": "2.30.0", "date-fns-tz": "2.0.0", @@ -120,7 +120,7 @@ "leaflet": "1.9.4", "leaflet-draw": "1.0.4", "lit": "2.8.0", - "luxon": "3.4.2", + "luxon": "3.4.3", "marked": "7.0.5", "memoize-one": "6.0.0", "node-vibrant": "3.2.1-alpha.1", @@ -237,7 +237,7 @@ "sinon": "15.2.0", "source-map-url": "0.4.1", "systemjs": "6.14.2", - "tar": "6.1.15", + "tar": "6.2.0", "terser-webpack-plugin": "5.3.9", "ts-lit-plugin": "2.0.0-pre.1", "typescript": "5.2.2", diff --git a/pyproject.toml b/pyproject.toml index 70deb3d20a..9c1358d48c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20230908.0" +version = "20230911.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" diff --git a/src/components/ha-form/compute-initial-ha-form-data.ts b/src/components/ha-form/compute-initial-ha-form-data.ts index d3c7e2b847..98b67274fc 100644 --- a/src/components/ha-form/compute-initial-ha-form-data.ts +++ b/src/components/ha-form/compute-initial-ha-form-data.ts @@ -61,8 +61,10 @@ export const computeInitialHaFormData = ( data[field.name] = selector.number?.min ?? 0; } else if ("select" in selector) { if (selector.select?.options.length) { - const val = selector.select.options[0]; - data[field.name] = typeof val === "string" ? val : val.value; + const firstOption = selector.select.options[0]; + const val = + typeof firstOption === "string" ? firstOption : firstOption.value; + data[field.name] = selector.select.multiple ? [val] : val; } } else if ("duration" in selector) { data[field.name] = { diff --git a/src/data/cloud.ts b/src/data/cloud.ts index 897364e4cc..b498428f9a 100644 --- a/src/data/cloud.ts +++ b/src/data/cloud.ts @@ -11,6 +11,7 @@ export interface CertificateInformation { common_name: string; expire_date: string; fingerprint: string; + alternative_names: string[]; } export interface CloudPreferences { diff --git a/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts b/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts index 702a74c9e3..e1dfeb91c5 100644 --- a/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts +++ b/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts @@ -35,9 +35,8 @@ export class HaMoreInfoCoverPosition extends LitElement { } protected render(): TemplateResult { - const forcedState = this.stateObj.state === "closed" ? "open" : undefined; - - const color = stateColorCss(this.stateObj, forcedState); + const openColor = stateColorCss(this.stateObj, "open"); + const color = stateColorCss(this.stateObj); return html` +

+ ${this.hass!.localize( + "ui.panel.config.cloud.dialog_certificate.alternative_names" + )} +

+ diff --git a/src/panels/developer-tools/state/developer-tools-state.js b/src/panels/developer-tools/state/developer-tools-state.js index 3af09b0667..2d5f9d4e45 100644 --- a/src/panels/developer-tools/state/developer-tools-state.js +++ b/src/panels/developer-tools/state/developer-tools-state.js @@ -19,6 +19,7 @@ import "../../../components/ha-icon-button"; import "../../../components/ha-svg-icon"; import "../../../components/ha-checkbox"; import "../../../components/ha-tip"; +import "../../../components/ha-alert"; import "../../../components/search-input"; import "../../../components/ha-expansion-panel"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; @@ -185,6 +186,9 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { [[localize('ui.panel.developer-tools.tabs.states.description1')]]
[[localize('ui.panel.developer-tools.tabs.states.description2')]]

+
>( ev.stopPropagation(); return; } - const { createLogMessage } = await import("../resources/log-message"); - this._writeLog({ - // The error object from browsers includes the message and a stack trace, - // so use the data in the error event just as fallback - message: await createLogMessage( + let message; + try { + const { createLogMessage } = await import("../resources/log-message"); + message = await createLogMessage( ev.error, "Uncaught error", ev.message, `@${ev.filename}:${ev.lineno}:${ev.colno}` - ), - }); + ); + await this._writeLog({ + // The error object from browsers includes the message and a stack trace, + // so use the data in the error event just as fallback + message, + }); + } catch (e) { + // eslint-disable-next-line no-console + console.error("Error during logging error:", message, e); + // catch errors during logging so we don't get into a loop + } }); window.addEventListener("unhandledrejection", async (ev) => { if (!this.hass?.connected) { return; } - const { createLogMessage } = await import("../resources/log-message"); - this._writeLog({ - message: await createLogMessage( + let message; + try { + const { createLogMessage } = await import("../resources/log-message"); + message = await createLogMessage( ev.reason, "Unhandled promise rejection" - ), - level: "debug", - }); + ); + await this._writeLog({ + message, + level: "debug", + }); + } catch (e) { + // eslint-disable-next-line no-console + console.error("Error during logging error:", message, e); + // catch errors during logging so we don't get into a loop + } }); } @@ -75,7 +91,7 @@ export const loggingMixin = >( } private _writeLog(log: WriteLogParams) { - this.hass?.callService("system_log", "write", { + return this.hass?.callService("system_log", "write", { logger: `frontend.${ __DEV__ ? "js_dev" : "js" }.${__BUILD__}.${__VERSION__.replace(".", "")}`, diff --git a/src/translations/en.json b/src/translations/en.json index ac4df38fd4..d2fac51d13 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -3183,6 +3183,7 @@ } }, "dialog_certificate": { + "alternative_names": "Alternative names:", "certificate_information": "Certificate information", "certificate_expiration_date": "Certificate expiration date:", "will_be_auto_renewed": "will be automatically renewed", diff --git a/yarn.lock b/yarn.lock index 6a56de2f36..549eddc8a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7152,10 +7152,10 @@ __metadata: languageName: node linkType: hard -"core-js@npm:3.32.1": - version: 3.32.1 - resolution: "core-js@npm:3.32.1" - checksum: e4af91d9c6be7b59235feb3f273d16705126ce09a0b4a787144d131d874f0cd10be3c24fc52e5eea7d7cb03ceabe4be7b255abcd9474b5eb1ff365d2c5611f9a +"core-js@npm:3.32.2": + version: 3.32.2 + resolution: "core-js@npm:3.32.2" + checksum: d6fac7e8eb054eefc211c76cd0a0ff07447a917122757d085f469f046ec888d122409c7db1a9601c3eb5fa767608ed380bcd219eace02bdf973da155680edeec languageName: node linkType: hard @@ -9796,7 +9796,7 @@ __metadata: chai: 4.3.8 chart.js: 4.3.3 comlink: 4.4.1 - core-js: 3.32.1 + core-js: 3.32.2 cropperjs: 1.6.0 date-fns: 2.30.0 date-fns-tz: 2.0.0 @@ -9841,7 +9841,7 @@ __metadata: lit: 2.8.0 lit-analyzer: 2.0.0-pre.3 lodash.template: 4.5.0 - luxon: 3.4.2 + luxon: 3.4.3 magic-string: 0.30.3 map-stream: 0.0.7 marked: 7.0.5 @@ -9870,7 +9870,7 @@ __metadata: stacktrace-js: 2.0.2 superstruct: 1.0.3 systemjs: 6.14.2 - tar: 6.1.15 + tar: 6.2.0 terser-webpack-plugin: 5.3.9 tinykeys: 2.1.0 ts-lit-plugin: 2.0.0-pre.1 @@ -11769,10 +11769,10 @@ __metadata: languageName: node linkType: hard -"luxon@npm:3.4.2": - version: 3.4.2 - resolution: "luxon@npm:3.4.2" - checksum: efefdfaea90f4c8e502db8eb255385e6dac6733b6a9e1372eaf1a866cc1118363e235a3f6df505b837abc8bbcdfd8f0718a8de387b80cef9ee624d8791ca0844 +"luxon@npm:3.4.3": + version: 3.4.3 + resolution: "luxon@npm:3.4.3" + checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3 languageName: node linkType: hard @@ -15193,9 +15193,9 @@ __metadata: languageName: node linkType: hard -"tar@npm:6.1.15, tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.15 - resolution: "tar@npm:6.1.15" +"tar@npm:6.2.0, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.0 + resolution: "tar@npm:6.2.0" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 @@ -15203,7 +15203,7 @@ __metadata: minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: f23832fceeba7578bf31907aac744ae21e74a66f4a17a9e94507acf460e48f6db598c7023882db33bab75b80e027c21f276d405e4a0322d58f51c7088d428268 + checksum: db4d9fe74a2082c3a5016630092c54c8375ff3b280186938cfd104f2e089c4fd9bad58688ef6be9cf186a889671bf355c7cda38f09bbf60604b281715ca57f5c languageName: node linkType: hard