Fixed agent disconnections not being saved in powerState db.

Ylian Saint-Hilaire committed Mar 31, 2020 at 15:12 UTC ecdede801186bce1cec180ea251a1108ef809e20
1 file changed +3 -3
meshcentral.js
+3 -3
@@ -1600,7 +1600,7 @@ function CreateMeshCentralServer(config, args) {
1600
1601 // Event the node connection change
1602 if (eventConnectChange == 1) { obj.DispatchEvent(obj.webserver.CreateMeshDispatchTargets(meshid, [nodeid]), obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: state.connectivity, pwr: state.powerState, ct: connectTime, nolog: 1, nopeers: 1 }); }
1603 - } else {nodeid
1603 + } else {
1604 // Multi server mode
1605
1606 // Change the node connection state
@@ -1655,13 +1655,13 @@ function CreateMeshCentralServer(config, args) {
1655 state.connectivity -= connectType;
1656
1657 // If the node is completely disconnected, clean it up completely
1658 - if (state.connectivity == 0) { delete obj.connectivityByNode[nodeid]; state.powerState = 0; }
1658 + if (state.connectivity == 0) { delete obj.connectivityByNode[nodeid]; }
1659 eventConnectChange = 1;
1660 }
1661
1662 // Clear node power state
1663 + var oldPowerState = state.powerState, powerState = 0;
1664 if (connectType == 1) { state.agentPower = 0; } else if (connectType == 2) { state.ciraPower = 0; } else if (connectType == 4) { state.amtPower = 0; }
1664 - var powerState = 0, oldPowerState = state.powerState;
1665 if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
1666 if ((state.powerState == null) || (state.powerState != powerState)) {
1667 state.powerState = powerState;