From 3a2c1bee3531256aa9ac7e3fa4c0809e847cd96d Mon Sep 17 00:00:00 2001 From: legop3 Date: Tue, 19 May 2026 21:31:32 -0400 Subject: [PATCH] spectator fix --- server/src/services/overseerControlService/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/src/services/overseerControlService/index.js b/server/src/services/overseerControlService/index.js index b5338670..3e25e23d 100644 --- a/server/src/services/overseerControlService/index.js +++ b/server/src/services/overseerControlService/index.js @@ -105,8 +105,9 @@ function buildVoteStatus() { let yesCount = 0; let noCount = 0; let eligibleCount = 0; + const isEligibleVoter = (socket) => getRole(socket) !== 'spectator'; sockets.forEach((socket) => { - if (getRole(socket) === 'spectator') return; + if (!isEligibleVoter(socket)) return; eligibleCount += 1; const pref = socket?.data?.overseerEnabled; if (typeof pref === 'boolean' ? pref : true) yesCount += 1; @@ -520,7 +521,10 @@ io.on('connection', (socket) => { }); }); -roleEvents.on('change', ({ socket }) => emitStateToSocket(socket)); +roleEvents.on('change', ({ socket }) => { + emitStateToSocket(socket); + evaluateSchedulerGate('online vote update'); +}); verificationEvents.on('change', () => evaluateSchedulerGate('online vote update')); homeAssistantEvents.on('update', () => updateStatus({ phase: status.phase })); neatoEvents.on('update', () => updateStatus({ phase: status.phase }));