@sailingrotevista/rotevista-dash 7.0.15 → 7.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.js +17 -18
- package/package.json +1 -1
package/app.js
CHANGED
|
@@ -1201,9 +1201,15 @@ function connect() {
|
|
|
1201
1201
|
socket.onclose = () => {
|
|
1202
1202
|
if (!simulationMode) {
|
|
1203
1203
|
ui.status.className = "offline";
|
|
1204
|
-
ui.status.innerText = "
|
|
1205
|
-
|
|
1206
|
-
|
|
1204
|
+
ui.status.innerText = "OFFLINE";
|
|
1205
|
+
|
|
1206
|
+
// Tentiamo la riconnessione automatica solo se lo schermo è attivo e visibile,
|
|
1207
|
+
// evitando cicli di loop di rete infiniti in background mentre il tablet dorme
|
|
1208
|
+
if (document.visibilityState === "visible") {
|
|
1209
|
+
ui.status.innerText = "RECONNECTING...";
|
|
1210
|
+
setTimeout(connect, reconnectDelay);
|
|
1211
|
+
reconnectDelay = Math.min(reconnectDelay * 1.5, 10000);
|
|
1212
|
+
}
|
|
1207
1213
|
}
|
|
1208
1214
|
};
|
|
1209
1215
|
} catch (e) {
|
|
@@ -1319,24 +1325,17 @@ async function init() {
|
|
|
1319
1325
|
}
|
|
1320
1326
|
}
|
|
1321
1327
|
|
|
1322
|
-
// Watchdog per
|
|
1328
|
+
// Watchdog attivo per la gestione intelligente dello standby e il massimo risparmio energetico
|
|
1323
1329
|
document.addEventListener('visibilitychange', () => {
|
|
1324
1330
|
if (document.visibilityState === 'visible') {
|
|
1325
|
-
console.log("🔌 [Watchdog] Tab
|
|
1326
|
-
|
|
1327
|
-
|
|
1331
|
+
console.log("🔌 [Watchdog] Schermo sbloccato / Tab visibile. Riconnessione immediata e allineamento storico...");
|
|
1332
|
+
// Al risveglio stabiliamo una nuova connessione pulita che scaricherà lo storico accumulato in background dal server
|
|
1333
|
+
connect();
|
|
1334
|
+
} else if (document.visibilityState === 'hidden') {
|
|
1335
|
+
console.log("🔌 [Watchdog] Schermo bloccato / Tab in background. Chiusura WebSocket preventiva per salvaguardare la batteria.");
|
|
1336
|
+
// Tagliamo attivamente la connessione per congelare all'istante l'attività di rete ed i consumi del browser
|
|
1328
1337
|
if (socket) {
|
|
1329
|
-
|
|
1330
|
-
// Se era già chiuso o in errore, proviamo a riconnettere subito
|
|
1331
|
-
connect();
|
|
1332
|
-
} else {
|
|
1333
|
-
// Se resulta "OPEN" ma potrebbe essere una connessione fantasma,
|
|
1334
|
-
// la chiudiamo forzatamente per scatenare la riconnessione pulita e il download della cronologia
|
|
1335
|
-
console.log("🔌 [Watchdog] Riavvio precauzionale del WebSocket per evitare connessioni fantasma.");
|
|
1336
|
-
socket.close();
|
|
1337
|
-
}
|
|
1338
|
-
} else {
|
|
1339
|
-
connect();
|
|
1338
|
+
socket.close();
|
|
1340
1339
|
}
|
|
1341
1340
|
}
|
|
1342
1341
|
});
|