From 5d3b4b84619ea48ddc66df343c27e063096b1782 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:22:12 +0000 Subject: [PATCH] fix(*): Maintain server connection --- src/routes/estimation/[roomId]/+page.svelte | 12 ++++++++---- src/server/websocket.ts | 4 ++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/routes/estimation/[roomId]/+page.svelte b/src/routes/estimation/[roomId]/+page.svelte index 14cbe93..ee1d655 100644 --- a/src/routes/estimation/[roomId]/+page.svelte +++ b/src/routes/estimation/[roomId]/+page.svelte @@ -101,8 +101,6 @@ } function onMessageReceived(message) { - console.log(message); - if (message.type === 'user-joined') { sendMessage(socket, { type: 'get-user-estimates' }); } else if (message.type === 'user-estimates') { @@ -141,6 +139,12 @@ onMount(() => { socket = connectToWebSocket(data.roomId, onMessageReceived); + + setInterval(() => { + if (socket.readyState === WebSocket.OPEN) { + socket.send(JSON.stringify({ type: 'ping' })); + } + }, 45000); // send a ping every 45 seconds }); async function copyToClipboard() { @@ -247,8 +251,8 @@ color: black; } - .button-white:hover { - background-color: #E6E6E6; + .button-white:hover { + background-color: #e6e6e6; } #copy-link-btn { diff --git a/src/server/websocket.ts b/src/server/websocket.ts index 1cbde9b..e528e12 100644 --- a/src/server/websocket.ts +++ b/src/server/websocket.ts @@ -137,6 +137,10 @@ wss.on('connection', (ws: WebSocket, req) => { emoji }); } + } else if (data.type === 'ping') { + if (room) { + broadcastToRoom(room.id, 'pong'); + } } });