This commit is contained in:
legop3
2026-01-28 14:11:44 -05:00
parent d2722e40cc
commit 2cc0ce962f
6 changed files with 42 additions and 33 deletions
+21 -22
View File
@@ -105,7 +105,27 @@ modeEvents.on('change', () => {
syncAll();
});
managerEvents.on('rover', () => {
managerEvents.on('rover', (event = {}) => {
if (event.action === 'nightVision') {
const now = Date.now();
const elapsed = now - lastNightVisionSync;
if (elapsed >= NIGHT_VISION_SYNC_COOLDOWN_MS) {
lastNightVisionSync = now;
logger.info('Night vision update; syncing all clients (immediate)');
syncAll();
return;
}
if (!pendingNightVisionSync) {
const delay = NIGHT_VISION_SYNC_COOLDOWN_MS - elapsed;
pendingNightVisionSync = setTimeout(() => {
lastNightVisionSync = Date.now();
pendingNightVisionSync = null;
logger.info('Night vision update; syncing all clients (delayed)');
syncAll();
}, delay);
}
return;
}
if (pendingNightVisionSync) {
clearTimeout(pendingNightVisionSync);
pendingNightVisionSync = null;
@@ -114,27 +134,6 @@ managerEvents.on('rover', () => {
syncAll();
});
managerEvents.on('rover', (event = {}) => {
if (event.action !== 'nightVision') return;
const now = Date.now();
const elapsed = now - lastNightVisionSync;
if (elapsed >= NIGHT_VISION_SYNC_COOLDOWN_MS) {
lastNightVisionSync = now;
logger.info('Night vision update; syncing all clients (immediate)');
syncAll();
return;
}
if (!pendingNightVisionSync) {
const delay = NIGHT_VISION_SYNC_COOLDOWN_MS - elapsed;
pendingNightVisionSync = setTimeout(() => {
lastNightVisionSync = Date.now();
pendingNightVisionSync = null;
logger.info('Night vision update; syncing all clients (delayed)');
syncAll();
}, delay);
}
});
managerEvents.on('lock', ({ roverId, locked }) => {
logger.info('Rover lock change', roverId, locked);
syncAll();