From 0b564c7ee7b02713eb39ea607a881dac0d51aefd Mon Sep 17 00:00:00 2001 From: legop3 Date: Wed, 24 Dec 2025 16:58:06 -0500 Subject: [PATCH] battery manager fix and stop rovers when we should --- server/src/services/batteryManager.js | 3 ++- server/src/services/turnService.js | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/server/src/services/batteryManager.js b/server/src/services/batteryManager.js index 512c3ffc..65ed6727 100644 --- a/server/src/services/batteryManager.js +++ b/server/src/services/batteryManager.js @@ -147,7 +147,8 @@ function handleSensorEvent({ roverId, sensors, batteryState }) { }); } - const waitingHalfOrMore = waitingPercent != null && waitingPercent >= 0.5; + // const waitingHalfOrMore = waitingPercent != null && waitingPercent >= 0.5; + const waitingHalfOrMore = true; const shouldUnlock = state.batteryLocked && waitingLongEnough && waitingHalfOrMore; if (shouldUnlock) { diff --git a/server/src/services/turnService.js b/server/src/services/turnService.js index 10a98c15..c790b759 100644 --- a/server/src/services/turnService.js +++ b/server/src/services/turnService.js @@ -39,6 +39,7 @@ function driverRemoved(roverId, socketId) { } idleDisarmed.delete(roverId); if (queue.current === socketId) { + stopRover(roverId); advanceTurn(roverId); } else { scheduleIdleTimer(roverId); @@ -177,6 +178,7 @@ function advanceTurn(roverId) { const queue = driverQueues.get(roverId); if (!queue) return; if (queue.queue.length === 0) { + stopRover(roverId); clearTimeout(queue.timer); setActiveDriver(roverId, null); turnDeadlines.delete(roverId);