luci-mod-network: handle missing switch port state information
authorJo-Philipp Wich <jo@mein.io>
Tue, 28 Jan 2020 09:08:40 +0000 (10:08 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 29 Jan 2020 08:19:28 +0000 (09:19 +0100)
Ref: https://github.com/openwrt/luci/issues/3565
Ref: https://forum.openwrt.org/t/cannot-read-property-link/50766
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 616d44c155ae2b4f19e8b2645744a107e38a56c7)

modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js

index 80c8437fc4e7ba1027205e44ff324b4dbf7db6d2..47a67d5f5b11a20bb87d2d6b5def3ed60a220d11 100644 (file)
@@ -66,7 +66,7 @@ function render_port_status(node, portstate) {
        if (!node)
                return null;
 
-       if (!portstate.link)
+       if (!portstate || !portstate.link)
                L.dom.content(node, [
                        E('img', { src: L.resource('icons/port_down.png') }),
                        E('br'),
@@ -146,7 +146,7 @@ return L.view.extend({
                        if (!topology) {
                                ui.addNotification(null, _('Switch %q has an unknown topology - the VLAN settings might not be accurate.').replace(/%q/, switch_name));
 
-                               topology = {
+                               topologies[switch_name] = topology = {
                                        features: {},
                                        netdevs: {
                                                5: 'eth0'