From 4cd3569e2588de5ad7c03377a0bea80241566f2f Mon Sep 17 00:00:00 2001 From: Astisme <96465880+Astisme@users.noreply.github.com> Date: Fri, 28 Oct 2022 12:07:31 +0200 Subject: [PATCH] aggiustata race condition sulla richiesta rpc dopo disconnessione --- webserver/public/js/mqtt/mqtthat.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webserver/public/js/mqtt/mqtthat.js b/webserver/public/js/mqtt/mqtthat.js index b8ae2a2..65c14ca 100644 --- a/webserver/public/js/mqtt/mqtthat.js +++ b/webserver/public/js/mqtt/mqtthat.js @@ -49,6 +49,8 @@ function sendMessage(topic, message, retryNum = 0) { export { sendMessage }; +let hasDisconnected = false; + // called when the client connects function onConnect() { // Once a connection has been made, make a subscription and send a message. @@ -62,7 +64,10 @@ function onConnect() { isConnected = true; // tell every module that we're connected Api.isConnected = true; - Api.onConnect(); + if(hasDisconnected){ + Api.onConnect(); + hasDisconnected = false; + } } let dateConLost = null; @@ -75,6 +80,7 @@ function onFailure(message) { if (retry && (time < maxTime)) { isConnected = false; Api.isConnected = false; + hasDisconnected = true; client.connect(connectOptions); } if (time >= maxTime) { @@ -88,6 +94,7 @@ function onConnectionLost(responseObject) { console.log("onConnectionLost:", responseObject); isConnected = false; Api.isConnected = false; + hasDisconnected = true; setTimeout(() => { client.connect(connectOptions); }, 1000); -- GitLab