${repeat(
From 1db8ef37a2c7abf600256025476a7dd5ce4f3622 Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Wed, 2 Jul 2025 13:42:21 +0200
Subject: [PATCH 5/8] Dont fetch device actions on first updated (#26028)
---
.../config/devices/ha-config-device-page.ts | 35 ++++++++++++++++---
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts
index 34f511b9c0..c062dc699f 100644
--- a/src/panels/config/devices/ha-config-device-page.ts
+++ b/src/panels/config/devices/ha-config-device-page.ts
@@ -10,7 +10,7 @@ import {
mdiPlusCircle,
mdiRestore,
} from "@mdi/js";
-import type { CSSResultGroup, TemplateResult } from "lit";
+import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit";
import { LitElement, css, html, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
@@ -273,22 +273,24 @@ export class HaConfigDevicePage extends LitElement {
findBatteryChargingEntity(this.hass, entities)
);
- public willUpdate(changedProps) {
+ public willUpdate(changedProps: PropertyValues) {
super.willUpdate(changedProps);
- if (changedProps.has("deviceId") || changedProps.has("entries")) {
+ if (changedProps.has("deviceId")) {
this._deviceActions = [];
this._deviceAlerts = [];
this._deleteButtons = [];
this._diagnosticDownloadLinks = [];
+ }
+
+ if (changedProps.has("deviceId") || changedProps.has("entries")) {
this._fetchData();
}
}
- protected firstUpdated(changedProps) {
+ protected firstUpdated(changedProps: PropertyValues) {
super.firstUpdated(changedProps);
loadDeviceRegistryDetailDialog();
- this._fetchData();
}
protected updated(changedProps) {
@@ -989,6 +991,7 @@ export class HaConfigDevicePage extends LitElement {
}
private _getDeleteActions() {
+ const deviceId = this.deviceId;
const device = this.hass.devices[this.deviceId];
if (!device) {
@@ -1058,12 +1061,18 @@ export class HaConfigDevicePage extends LitElement {
}
);
+ if (this.deviceId !== deviceId) {
+ // abort if the device has changed
+ return;
+ }
+
if (buttons.length > 0) {
this._deleteButtons = buttons;
}
}
private async _getDeviceActions() {
+ const deviceId = this.deviceId;
const device = this.hass.devices[this.deviceId];
if (!device) {
@@ -1157,14 +1166,25 @@ export class HaConfigDevicePage extends LitElement {
// load matter device actions async to avoid an UI with 0 actions when the matter integration needs very long to get node diagnostics
matter.getMatterDeviceActions(this, this.hass, device).then((actions) => {
+ if (this.deviceId !== deviceId) {
+ // abort if the device has changed
+ return;
+ }
this._deviceActions = [...actions, ...(this._deviceActions || [])];
});
}
+ if (this.deviceId !== deviceId) {
+ // abort if the device has changed
+ return;
+ }
+
this._deviceActions = deviceActions;
}
private async _getDeviceAlerts() {
+ const deviceId = this.deviceId;
+
const device = this.hass.devices[this.deviceId];
if (!device) {
@@ -1188,6 +1208,11 @@ export class HaConfigDevicePage extends LitElement {
deviceAlerts.push(...alerts);
}
+ if (this.deviceId !== deviceId) {
+ // abort if the device has changed
+ return;
+ }
+
this._deviceAlerts = deviceAlerts;
if (deviceAlerts.length) {
this._deviceAlertsActionsTimeout = window.setTimeout(() => {
From 232649c0cdb6d3ba4f3602dd457e20a52395c6bf Mon Sep 17 00:00:00 2001
From: Paul Bottein
Date: Wed, 2 Jul 2025 13:41:26 +0200
Subject: [PATCH 6/8] Improve styling of the code editor in fullscreen mode
(#26029)
---
src/components/ha-code-editor.ts | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts
index 5cb78c7193..69387c89a3 100644
--- a/src/components/ha-code-editor.ts
+++ b/src/components/ha-code-editor.ts
@@ -584,11 +584,14 @@ export class HaCodeEditor extends ReactiveElement {
:host(.fullscreen) {
position: fixed !important;
- top: var(--header-height, 56px) !important;
- left: 0 !important;
- right: 0 !important;
- bottom: 0 !important;
+ top: calc(var(--header-height, 56px) + 8px) !important;
+ left: 8px !important;
+ right: 8px !important;
+ bottom: 8px !important;
z-index: 9999 !important;
+ border-radius: 12px !important;
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
+ overflow: hidden !important;
background-color: var(
--code-editor-background-color,
var(--card-background-color)
From cf531cd935e172c69f84583b7db45af2ed7d2dc0 Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Wed, 2 Jul 2025 13:41:52 +0200
Subject: [PATCH 7/8] Disable fullscreen in trigger detail dialog (#26030)
---
.../config/automation/trigger/ha-automation-trigger-row.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/panels/config/automation/trigger/ha-automation-trigger-row.ts b/src/panels/config/automation/trigger/ha-automation-trigger-row.ts
index f9f4c28ec2..5cabb41266 100644
--- a/src/panels/config/automation/trigger/ha-automation-trigger-row.ts
+++ b/src/panels/config/automation/trigger/ha-automation-trigger-row.ts
@@ -566,6 +566,7 @@ export default class HaAutomationTriggerRow extends LitElement {
text: html`
From 33ea02208ae486a8502422d9038e2c2cc141895e Mon Sep 17 00:00:00 2001
From: Bram Kragten
Date: Wed, 2 Jul 2025 13:44:53 +0200
Subject: [PATCH 8/8] Bumped version to 20250702.0
---
pyproject.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
index 360873cc72..7a89b5f566 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "home-assistant-frontend"
-version = "20250701.0"
+version = "20250702.0"
license = "Apache-2.0"
license-files = ["LICENSE*"]
description = "The Home Assistant frontend"