From fc230cc9274918c17671b982cd5e47a4bbb358ce Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 6 Dec 2024 17:50:14 +0100 Subject: [PATCH] sysutils/nut: do not crash on this edge case, all I can test --- sysutils/nut/src/opnsense/www/js/widgets/Metadata/Nut.xml | 1 + sysutils/nut/src/opnsense/www/js/widgets/Nut.js | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/sysutils/nut/src/opnsense/www/js/widgets/Metadata/Nut.xml b/sysutils/nut/src/opnsense/www/js/widgets/Metadata/Nut.xml index 5d7487898..72d6988cf 100644 --- a/sysutils/nut/src/opnsense/www/js/widgets/Metadata/Nut.xml +++ b/sysutils/nut/src/opnsense/www/js/widgets/Metadata/Nut.xml @@ -31,6 +31,7 @@ UPS is boosting voltage Forced Shutdown Nut is not started. Click to configure Nut. + Nut is not returning a status. Click to reconfigure Nut. This widget only works with the Netclient driver. Click to configure the Netclient driver. Remote NUT Server h diff --git a/sysutils/nut/src/opnsense/www/js/widgets/Nut.js b/sysutils/nut/src/opnsense/www/js/widgets/Nut.js index 6ede278ce..6d65644b3 100644 --- a/sysutils/nut/src/opnsense/www/js/widgets/Nut.js +++ b/sysutils/nut/src/opnsense/www/js/widgets/Nut.js @@ -71,6 +71,11 @@ export default class NutNetclient extends BaseTableWidget { // Fetch the UPS status data from the server. const { response: nut_ups_status_response } = await this.ajaxCall(`/api/nut/${'diagnostics/upsstatus'}`); + if (!nut_ups_status_response) { + $('#nut-table').html(`${this.translations.misconfigured}`); + return; + } + // Parse the UPS status data into a key-value object. const nut_ups_status = nut_ups_status_response.split('\n').reduce((acc, line) => { const [key, value] = line.split(': ');