From 28fb9bd6c942459ed0465da55b50819256d4ab1c Mon Sep 17 00:00:00 2001 From: GodsQuantum <193283917+GodsQuantum@users.noreply.github.com> Date: Wed, 16 Sep 2026 10:49:51 +0200 Subject: [PATCH] fix: parse newline-terminated hwmon temperatures --- crates/aooscope-server/src/providers/telemetry.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/aooscope-server/src/providers/telemetry.rs b/crates/aooscope-server/src/providers/telemetry.rs index ddefd93..88657f7 100644 --- a/crates/aooscope-server/src/providers/telemetry.rs +++ b/crates/aooscope-server/src/providers/telemetry.rs @@ -113,7 +113,7 @@ pub fn normalize_local_sysfs(temperatures: &[(&str, &str)], gpu: &[(&str, &str)] temperatures .iter() .find(|(key, _)| *key == name) - .and_then(|(_, value)| value.parse::().ok()) + .and_then(|(_, value)| value.trim().parse::().ok()) .map(|value| value / 1000.0) }; let number = |name: &str| { @@ -839,6 +839,13 @@ mod tests { let _ = fs::remove_dir_all(root); } + #[test] + fn local_sysfs_normalization_accepts_sysfs_newlines() { + let value = normalize_local_sysfs(&[("cpu", "52000\n"), ("gpu", "61000\n")], &[]); + assert_eq!(value["cpu_temp_c"], 52.0); + assert_eq!(value["gpu_temp_c"], 61.0); + } + #[test] fn local_sysfs_normalization_uses_millidegrees_and_percent_memory() { let value = normalize_local_sysfs(