From c3507abd9c1043e6500536809ea7008a36efd29a Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 24 Dec 2024 15:17:40 +0100 Subject: [PATCH] Guard for cloud integration not loaded (#23439) --- src/panels/config/backup/dialogs/dialog-backup-onboarding.ts | 2 +- src/panels/config/backup/dialogs/dialog-generate-backup.ts | 4 +++- .../config/backup/dialogs/show-dialog-backup_onboarding.ts | 2 +- .../config/backup/dialogs/show-dialog-generate-backup.ts | 2 +- src/panels/config/backup/ha-config-backup-backups.ts | 2 +- src/panels/config/backup/ha-config-backup-overview.ts | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts b/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts index bd70ce0dbd..7719ebd066 100644 --- a/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts +++ b/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts @@ -101,7 +101,7 @@ class DialogBackupOnboarding extends LitElement implements HassDialog { agents.push(CORE_LOCAL_AGENT); } // Enable cloud location if logged in - if (this._params.cloudStatus.logged_in) { + if (this._params.cloudStatus?.logged_in) { agents.push(CLOUD_AGENT); } diff --git a/src/panels/config/backup/dialogs/dialog-generate-backup.ts b/src/panels/config/backup/dialogs/dialog-generate-backup.ts index eb5d53407e..95ddb89809 100644 --- a/src/panels/config/backup/dialogs/dialog-generate-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-generate-backup.ts @@ -99,7 +99,9 @@ class DialogGenerateBackup extends LitElement implements HassDialog { const { agents } = await fetchBackupAgentsInfo(this.hass); this._agentIds = agents .map((agent) => agent.agent_id) - .filter((id) => id !== CLOUD_AGENT || this._params?.cloudStatus.logged_in) + .filter( + (id) => id !== CLOUD_AGENT || this._params?.cloudStatus?.logged_in + ) .sort(compareAgents); } diff --git a/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts b/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts index 578f80bf13..c411d6f0d7 100644 --- a/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts +++ b/src/panels/config/backup/dialogs/show-dialog-backup_onboarding.ts @@ -4,7 +4,7 @@ import type { CloudStatus } from "../../../../data/cloud"; export interface BackupOnboardingDialogParams { submit?: (value: boolean) => void; cancel?: () => void; - cloudStatus: CloudStatus; + cloudStatus?: CloudStatus; } const loadDialog = () => import("./dialog-backup-onboarding"); diff --git a/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts b/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts index ccd57deb44..75d139d8f8 100644 --- a/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts +++ b/src/panels/config/backup/dialogs/show-dialog-generate-backup.ts @@ -5,7 +5,7 @@ import type { CloudStatus } from "../../../../data/cloud"; export interface GenerateBackupDialogParams { submit?: (response: GenerateBackupParams) => void; cancel?: () => void; - cloudStatus: CloudStatus; + cloudStatus?: CloudStatus; } export const loadGenerateBackupDialog = () => diff --git a/src/panels/config/backup/ha-config-backup-backups.ts b/src/panels/config/backup/ha-config-backup-backups.ts index d38ec2e9ba..f6063ba21c 100644 --- a/src/panels/config/backup/ha-config-backup-backups.ts +++ b/src/panels/config/backup/ha-config-backup-backups.ts @@ -78,7 +78,7 @@ const TYPE_ORDER: Array = ["automatic", "manual", "imported"]; class HaConfigBackupBackups extends SubscribeMixin(LitElement) { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public cloudStatus!: CloudStatus; + @property({ attribute: false }) public cloudStatus?: CloudStatus; @property({ type: Boolean }) public narrow = false; diff --git a/src/panels/config/backup/ha-config-backup-overview.ts b/src/panels/config/backup/ha-config-backup-overview.ts index a39a56b4ee..0a132b799f 100644 --- a/src/panels/config/backup/ha-config-backup-overview.ts +++ b/src/panels/config/backup/ha-config-backup-overview.ts @@ -41,7 +41,7 @@ import { showUploadBackupDialog } from "./dialogs/show-dialog-upload-backup"; class HaConfigBackupOverview extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public cloudStatus!: CloudStatus; + @property({ attribute: false }) public cloudStatus?: CloudStatus; @property({ type: Boolean }) public narrow = false;