diff --git a/go.mod b/go.mod index 4baa6ed..a0b1c64 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/google/uuid v1.6.0 github.com/joho/godotenv v1.5.1 github.com/pressly/goose/v3 v3.26.0 - github.com/ryanhamamura/via v0.15.1 + github.com/ryanhamamura/via v0.18.1 golang.org/x/crypto v0.47.0 modernc.org/sqlite v1.44.0 ) diff --git a/go.sum b/go.sum index c019c7b..2f99a57 100644 --- a/go.sum +++ b/go.sum @@ -78,8 +78,8 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qq github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= -github.com/ryanhamamura/via v0.15.1 h1:iprRL5bWX/F7iVUf1FOkmVFECfV5871RcmdvQenyytg= -github.com/ryanhamamura/via v0.15.1/go.mod h1:rpJewNVG6tgginZN7Be3qqRuol70+v1sFCKD4UjHsQo= +github.com/ryanhamamura/via v0.18.1 h1:YsqLP9LL6GbmHsUKnLpTIfSM/oIgw2ufG5XUYZU5jHI= +github.com/ryanhamamura/via v0.18.1/go.mod h1:rpJewNVG6tgginZN7Be3qqRuol70+v1sFCKD4UjHsQo= github.com/sethvargo/go-retry v0.3.0 h1:EEt31A35QhrcRZtrYFDTBg91cqZVnFL2navjDrah2SE= github.com/sethvargo/go-retry v0.3.0/go.mod h1:mNX17F0C/HguQMyMyJxcnU471gOZGxCLyYaFyAZraas= github.com/starfederation/datastar-go v1.0.3 h1:DnzgsJ6tDHDM6y5Nxsk0AGW/m8SyKch2vQg3P1xGTcU= diff --git a/main.go b/main.go index a74a5f2..d20937a 100644 --- a/main.go +++ b/main.go @@ -71,11 +71,13 @@ func main() { v := via.New() v.Config(via.Options{ - LogLevel: via.LogLevelDebug, - DocumentTitle: "Game Lobby", - ServerAddress: ":" + port(), - SessionManager: sessionManager, - Plugins: []via.Plugin{DaisyUIPlugin}, + LogLevel: via.LogLevelDebug, + DocumentTitle: "Game Lobby", + ServerAddress: ":" + port(), + SessionManager: sessionManager, + Plugins: []via.Plugin{DaisyUIPlugin}, + ContextSuspendAfter: 5 * time.Minute, + ContextTTL: 30 * time.Minute, }) subFS, _ := fs.Sub(assets, "assets") @@ -768,14 +770,14 @@ func main() { wrapperAttrs := []h.H{ h.Class("snake-wrapper flex flex-col items-center gap-4 p-4"), via.OnKeyDownMap( - via.KeyBind("w", handleDir, via.WithSignalInt(dirSignal, int(snake.DirUp))), - via.KeyBind("a", handleDir, via.WithSignalInt(dirSignal, int(snake.DirLeft))), - via.KeyBind("s", handleDir, via.WithSignalInt(dirSignal, int(snake.DirDown))), - via.KeyBind("d", handleDir, via.WithSignalInt(dirSignal, int(snake.DirRight))), - via.KeyBind("ArrowUp", handleDir, via.WithSignalInt(dirSignal, int(snake.DirUp)), via.WithPreventDefault()), - via.KeyBind("ArrowLeft", handleDir, via.WithSignalInt(dirSignal, int(snake.DirLeft)), via.WithPreventDefault()), - via.KeyBind("ArrowDown", handleDir, via.WithSignalInt(dirSignal, int(snake.DirDown)), via.WithPreventDefault()), - via.KeyBind("ArrowRight", handleDir, via.WithSignalInt(dirSignal, int(snake.DirRight)), via.WithPreventDefault()), + via.KeyBind("w", handleDir, via.WithSignalInt(dirSignal, int(snake.DirUp)), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("a", handleDir, via.WithSignalInt(dirSignal, int(snake.DirLeft)), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("s", handleDir, via.WithSignalInt(dirSignal, int(snake.DirDown)), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("d", handleDir, via.WithSignalInt(dirSignal, int(snake.DirRight)), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("ArrowUp", handleDir, via.WithSignalInt(dirSignal, int(snake.DirUp)), via.WithPreventDefault(), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("ArrowLeft", handleDir, via.WithSignalInt(dirSignal, int(snake.DirLeft)), via.WithPreventDefault(), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("ArrowDown", handleDir, via.WithSignalInt(dirSignal, int(snake.DirDown)), via.WithPreventDefault(), via.WithThrottle(100*time.Millisecond)), + via.KeyBind("ArrowRight", handleDir, via.WithSignalInt(dirSignal, int(snake.DirRight)), via.WithPreventDefault(), via.WithThrottle(100*time.Millisecond)), ), }