diff --git a/internal/ws/handler.go b/internal/ws/handler.go index ed38eb3..0d4ef1a 100644 --- a/internal/ws/handler.go +++ b/internal/ws/handler.go @@ -9,6 +9,7 @@ import ( "github.com/gofiber/contrib/v3/websocket" "github.com/gofiber/fiber/v3" + "github.com/google/uuid" "github.com/vmihailenco/msgpack/v5" ) @@ -230,7 +231,10 @@ func (h *Handler) handleTextMessage(s *session, data []byte) { } func (h *Handler) handleStart(s *session, msg ClientMsg) { - if msg.SessionID == "" || len(msg.SessionID) > 96 { + if msg.SessionID == "" { + msg.SessionID = uuid.NewString() + } + if len(msg.SessionID) > 96 { h.sendError(s, "invalid_session", "invalid sessionId", false, "") return }