diff --git a/cmd/server/ws.go b/cmd/server/ws.go index 2ae96a3..a9f6f5b 100644 --- a/cmd/server/ws.go +++ b/cmd/server/ws.go @@ -90,6 +90,7 @@ func (s *S) serveWS(w http.ResponseWriter, r *http.Request) error { } }() + var last time.Time for { select { case <-ctx.Done(): @@ -97,6 +98,13 @@ func (s *S) serveWS(w http.ResponseWriter, r *http.Request) error { case <-time.After(time.Second * 1): } + if events, err := s.games.GameEvents(ctx, game, last); err != nil { + return err + } else if len(events) == 0 { + continue + } + last = time.Now() + gameState, err := s.games.GameState(ctx, game) if err != nil { return err