Chore: Simplify writePump by using WriteMessage and remove unnecessary newline handling

This commit is contained in:
Ralph Slooten
2026-05-09 17:05:22 +12:00
parent 71bd44bbb5
commit fbb63c89dd
2 changed files with 1 additions and 21 deletions

View File

@@ -25,8 +25,6 @@ const (
)
var (
newline = []byte{'\n'}
// MessageHub global
MessageHub *Hub
)
@@ -92,20 +90,7 @@ func (c *Client) writePump() {
return
}
w, err := c.conn.NextWriter(websocket.TextMessage)
if err != nil {
return
}
_, _ = w.Write(message)
// Add queued chat messages to the current websocket message.
n := len(c.send)
for range n {
_, _ = w.Write(newline)
_, _ = w.Write(<-c.send)
}
if err := w.Close(); err != nil {
if err := c.conn.WriteMessage(websocket.TextMessage, message); err != nil {
return
}
case <-ticker.C:

View File

@@ -4,7 +4,6 @@ package websockets
import (
"encoding/json"
"sync/atomic"
"time"
"github.com/axllent/mailpit/internal/logger"
)
@@ -91,10 +90,6 @@ func Broadcast(t string, msg any) {
return
}
// add a very small delay to prevent broadcasts from being interpreted
// as a multi-line messages (eg: storage.DeleteMessages() which can send a very quick series)
time.Sleep(time.Millisecond)
go func() { MessageHub.Broadcast <- b }()
}