From 2708c78089ae8705c1bb50319b5ae3e5ffd75040 Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Tue, 26 May 2026 17:30:59 +0300 Subject: [PATCH] luci-mod-network: correctness fixes Signed-off-by: Paul Donald --- .../htdocs/luci-static/resources/view/network/dhcp.js | 4 ++-- .../htdocs/luci-static/resources/view/network/interfaces.js | 2 +- .../htdocs/luci-static/resources/view/network/wireless.js | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index d4774bbadd..1eaa6ada95 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -197,7 +197,7 @@ function expandAndFormatMAC(macs) { return result.length ? result : null; } -function isValidMAC(sid, s) { +function isValidMAC(s) { if (!s) return true; for (const mac of L.toArray(s)) @@ -1002,7 +1002,7 @@ return view.extend({ return _('The MAC address %h is already used by another static lease in the same DHCP pool') .format(host_macs.find(lm => this_macs.includes(lm))); } - return isValidMAC(section_id, value); + return isValidMAC(value); } Object.keys(hosts).forEach(function(mac) { let vendor; diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index 857585667d..77cefe86cb 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -115,7 +115,7 @@ function render_modal_status(node, ifc) { dom.content(node, [ E('img', { - 'src': L.resource('icons/%s%s.svg').format(dev ? dev.getType() : 'ethernet', ifc.isUp() ? '' : '_disabled'), + 'src': L.resource('icons/%s%s.svg').format(dev ? dev.getType() : 'ethernet', ifc && ifc.isUp() ? '' : '_disabled'), 'title': dev ? dev.getTypeI18n() : _('Not present') }), ifc ? render_status(E('span'), ifc, true) : E('em', _('Interface not present or not connected yet.')) diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js index a9ab42c791..975002c0b2 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js @@ -679,6 +679,7 @@ return view.extend({ const badge = row.querySelector('[data-name="_badge"] > div'); const stat = row.querySelector('[data-name="_stat"]'); const btns = row.querySelectorAll('.cbi-section-actions button'); + if (btns.length < 3) return; const busy = btns[0].classList.contains('spinning') || btns[1].classList.contains('spinning') || btns[2].classList.contains('spinning'); if (radioDev) { @@ -866,7 +867,7 @@ return view.extend({ s.load = function() { return network.getWifiDevices().then(L.bind(function(radios) { this.radios = radios.sort(function(a, b) { - return a.getName() > b.getName(); + return a.getName().localeCompare(b.getName()); }); const tasks = [];