From ee75d5194f67322740766d6570fcb9b4359fe83e Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 8 Oct 2025 09:07:06 +0000 Subject: [PATCH] Fix Store to plain object conversion for activeAlerts activeAlerts from websocket store is a SolidJS Store proxy, not a plain Record. Spread it to plain object before passing to getAlertStyles to prevent 't is not a function' error. --- frontend-modern/src/components/Docker/DockerHosts.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend-modern/src/components/Docker/DockerHosts.tsx b/frontend-modern/src/components/Docker/DockerHosts.tsx index 287b9fc76..e1c1e51ba 100644 --- a/frontend-modern/src/components/Docker/DockerHosts.tsx +++ b/frontend-modern/src/components/Docker/DockerHosts.tsx @@ -14,7 +14,7 @@ import { renderDockerStatusBadge } from './DockerStatusBadge'; interface DockerHostsProps { hosts: DockerHost[]; - activeAlerts?: Record; + activeAlerts?: Record | any; // Can be Store or plain object } interface ContainerEntry { @@ -129,7 +129,9 @@ const DockerContainerRow: Component<{ const alertStyles = createMemo(() => { if (!props.activeAlerts) return defaultAlertStyles; try { - return getAlertStyles(containerResourceId(), props.activeAlerts) || defaultAlertStyles; + // Convert Store to plain object if needed + const alertsObj = typeof props.activeAlerts === 'object' ? { ...props.activeAlerts } : props.activeAlerts; + return getAlertStyles(containerResourceId(), alertsObj) || defaultAlertStyles; } catch (e) { console.warn('Error getting alert styles for container:', containerResourceId(), e); return defaultAlertStyles;