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;