Skip to content

Commit bbe3a9e

Browse files
committed
Merge branch 'rc'
2 parents c3f0bba + 33ea022 commit bbe3a9e

File tree

8 files changed

+44
-16
lines changed

8 files changed

+44
-16
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "home-assistant-frontend"
7-
version = "20250701.0"
7+
version = "20250702.0"
88
license = "Apache-2.0"
99
license-files = ["LICENSE*"]
1010
description = "The Home Assistant frontend"

src/components/ha-area-picker.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ export class HaAreaPicker extends LitElement {
366366
.hass=${this.hass}
367367
.autofocus=${this.autofocus}
368368
.label=${this.label}
369+
.helper=${this.helper}
369370
.notFoundLabel=${this.hass.localize(
370371
"ui.components.area-picker.no_match"
371372
)}

src/components/ha-areas-floors-display-editor.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ export class HaAreasFloorsDisplayEditor extends LitElement {
7878
handle-selector=".handle"
7979
@item-moved=${this._floorMoved}
8080
.disabled=${this.disabled || !canReorderFloors}
81+
invert-swap
8182
>
8283
<div>
8384
${repeat(

src/components/ha-code-editor.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -584,11 +584,14 @@ export class HaCodeEditor extends ReactiveElement {
584584
585585
:host(.fullscreen) {
586586
position: fixed !important;
587-
top: var(--header-height, 56px) !important;
588-
left: 0 !important;
589-
right: 0 !important;
590-
bottom: 0 !important;
587+
top: calc(var(--header-height, 56px) + 8px) !important;
588+
left: 8px !important;
589+
right: 8px !important;
590+
bottom: 8px !important;
591591
z-index: 9999 !important;
592+
border-radius: 12px !important;
593+
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
594+
overflow: hidden !important;
592595
background-color: var(
593596
--code-editor-background-color,
594597
var(--card-background-color)

src/panels/config/automation/trigger/ha-automation-trigger-row.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,7 @@ export default class HaAutomationTriggerRow extends LitElement {
566566
text: html`
567567
<ha-yaml-editor
568568
read-only
569+
disable-fullscreen
569570
.hass=${this.hass}
570571
.defaultValue=${this._triggered}
571572
></ha-yaml-editor>

src/panels/config/devices/ha-config-device-page.ts

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
mdiPlusCircle,
1111
mdiRestore,
1212
} from "@mdi/js";
13-
import type { CSSResultGroup, TemplateResult } from "lit";
13+
import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit";
1414
import { LitElement, css, html, nothing } from "lit";
1515
import { customElement, property, state } from "lit/decorators";
1616
import { ifDefined } from "lit/directives/if-defined";
@@ -273,22 +273,24 @@ export class HaConfigDevicePage extends LitElement {
273273
findBatteryChargingEntity(this.hass, entities)
274274
);
275275

276-
public willUpdate(changedProps) {
276+
public willUpdate(changedProps: PropertyValues<this>) {
277277
super.willUpdate(changedProps);
278278

279-
if (changedProps.has("deviceId") || changedProps.has("entries")) {
279+
if (changedProps.has("deviceId")) {
280280
this._deviceActions = [];
281281
this._deviceAlerts = [];
282282
this._deleteButtons = [];
283283
this._diagnosticDownloadLinks = [];
284+
}
285+
286+
if (changedProps.has("deviceId") || changedProps.has("entries")) {
284287
this._fetchData();
285288
}
286289
}
287290

288-
protected firstUpdated(changedProps) {
291+
protected firstUpdated(changedProps: PropertyValues) {
289292
super.firstUpdated(changedProps);
290293
loadDeviceRegistryDetailDialog();
291-
this._fetchData();
292294
}
293295

294296
protected updated(changedProps) {
@@ -989,6 +991,7 @@ export class HaConfigDevicePage extends LitElement {
989991
}
990992

991993
private _getDeleteActions() {
994+
const deviceId = this.deviceId;
992995
const device = this.hass.devices[this.deviceId];
993996

994997
if (!device) {
@@ -1058,12 +1061,18 @@ export class HaConfigDevicePage extends LitElement {
10581061
}
10591062
);
10601063

1064+
if (this.deviceId !== deviceId) {
1065+
// abort if the device has changed
1066+
return;
1067+
}
1068+
10611069
if (buttons.length > 0) {
10621070
this._deleteButtons = buttons;
10631071
}
10641072
}
10651073

10661074
private async _getDeviceActions() {
1075+
const deviceId = this.deviceId;
10671076
const device = this.hass.devices[this.deviceId];
10681077

10691078
if (!device) {
@@ -1157,14 +1166,25 @@ export class HaConfigDevicePage extends LitElement {
11571166

11581167
// load matter device actions async to avoid an UI with 0 actions when the matter integration needs very long to get node diagnostics
11591168
matter.getMatterDeviceActions(this, this.hass, device).then((actions) => {
1169+
if (this.deviceId !== deviceId) {
1170+
// abort if the device has changed
1171+
return;
1172+
}
11601173
this._deviceActions = [...actions, ...(this._deviceActions || [])];
11611174
});
11621175
}
11631176

1177+
if (this.deviceId !== deviceId) {
1178+
// abort if the device has changed
1179+
return;
1180+
}
1181+
11641182
this._deviceActions = deviceActions;
11651183
}
11661184

11671185
private async _getDeviceAlerts() {
1186+
const deviceId = this.deviceId;
1187+
11681188
const device = this.hass.devices[this.deviceId];
11691189

11701190
if (!device) {
@@ -1188,6 +1208,11 @@ export class HaConfigDevicePage extends LitElement {
11881208
deviceAlerts.push(...alerts);
11891209
}
11901210

1211+
if (this.deviceId !== deviceId) {
1212+
// abort if the device has changed
1213+
return;
1214+
}
1215+
11911216
this._deviceAlerts = deviceAlerts;
11921217
if (deviceAlerts.length) {
11931218
this._deviceAlertsActionsTimeout = window.setTimeout(() => {

src/panels/config/integrations/ha-config-integrations-dashboard.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -406,11 +406,7 @@ class HaConfigIntegrationsDashboard extends KeyboardShortcutMixin(
406406
${!this._showDisabled && this.narrow && disabledConfigEntries.length
407407
? html`<span class="badge">${disabledConfigEntries.length}</span>`
408408
: ""}
409-
<ha-button-menu
410-
multi
411-
@action=${this._handleMenuAction}
412-
@click=${this._preventDefault}
413-
>
409+
<ha-button-menu multi @action=${this._handleMenuAction}>
414410
<ha-icon-button
415411
slot="trigger"
416412
.label=${this.hass.localize("ui.common.menu")}

src/panels/lovelace/card-features/hui-area-controls-card-feature.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { HassEntity } from "home-assistant-js-websocket";
22
import { css, html, LitElement, nothing } from "lit";
3-
import { classMap } from "lit/directives/class-map";
43
import { customElement, property, state } from "lit/decorators";
4+
import { classMap } from "lit/directives/class-map";
55
import { styleMap } from "lit/directives/style-map";
66
import memoizeOne from "memoize-one";
77
import { ensureArray } from "../../../common/array/ensure-array";
@@ -14,6 +14,7 @@ import { stateActive } from "../../../common/entity/state_active";
1414
import { domainColorProperties } from "../../../common/entity/state_color";
1515
import "../../../components/ha-control-button";
1616
import "../../../components/ha-control-button-group";
17+
import "../../../components/ha-domain-icon";
1718
import "../../../components/ha-svg-icon";
1819
import type { AreaRegistryEntry } from "../../../data/area_registry";
1920
import { forwardHaptic } from "../../../data/haptics";

0 commit comments

Comments
 (0)