diff --git a/frontend-modern/src/components/Dashboard/GuestRow.tsx b/frontend-modern/src/components/Dashboard/GuestRow.tsx index bfaa3fb..e08edaf 100644 --- a/frontend-modern/src/components/Dashboard/GuestRow.tsx +++ b/frontend-modern/src/components/Dashboard/GuestRow.tsx @@ -149,6 +149,13 @@ export function GuestRow(props: GuestRowProps) { }); const cpuPercent = createMemo(() => (props.guest.cpu || 0) * 100); + + // I/O metrics - must use memos for reactivity with WebSocket updates + const diskRead = createMemo(() => props.guest.diskRead || 0); + const diskWrite = createMemo(() => props.guest.diskWrite || 0); + const networkIn = createMemo(() => props.guest.networkIn || 0); + const networkOut = createMemo(() => props.guest.networkOut || 0); + const memPercent = createMemo(() => { if (!props.guest.memory) return 0; return props.guest.memory.usage || 0; @@ -657,7 +664,7 @@ export function GuestRow(props: GuestRowProps) { return (
-}> - {formatSpeed(props.guest.diskRead)} + {formatSpeed(diskRead())}
); @@ -666,7 +673,7 @@ export function GuestRow(props: GuestRowProps) { return (
-}> - {formatSpeed(props.guest.diskWrite)} + {formatSpeed(diskWrite())}
); @@ -675,7 +682,7 @@ export function GuestRow(props: GuestRowProps) { return (
-}> - {formatSpeed(props.guest.networkIn)} + {formatSpeed(networkIn())}
); @@ -684,7 +691,7 @@ export function GuestRow(props: GuestRowProps) { return (
-}> - {formatSpeed(props.guest.networkOut)} + {formatSpeed(networkOut())}
);