From 1109dccdd86bed153915cd3a66b55c13c26fe035 Mon Sep 17 00:00:00 2001 From: Ryan Hamamura <58859899+ryanhamamura@users.noreply.github.com> Date: Tue, 3 Mar 2026 12:47:28 -1000 Subject: [PATCH] fix: remove broken connection indicator The ConnectionIndicator component caused PatchElementsNoTargetsFound errors due to complex nested IDs. Removing it for now - we can design a better solution later if needed. --- features/c4game/handlers.go | 11 ++--------- features/c4game/pages/game.templ | 1 - features/snakegame/handlers.go | 11 ++--------- features/snakegame/pages/game.templ | 1 - 4 files changed, 4 insertions(+), 20 deletions(-) diff --git a/features/c4game/handlers.go b/features/c4game/handlers.go index 2515eef..6b22d5b 100644 --- a/features/c4game/handlers.go +++ b/features/c4game/handlers.go @@ -14,7 +14,6 @@ import ( "github.com/ryanhamamura/games/connect4" "github.com/ryanhamamura/games/features/c4game/pages" "github.com/ryanhamamura/games/features/c4game/services" - sharedcomponents "github.com/ryanhamamura/games/features/common/components" "github.com/ryanhamamura/games/sessions" ) @@ -113,10 +112,7 @@ func HandleGameEvents(store *connect4.Store, svc *services.GameService, sm *scs. return sse.PatchElementTempl(pages.GameContent(g, myColor, room.Messages(), chatCfg)) } - // Send initial connection indicator and state - if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil { - return - } + // Send initial state if err := patchAll(); err != nil { return } @@ -151,10 +147,7 @@ func HandleGameEvents(store *connect4.Store, svc *services.GameService, sm *scs. } case <-heartbeat.C: - // Heartbeat updates connection indicator and refreshes game state - if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil { - return - } + // Heartbeat refreshes game state to keep connection alive if err := patchAll(); err != nil { return } diff --git a/features/c4game/pages/game.templ b/features/c4game/pages/game.templ index 455c91d..c5d9f11 100644 --- a/features/c4game/pages/game.templ +++ b/features/c4game/pages/game.templ @@ -18,7 +18,6 @@ templ GamePage(g *connect4.Game, myColor int, messages []chat.Message, chatCfg c data-signals="{chatMsg: ''}" data-init={ fmt.Sprintf("@get('/games/%s/events',{requestCancellation:'disabled'})", g.ID) } > - @sharedcomponents.ConnectionIndicator(0) @GameContent(g, myColor, messages, chatCfg) } diff --git a/features/snakegame/handlers.go b/features/snakegame/handlers.go index 7808327..74cb84e 100644 --- a/features/snakegame/handlers.go +++ b/features/snakegame/handlers.go @@ -12,7 +12,6 @@ import ( "github.com/ryanhamamura/games/chat" chatcomponents "github.com/ryanhamamura/games/chat/components" - sharedcomponents "github.com/ryanhamamura/games/features/common/components" "github.com/ryanhamamura/games/features/snakegame/pages" "github.com/ryanhamamura/games/features/snakegame/services" "github.com/ryanhamamura/games/sessions" @@ -118,10 +117,7 @@ func HandleSnakeEvents(snakeStore *snake.SnakeStore, svc *services.GameService, return sse.PatchElementTempl(pages.GameContent(sg, mySlot, chatMessages(), chatCfg, gameID)) } - // Send initial connection indicator and render - if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil { - return - } + // Send initial render if err := patchAll(); err != nil { return } @@ -145,10 +141,7 @@ func HandleSnakeEvents(snakeStore *snake.SnakeStore, svc *services.GameService, return case <-heartbeat.C: - // Heartbeat updates connection indicator and refreshes game state - if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil { - return - } + // Heartbeat refreshes game state to keep connection alive if err := patchAll(); err != nil { return } diff --git a/features/snakegame/pages/game.templ b/features/snakegame/pages/game.templ index a1b2cd4..378690c 100644 --- a/features/snakegame/pages/game.templ +++ b/features/snakegame/pages/game.templ @@ -37,7 +37,6 @@ templ GamePage(sg *snake.SnakeGame, mySlot int, messages []chat.Message, chatCfg data-on:keydown__throttle.100ms={ keydownScript(gameID) } tabindex="0" > - @components.ConnectionIndicator(0) @GameContent(sg, mySlot, messages, chatCfg, gameID) }