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);