Fix: freezes

This commit is contained in:
Grail Finder
2025-07-11 17:55:21 +03:00
parent 134b7b6262
commit 329f849a72

View File

@ -59,7 +59,7 @@ func (broker *Broker) ServeHTTP(w http.ResponseWriter, r *http.Request) {
}
w.Header().Set("Access-Control-Allow-Origin", origin)
w.Header().Set("Access-Control-Allow-Credentials", "true")
messageChan := make(NotifierChan)
messageChan := make(NotifierChan, 10) // Buffered channel
broker.newClients <- messageChan
defer func() { broker.closingClients <- messageChan }()
ctx := r.Context()
@ -81,7 +81,7 @@ func (broker *Broker) ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.(http.Flusher).Flush()
case <-heartbeat.C:
// Send SSE heartbeat comment
if _, err := w.Write([]byte(": heartbeat\n\n")); err != nil {
if _, err := fmt.Fprint(w, ":\n\n"); err != nil {
return // Client disconnected
}
w.(http.Flusher).Flush()