From b666747bc2de0994d2645de468a4f436c514e93f Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Mon, 13 Apr 2026 16:23:31 +0200 Subject: [PATCH] feat: guard null stats (#5800) --- .../hosting/manage/components/ServerManageStats.vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/components/ServerManageStats.vue b/packages/ui/src/layouts/wrapped/hosting/manage/components/ServerManageStats.vue index bce17d438..91cbc6698 100644 --- a/packages/ui/src/layouts/wrapped/hosting/manage/components/ServerManageStats.vue +++ b/packages/ui/src/layouts/wrapped/hosting/manage/components/ServerManageStats.vue @@ -104,8 +104,10 @@ const padGraph = (data: number[]) => { const cpuData = computed(() => padGraph(props.data?.graph.cpu ?? [])) const ramData = computed(() => padGraph(props.data?.graph.ram ?? [])) -const cpuPercent = computed(() => stats.value.cpu_percent) -const ramPercent = computed(() => (stats.value.ram_usage_bytes / stats.value.ram_total_bytes) * 100) +const cpuPercent = computed(() => stats.value.cpu_percent ?? 0) +const ramPercent = computed( + () => ((stats.value.ram_usage_bytes ?? 0) / (stats.value.ram_total_bytes || 1)) * 100, +) const cpuWarning = computed(() => cpuPercent.value >= 90) const ramWarning = computed(() => ramPercent.value >= 90) @@ -167,7 +169,7 @@ const formatBytes = (bytes: number) => { const metrics = computed(() => { const storageMetric = { title: 'Storage', - value: props.loading ? '0 B' : formatBytes(stats.value.storage_usage_bytes), + value: props.loading ? '0 B' : formatBytes(stats.value.storage_usage_bytes ?? 0), icon: FolderOpenIcon, showGraph: false, chartOptions: null as ReturnType | null, @@ -213,7 +215,7 @@ const metrics = computed(() => { title: 'Memory', value: props.showMemoryAsBytes || userPreferences.value.ramAsNumber - ? formatBytes(stats.value.ram_usage_bytes) + ? formatBytes(stats.value.ram_usage_bytes ?? 0) : `${ramPercent.value.toFixed(2)}%`, icon: DatabaseIcon, showGraph: true,