luci-base: fix refresh in initNetworkState
authorPaul Donald <redacted>
Thu, 19 Feb 2026 00:50:37 +0000 (01:50 +0100)
committerPaul Donald <redacted>
Thu, 19 Feb 2026 00:50:37 +0000 (01:50 +0100)
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 <redacted>
modules/luci-base/htdocs/luci-static/resources/network.js

index 614509bea567684f41bdc58927192fc0e8486f63..6d84f12a5ffe6400dc3ae3037ed1d4cd73bf7e5a 100644 (file)
@@ -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);
        }
git clone https://git.99rst.org/PROJECT