From 671c9587ff24bfa71018bef990031abda1c6fde3 Mon Sep 17 00:00:00 2001 From: Harsh Date: Tue, 24 Feb 2026 21:53:21 -0600 Subject: [PATCH 1/2] fix: navigating non-player to spectate --- src/router.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/router.js b/src/router.js index 9487bd2b3..b95ed6095 100644 --- a/src/router.js +++ b/src/router.js @@ -71,6 +71,7 @@ const checkAndSubscribeToLobby = async (to) => { const getGameState = async (to) => { const gameStore = useGameStore(); + const authStore = useAuthStore(); const gameId = parseInt(to.params.gameId); gameStore.id = gameId; @@ -79,6 +80,9 @@ const getGameState = async (to) => { gameStateIndex = isValidGameStateIndex ? gameStateIndex : -1; try { const response = await gameStore.requestGameState(gameId, gameStateIndex, to); + if(!response.game.players.some(({ username }) => username === authStore.username)) { + return { name: ROUTE_NAME_SPECTATE, params: { gameId: gameId } }; + } if (response?.victory?.gameOver && response.game.rematchGame) { await gameStore.requestGameState(response.game.rematchGame); return { name: to.name, params: { gameId: response.game.rematchGame } }; From 5501a29f686ade03ecd7e53e0806166e641b861c Mon Sep 17 00:00:00 2001 From: Harsh Date: Tue, 24 Feb 2026 21:56:54 -0600 Subject: [PATCH 2/2] chore: lint fix --- src/router.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/router.js b/src/router.js index b95ed6095..08824f1b3 100644 --- a/src/router.js +++ b/src/router.js @@ -80,7 +80,7 @@ const getGameState = async (to) => { gameStateIndex = isValidGameStateIndex ? gameStateIndex : -1; try { const response = await gameStore.requestGameState(gameId, gameStateIndex, to); - if(!response.game.players.some(({ username }) => username === authStore.username)) { + if (!response.game.players.some(({ username }) => username === authStore.username)) { return { name: ROUTE_NAME_SPECTATE, params: { gameId: gameId } }; } if (response?.victory?.gameOver && response.game.rematchGame) {