From c7f2177b08bb3dcfba7988e34d1c293ab3f835da Mon Sep 17 00:00:00 2001 From: henrygd Date: Fri, 25 Sep 2026 19:59:51 -0400 Subject: [PATCH] wifi: hide chart without signal data, show unknown signal in table The line chart never renders without values, leaving an endless spinner when connected interfaces report no RSSI. --- internal/site/src/components/routes/system.tsx | 2 +- .../components/routes/system/charts/wifi-chart.tsx | 13 ++++++------- .../systems-table/systems-table-columns.tsx | 3 ++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/site/src/components/routes/system.tsx b/internal/site/src/components/routes/system.tsx index e3cdff0c7..72051efe6 100644 --- a/internal/site/src/components/routes/system.tsx +++ b/internal/site/src/components/routes/system.tsx @@ -213,7 +213,6 @@ export default memo(function SystemDetail({ id }: { id: string }) { - {pageBottomExtraMargin > 0 &&
} @@ -223,6 +222,7 @@ export default memo(function SystemDetail({ id }: { id: string }) { <>
+
{hasNetworkMonitors && } diff --git a/internal/site/src/components/routes/system/charts/wifi-chart.tsx b/internal/site/src/components/routes/system/charts/wifi-chart.tsx index fc1196c6e..a8205c047 100644 --- a/internal/site/src/components/routes/system/charts/wifi-chart.tsx +++ b/internal/site/src/components/routes/system/charts/wifi-chart.tsx @@ -16,7 +16,11 @@ export function WiFiChart({ dataEmpty: boolean }) { const interfaces = connectedWiFi(system) - if (!interfaces.length) return null + // Associated interfaces may not report RSSI; without any readings the chart would never render. + const hasSignal = interfaces.some( + ([id, wifi]) => wifi.r !== undefined || chartData.systemStats.some((record) => record.stats?.wf?.[id] !== undefined) + ) + if (!hasSignal) return null const dataPoints = interfaces.map(([id, current]) => ({ label: current.s ? `${id} (${current.s})` : id, color: wifiColor(id), @@ -27,12 +31,7 @@ export function WiFiChart({ empty={dataEmpty} grid={grid} title={t`Wi-Fi signal`} - description={interfaces - .map( - ([id, value]) => - `${id}${value.s ? ` (${value.s})` : ""}: ${value.r == null ? t`Unavailable` : `${value.r} dBm`}`, - ) - .join(" · ")} + description={t`Signal strength of connected Wi-Fi interfaces`} > - {wifi.r === undefined ? "—" : `${wifi.r} dBm`} + {wifi.r === undefined ? t`Unknown` : `${wifi.r} dBm`} ) }