diff --git a/server/src/services/roverConnectionService.js b/server/src/services/roverConnectionService.js index 665da354..455de8f9 100644 --- a/server/src/services/roverConnectionService.js +++ b/server/src/services/roverConnectionService.js @@ -33,6 +33,11 @@ roverWSS.on('connection', (ws) => { } if (msg.type === 'hello') { roverId = msg.name; + logger.info('Received rover hello', { + roverId, + keys: Object.keys(msg), + cameraServo: msg.cameraServo, + }); roverManager.upsertRover(msg, ws); roverManager.broadcastRoster(); sendAlert({ color: COLORS.success, title: 'Rover Online', message: roverId }); diff --git a/server/src/services/roverManager.js b/server/src/services/roverManager.js index 8e723d0d..40b14562 100644 --- a/server/src/services/roverManager.js +++ b/server/src/services/roverManager.js @@ -80,16 +80,19 @@ function lockRover(id, locked, actorSocket) { } function getRoster() { - return Array.from(rovers.values()).map((record) => ({ - id: record.id, - name: record.meta?.name || record.id, - battery: record.meta?.battery, - maxWheelSpeed: record.meta?.maxWheelSpeed, - media: record.meta?.media, - cameraServo: record.meta?.cameraServo, - locked: record.locked, - lastSeen: record.lastSeen, - })); + return Array.from(rovers.values()).map((record) => { + const cameraServo = record.meta?.cameraServo ?? record.meta?.CameraServo ?? null; + return { + id: record.id, + name: record.meta?.name || record.id, + battery: record.meta?.battery, + maxWheelSpeed: record.meta?.maxWheelSpeed, + media: record.meta?.media, + cameraServo, + locked: record.locked, + lastSeen: record.lastSeen, + }; + }); } function broadcastRoster() {