From 99180d2abfcdc3418debe88a2a755fbcdf09e367 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 29 Jul 2026 10:35:24 +0000 Subject: [PATCH] =?UTF-8?q?[FIX]=20script=20todo:=20t=C3=A9l=C3=A9m=C3=A9t?= =?UTF-8?q?rie=20syst=C3=A8me=20=E2=80=94=20rafra=C3=AEchir=20apr=C3=A8s?= =?UTF-8?q?=20install=20lm-sensors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Après « i » (installer lm-sensors) dans la vue système F2, l'affichage n'était pas garanti d'être remis à jour : le message « lm-sensors absent » pouvait rester même si les capteurs devenaient lisibles. Fix : à la fin de action_install_sensors, on ré-échantillonne le système (température incluse, _sys_prev remis à zéro) et on réécrit la case SYNCHRONEMENT + self.refresh(), puis on notifie le résultat (« capteurs désormais disponibles » ou « toujours pas de température — reboot/modprobe requis ? »). Validé headless : la ligne Température passe de « lm-sensors absent… » à « 48°C (max) » une fois la température lisible. Co-Authored-By: Claude Opus 4.8 (1M context) --- script/todo/todo_i18n.py | 8 ++++++++ script/todo/todo_telemetry.py | 20 +++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/script/todo/todo_i18n.py b/script/todo/todo_i18n.py index dad4318..eb9d5a6 100644 --- a/script/todo/todo_i18n.py +++ b/script/todo/todo_i18n.py @@ -1352,6 +1352,14 @@ TRANSLATIONS = { "fr": "Capteurs déjà disponibles.", "en": "Sensors already available.", }, + "Sensors now available.": { + "fr": "Capteurs désormais disponibles.", + "en": "Sensors now available.", + }, + "Still no temperature (reboot/modprobe may be needed).": { + "fr": "Toujours pas de température (redémarrage/modprobe requis ?).", + "en": "Still no temperature (reboot/modprobe may be needed).", + }, "Unknown package manager for lm-sensors.": { "fr": "Gestionnaire de paquets inconnu pour lm-sensors.", "en": "Unknown package manager for lm-sensors.", diff --git a/script/todo/todo_telemetry.py b/script/todo/todo_telemetry.py index 77e3d0f..ac357d0 100644 --- a/script/todo/todo_telemetry.py +++ b/script/todo/todo_telemetry.py @@ -782,7 +782,25 @@ def run_tui(run_app: bool = True, state: dict | None = None): if ans in ("o", "oui", "y", "yes"): os.system(printable + " || true") os.system("sudo sensors-detect --auto || true") - self.run_worker(self._tick_system()) + # Rafraîchit IMMÉDIATEMENT la vue système : on ré-échantillonne + # (température incluse) et on réécrit la case pour que le message + # « installer » disparaisse si les capteurs sont désormais lisibles. + self._sys_prev = None + try: + m, self._sys_prev = system_snapshot(self._sys_prev, full=True) + self.query_one("#system", Static).update( + self._render_system(m) + ) + except Exception: + pass + self.refresh() + if read_temperature() is not None: + self.notify(t("Sensors now available.")) + else: + self.notify( + t("Still no temperature (reboot/modprobe may be needed)."), + severity="warning", + ) def on_click(self, event): # Grille (mosaïque) : clic sur le TITRE d'une case -> l'agrandir