mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 09:31:20 -04:00
driver removal information finaly!
This commit is contained in:
@@ -11,9 +11,18 @@ function stopRover(roverId) {
|
||||
}
|
||||
}
|
||||
|
||||
function removeDriverCompletely(roverId, socketId) {
|
||||
function removeDriverCompletely(roverId, socketId, notice = null) {
|
||||
try {
|
||||
const assignmentService = require('../assignmentService');
|
||||
/*
|
||||
Turn-service removals should explain themselves to the affected browser
|
||||
when a caller provides notice metadata. Plain forceRelease remains the
|
||||
fallback for old internal cleanup paths that only need to mutate state.
|
||||
*/
|
||||
if (notice && typeof assignmentService.forceReleaseWithNotice === 'function') {
|
||||
assignmentService.forceReleaseWithNotice(roverId, socketId, notice);
|
||||
return;
|
||||
}
|
||||
assignmentService.forceRelease(roverId, socketId);
|
||||
} catch (err) {
|
||||
// best effort; log elsewhere if needed
|
||||
|
||||
@@ -290,12 +290,17 @@ function handleIdleTimeout(roverId, expectedDriver) {
|
||||
const skips = incrementSkip(roverId, expectedDriver);
|
||||
stopRover(roverId);
|
||||
if (skips >= MAX_IDLE_SKIPS) {
|
||||
const removalMessage = `You were removed from ${roverId} after ${skips} idle skips because no driving input was detected during your turns.`;
|
||||
sendAlert({
|
||||
color: ALERT_COLOR,
|
||||
title: 'Driver removed',
|
||||
message: `${expectedDriver} removed from ${roverId} after ${skips} idle skips`,
|
||||
});
|
||||
removeDriverCompletely(roverId, expectedDriver);
|
||||
removeDriverCompletely(roverId, expectedDriver, {
|
||||
title: 'Removed for inactivity',
|
||||
message: removalMessage,
|
||||
reasonCode: 'idle-removal',
|
||||
});
|
||||
return;
|
||||
}
|
||||
sendAlert({
|
||||
|
||||
Reference in New Issue
Block a user