refactor: integrate chat persistence into Room
Move SaveMessage/LoadMessages logic into Room as private methods. NewPersistentRoom auto-loads history and auto-saves on Send, removing the need for handlers to coordinate persistence separately.
This commit is contained in:
@@ -126,7 +126,7 @@ func HandleSnakeEvents(snakeStore *snake.SnakeStore, nc *nats.Conn, sm *scs.Sess
|
||||
var room *chat.Room
|
||||
|
||||
if sg.Mode == snake.ModeMultiplayer {
|
||||
room = chat.NewRoom(nc, "snake.chat."+gameID, nil)
|
||||
room = chat.NewRoom(nc, "snake.chat."+gameID)
|
||||
chatCh, chatSub, err = room.Subscribe()
|
||||
if err != nil {
|
||||
return
|
||||
@@ -247,7 +247,7 @@ func HandleSendChat(snakeStore *snake.SnakeStore, nc *nats.Conn, sm *scs.Session
|
||||
Message: signals.ChatMsg,
|
||||
}
|
||||
|
||||
room := chat.NewRoom(nc, "snake.chat."+gameID, nil)
|
||||
room := chat.NewRoom(nc, "snake.chat."+gameID)
|
||||
room.Send(msg)
|
||||
|
||||
sse := datastar.NewSSE(w, r)
|
||||
|
||||
Reference in New Issue
Block a user