feat: add backend sticker message relay and fix frontend handler

- Add stickers.setMode and stickers.mode handlers to WebSocket manager
  so messages relay between frontend and vote-app via session broadcast
- Fix frontend to read message.data.mode (matching broadcastEvent format)
- Bump version to 0.8.1

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-23 17:31:31 -04:00
parent 8a37b674fe
commit 141296b35e
3 changed files with 26 additions and 2 deletions

View File

@@ -142,6 +142,30 @@ class WebSocketManager {
}
break;
case 'stickers.setMode':
if (!clientInfo.authenticated) {
this.sendError(ws, 'Not authenticated');
return;
}
if (message.data?.mode && ['auto', 'show', 'hide'].includes(message.data.mode)) {
clientInfo.subscribedSessions.forEach(sessionId => {
this.broadcastEvent('stickers.setMode', message.data, sessionId);
});
}
break;
case 'stickers.mode':
if (!clientInfo.authenticated) {
this.sendError(ws, 'Not authenticated');
return;
}
if (message.mode && ['auto', 'show', 'hide'].includes(message.mode)) {
clientInfo.subscribedSessions.forEach(sessionId => {
this.broadcastEvent('stickers.mode', { mode: message.mode }, sessionId);
});
}
break;
default:
this.sendError(ws, `Unknown message type: ${message.type}`);
}

View File

@@ -2,7 +2,7 @@ export const branding = {
app: {
name: 'HSO Jackbox Game Picker',
shortName: 'Jackbox Game Picker',
version: '0.8.0 - Stickers That Stick Edition',
version: '0.8.1 - Stickers That Stick Edition',
description: 'Spicing up Hyper Spaceout game nights!',
},
meta: {

View File

@@ -1534,7 +1534,7 @@ function SessionInfo({ sessionId, onGamesUpdate, playingGame, setPlayingGame, se
}
if (message.type === 'stickers.mode') {
setStickerMode(message.mode);
setStickerMode(message.data.mode);
return;
}