@sailingrotevista/rotevista-dash 6.0.4 → 6.0.5

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.
Files changed (2) hide show
  1. package/app.js +27 -0
  2. package/package.json +1 -1
package/app.js CHANGED
@@ -1377,7 +1377,34 @@ async function init() {
1377
1377
  connect(); // Si collegherà in tempo reale al WebSocket del Cerbo (usando l'IP di fallback se sei su Mac)
1378
1378
 
1379
1379
  setInterval(watchConfigChanges, 10000);
1380
+
1381
+ // ==========================================================================
1382
+ // WATCHDOG DI RISVEGLIO (SLEEP/WAKE DETECTOR)
1383
+ // ==========================================================================
1384
+
1385
+ // Rileva quando la scheda del browser torna in primo piano (es. sblocco iPad o Mac aperto)
1386
+ document.addEventListener('visibilitychange', () => {
1387
+ if (document.visibilityState === 'visible') {
1388
+ handleWakeUp();
1389
+ }
1390
+ });
1391
+
1392
+ // Rileva se il computer è andato in sospensione misurando il ritardo dei secondi
1393
+ let lastHeartbeat = Date.now();
1394
+ setInterval(() => {
1395
+ const now = Date.now();
1396
+ const diff = now - lastHeartbeat;
1397
+ lastHeartbeat = now;
1398
+
1399
+ // Se passano più di 6 secondi tra un ciclo e l'altro (invece di 1 secondo),
1400
+ // significa che il PC era in sospensione. Avviamo il risveglio.
1401
+ if (diff > 6000) {
1402
+ handleWakeUp();
1403
+ }
1404
+ }, 1000);
1380
1405
  }
1381
1406
 
1407
+
1408
+
1382
1409
  window.addEventListener('load', init);
1383
1410
  window.addEventListener('pagehide', saveDashboardState);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sailingrotevista/rotevista-dash",
3
- "version": "6.0.4",
3
+ "version": "6.0.5",
4
4
  "description": "Wind Dashboard with navigation and course aids",
5
5
  "main": "index.js",
6
6
  "publishConfig": {