feat: Add hardened error handling and retries (#2451)

- Closes #1830
 - Closes #2099
This commit is contained in:
Dermot Duffy
2026-06-30 17:45:12 -07:00
committed by dermotduffy
parent 4bc787e2b7
commit 47bcce93d3
182 changed files with 7877 additions and 4043 deletions
+17 -22
View File
@@ -17,14 +17,13 @@ import type { FullscreenManager } from './fullscreen/fullscreen-manager';
import type { HASSManager } from './hass/hass-manager';
import type { InitializationManager } from './initialization-manager';
import type { InteractionManager } from './interaction-manager';
import type { IssueManager } from './issues/issue-manager';
import type { KeyboardStateManager } from './keyboard-state-manager';
import type { MediaLoadedInfoManager } from './media-info-manager';
import type { MediaPlayerManager } from './media-player-manager';
import type { MessageManager } from './message-manager';
import type { MicrophoneManager } from './microphone-manager';
import type { NotificationManager } from './notification-manager';
import type { PIPManager } from './pip-manager';
import type { ProblemManager } from './problems/manager';
import type { QueryStringManager } from './query-string-manager';
import type { StatusBarItemManager } from './status-bar-item-manager';
import type { StyleManager } from './style-manager';
@@ -53,10 +52,10 @@ export interface CardActionsAPI {
getHASSManager(): HASSManager;
getMediaLoadedInfoManager(): MediaLoadedInfoManager;
getMediaPlayerManager(): MediaPlayerManager;
getMessageManager(): MessageManager;
getMicrophoneManager(): MicrophoneManager;
getNotificationManager(): NotificationManager;
getPIPManager(): PIPManager;
getIssueManager(): IssueManager;
getStatusBarItemManager(): StatusBarItemManager;
getTriggersManager(): TriggersManager;
getViewItemManager(): ViewItemManager;
@@ -70,7 +69,8 @@ export interface CardAutomationsAPI {
getConditionStateManager(): ConditionStateManager;
getHASSManager(): HASSManager;
getInitializationManager(): InitializationManager;
getMessageManager(): MessageManager;
getNotificationManager(): NotificationManager;
getIssueManager(): IssueManager;
}
export interface CardCameraAPI {
@@ -79,7 +79,6 @@ export interface CardCameraAPI {
getDeviceRegistryManager(): DeviceRegistryManager;
getEntityRegistryManager(): EntityRegistryManager;
getHASSManager(): HASSManager;
getMessageManager(): MessageManager;
getResolvedMediaCache(): ResolvedMediaCache;
getTriggersManager(): TriggersManager;
}
@@ -106,8 +105,8 @@ export interface CardConfigAPI {
getInitializationManager(): InitializationManager;
getMediaLoadedInfoManager(): MediaLoadedInfoManager;
getMediaPlayerManager(): MediaPlayerManager;
getMessageManager(): MessageManager;
getMicrophoneManager(): MicrophoneManager;
getIssueManager(): IssueManager;
getStatusBarItemManager(): StatusBarItemManager;
getStyleManager(): StyleManager;
getViewManager(): ViewManager;
@@ -118,7 +117,7 @@ export interface CardConfigLoaderAPI {
getConfigManager(): ConfigManager;
getFoldersManager(): FoldersManager;
getHASSManager(): HASSManager;
getMessageManager(): MessageManager;
getIssueManager(): IssueManager;
}
export interface CardDefaultManagerAPI {
@@ -134,7 +133,7 @@ export interface CardDownloadAPI {
getCameraManager(): CameraManager;
getHASSManager(): HASSManager;
getMediaLoadedInfoManager(): MediaLoadedInfoManager;
getMessageManager(): MessageManager;
getNotificationManager(): NotificationManager;
getViewManager(): ViewManager;
}
@@ -154,8 +153,9 @@ export interface CardElementAPI {
getMediaPlayerManager(): MediaPlayerManager;
getMicrophoneManager(): MicrophoneManager;
getPIPManager(): PIPManager;
getProblemManager(): ProblemManager;
getIssueManager(): IssueManager;
getQueryStringManager(): QueryStringManager;
getTriggersManager(): TriggersManager;
getViewManager(): ViewManager;
}
@@ -193,7 +193,6 @@ export interface CardHASSAPI {
getInitializationManager(): InitializationManager;
getInteractionManager(): InteractionManager;
getMediaPlayerManager(): MediaPlayerManager;
getMessageManager(): MessageManager;
getStyleManager(): StyleManager;
getTriggersManager(): TriggersManager;
getViewManager(): ViewManager;
@@ -209,13 +208,11 @@ export interface CardInitializerAPI {
getCardElementManager(): CardElementManager;
getConditionStateManager(): ConditionStateManager;
getConfigManager(): ConfigManager;
getConditionStateManager(): ConditionStateManager;
getDefaultManager(): DefaultManager;
getEntityRegistryManager(): EntityRegistryManager;
getHASSManager(): HASSManager;
getMediaPlayerManager(): MediaPlayerManager;
getMessageManager(): MessageManager;
getProblemManager(): ProblemManager;
getIssueManager(): IssueManager;
getQueryStringManager(): QueryStringManager;
getResolvedMediaCache(): ResolvedMediaCache;
getTriggersManager(): TriggersManager;
@@ -250,25 +247,22 @@ export interface CardMediaPlayerAPI {
getConfigManager(): ConfigManager;
getEntityRegistryManager(): EntityRegistryManager;
getHASSManager(): HASSManager;
getMessageManager(): MessageManager;
getQueryStringManager(): QueryStringManager;
}
export interface CardMessageAPI {
getCardElementManager(): CardElementManager;
getConditionStateManager(): ConditionStateManager;
getMediaLoadedInfoManager(): MediaLoadedInfoManager;
}
export interface CardNotificationAPI {
getCardElementManager(): CardElementManager;
}
export interface CardProblemAPI {
export interface CardIssueManagerAPI {
getCameraManager(): CameraManager;
getCardElementManager(): CardElementManager;
getConditionStateManager(): ConditionStateManager;
getConfigManager(): ConfigManager;
getInitializationManager(): InitializationManager;
getInteractionManager(): InteractionManager;
getNotificationManager(): NotificationManager;
getViewManager(): ViewManager;
}
export interface CardMicrophoneAPI {
@@ -318,7 +312,8 @@ export interface CardViewAPI {
getHASSManager(): HASSManager;
getInitializationManager(): InitializationManager;
getMediaLoadedInfoManager(): MediaLoadedInfoManager;
getMessageManager(): MessageManager;
getNotificationManager(): NotificationManager;
getIssueManager(): IssueManager;
getQueryStringManager(): QueryStringManager;
getStyleManager(): StyleManager;
getTriggersManager(): TriggersManager;