feat: persist chat messages to SQLite (#1)
All checks were successful
Deploy c4 / deploy (push) Successful in 44s

This commit was merged in pull request #1.
This commit is contained in:
2026-02-13 22:00:01 +00:00
parent 08c20a1732
commit 3593197271
6 changed files with 150 additions and 4 deletions

11
main.go
View File

@@ -27,9 +27,10 @@ import (
)
var (
store = game.NewGameStore()
snakeStore = snake.NewSnakeStore()
queries *gen.Queries
store = game.NewGameStore()
snakeStore = snake.NewSnakeStore()
queries *gen.Queries
chatPersister *db.ChatPersister
)
//go:embed assets
@@ -61,6 +62,7 @@ func main() {
queries = gen.New(db.DB)
store.SetPersister(db.NewGamePersister(queries))
snakeStore.SetPersister(db.NewSnakePersister(queries))
chatPersister = db.NewChatPersister(queries)
sessionManager, err := via.NewSQLiteSessionManager(db.DB)
if err != nil {
@@ -356,7 +358,7 @@ func main() {
colSignal := c.Signal(0)
showGuestPrompt := c.Signal(false)
chatMsg := c.Signal("")
var chatMessages []ui.C4ChatMessage
chatMessages, _ := chatPersister.LoadChatMessages(gameID)
var chatMu sync.Mutex
goToLogin := c.Action(func() {
@@ -462,6 +464,7 @@ func main() {
Message: msg,
Time: time.Now().UnixMilli(),
}
chatPersister.SaveChatMessage(gameID, cm)
data, err := json.Marshal(cm)
if err != nil {
return