tts passthrough for all in queue

This commit is contained in:
legop3
2026-01-25 23:45:18 -05:00
parent 3f34196418
commit 2671247347
2 changed files with 15 additions and 1 deletions
+7 -1
View File
@@ -243,7 +243,13 @@ function maybeSpeak(socket, message, ttsOptions) {
const audio = record?.meta?.audio || {};
const ttsEnabled = Boolean(audio.ttsEnabled);
if (!ttsEnabled) return;
if (!roverManager.canDrive(message.roverId, socket)) return;
const { isQueuedDriver } = require('./turnService');
if (
!roverManager.canDrive(message.roverId, socket) &&
!isQueuedDriver(message.roverId, socket?.id)
) {
return;
}
try {
issueCommand(message.roverId, {
type: 'tts',
+8
View File
@@ -72,6 +72,13 @@ function canDrive(roverId, socket) {
return activeDrivers.get(roverId) === socket.id;
}
function isQueuedDriver(roverId, socketId) {
if (!socketId) return false;
const queue = driverQueues.get(roverId);
if (!queue) return false;
return queue.queue.includes(socketId);
}
function ensureQueue(roverId) {
if (!driverQueues.has(roverId)) {
driverQueues.set(roverId, { queue: [], current: null, timer: null });
@@ -312,6 +319,7 @@ module.exports = {
driverRemoved,
cleanupRover,
canDrive,
isQueuedDriver,
getActiveDrivers,
turnEvents,
getTurnQueues,