fix: remove broken connection indicator
All checks were successful
CI / Deploy / test (pull_request) Successful in 15s
CI / Deploy / lint (pull_request) Successful in 25s
CI / Deploy / deploy (pull_request) Has been skipped

The ConnectionIndicator component caused PatchElementsNoTargetsFound
errors due to complex nested IDs. Removing it for now - we can design
a better solution later if needed.
This commit is contained in:
Ryan Hamamura
2026-03-03 12:47:28 -10:00
parent cedcadfe3c
commit 1109dccdd8
4 changed files with 4 additions and 20 deletions

View File

@@ -14,7 +14,6 @@ import (
"github.com/ryanhamamura/games/connect4" "github.com/ryanhamamura/games/connect4"
"github.com/ryanhamamura/games/features/c4game/pages" "github.com/ryanhamamura/games/features/c4game/pages"
"github.com/ryanhamamura/games/features/c4game/services" "github.com/ryanhamamura/games/features/c4game/services"
sharedcomponents "github.com/ryanhamamura/games/features/common/components"
"github.com/ryanhamamura/games/sessions" "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)) return sse.PatchElementTempl(pages.GameContent(g, myColor, room.Messages(), chatCfg))
} }
// Send initial connection indicator and state // Send initial state
if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil {
return
}
if err := patchAll(); err != nil { if err := patchAll(); err != nil {
return return
} }
@@ -151,10 +147,7 @@ func HandleGameEvents(store *connect4.Store, svc *services.GameService, sm *scs.
} }
case <-heartbeat.C: case <-heartbeat.C:
// Heartbeat updates connection indicator and refreshes game state // Heartbeat refreshes game state to keep connection alive
if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil {
return
}
if err := patchAll(); err != nil { if err := patchAll(); err != nil {
return return
} }

View File

@@ -18,7 +18,6 @@ templ GamePage(g *connect4.Game, myColor int, messages []chat.Message, chatCfg c
data-signals="{chatMsg: ''}" data-signals="{chatMsg: ''}"
data-init={ fmt.Sprintf("@get('/games/%s/events',{requestCancellation:'disabled'})", g.ID) } data-init={ fmt.Sprintf("@get('/games/%s/events',{requestCancellation:'disabled'})", g.ID) }
> >
@sharedcomponents.ConnectionIndicator(0)
@GameContent(g, myColor, messages, chatCfg) @GameContent(g, myColor, messages, chatCfg)
</main> </main>
} }

View File

@@ -12,7 +12,6 @@ import (
"github.com/ryanhamamura/games/chat" "github.com/ryanhamamura/games/chat"
chatcomponents "github.com/ryanhamamura/games/chat/components" 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/pages"
"github.com/ryanhamamura/games/features/snakegame/services" "github.com/ryanhamamura/games/features/snakegame/services"
"github.com/ryanhamamura/games/sessions" "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)) return sse.PatchElementTempl(pages.GameContent(sg, mySlot, chatMessages(), chatCfg, gameID))
} }
// Send initial connection indicator and render // Send initial render
if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil {
return
}
if err := patchAll(); err != nil { if err := patchAll(); err != nil {
return return
} }
@@ -145,10 +141,7 @@ func HandleSnakeEvents(snakeStore *snake.SnakeStore, svc *services.GameService,
return return
case <-heartbeat.C: case <-heartbeat.C:
// Heartbeat updates connection indicator and refreshes game state // Heartbeat refreshes game state to keep connection alive
if err := sse.PatchElementTempl(sharedcomponents.ConnectionIndicator(time.Now().UnixMilli())); err != nil {
return
}
if err := patchAll(); err != nil { if err := patchAll(); err != nil {
return return
} }

View File

@@ -37,7 +37,6 @@ templ GamePage(sg *snake.SnakeGame, mySlot int, messages []chat.Message, chatCfg
data-on:keydown__throttle.100ms={ keydownScript(gameID) } data-on:keydown__throttle.100ms={ keydownScript(gameID) }
tabindex="0" tabindex="0"
> >
@components.ConnectionIndicator(0)
@GameContent(sg, mySlot, messages, chatCfg, gameID) @GameContent(sg, mySlot, messages, chatCfg, gameID)
</main> </main>
} }