From: Paul Donald Date: Thu, 19 Feb 2026 00:50:37 +0000 (+0100) Subject: luci-base: fix refresh in initNetworkState X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=c1f55dd43ae476f17cbdb8615349a4c90d640590;p=openwrt-luci.git luci-base: fix refresh in initNetworkState Stale state is kept around due to the _init = _init (re)assignment, and this assignment prevents a refresh. After running everything through testing, I also found uci.delete -> uci.remove. I could completely remove both deleteWifiNetwork functions and still delete networks, suggesting these go unused. There are no other references to them anywhere... Add also pse property, as a follow-up to 8e493db75a80194a1f76ded11df4dbf32f1235d1 Signed-off-by: Paul Donald --- diff --git a/modules/luci-base/htdocs/luci-static/resources/network.js b/modules/luci-base/htdocs/luci-static/resources/network.js index 614509bea5..6d84f12a5f 100644 --- a/modules/luci-base/htdocs/luci-static/resources/network.js +++ b/modules/luci-base/htdocs/luci-static/resources/network.js @@ -353,7 +353,10 @@ function maskToPrefix(mask, v6) { function initNetworkState(refresh) { if (_state == null || refresh) { const hasWifi = L.hasSystemFeature('wifi'); - _init = _init || Promise.all([ + + if (refresh) _state = null; + if (refresh || !_init) { + _init = Promise.all([ L.resolveDefault(callNetworkInterfaceDump(), []), L.resolveDefault(callLuciBoardJSON(), {}), L.resolveDefault(callLuciNetworkDevices(), {}), @@ -388,6 +391,7 @@ function initNetworkState(refresh) { link: dev.link, stats: dev.stats, macaddr: dev.mac, + pse: dev?.pse, type: dev.type, devtype: dev.devtype, mtu: dev.mtu, @@ -530,6 +534,8 @@ function initNetworkState(refresh) { return (_state = s); }); }); + } // end if (refresh || !_init) + } return (_state != null ? Promise.resolve(_state) : _init); @@ -3674,7 +3680,7 @@ WifiDevice = baseclass.extend(/** @lends LuCI.network.WifiDevice.prototype */ { if (sid == null || uci.get('wireless', sid, 'device') != this.sid) return Promise.resolve(false); - uci.delete('wireless', network); + uci.remove('wireless', sid); return Promise.resolve(true); }