diff --git a/internal/web/server.go b/internal/web/server.go index a75343b..fb2d32a 100644 --- a/internal/web/server.go +++ b/internal/web/server.go @@ -41,12 +41,16 @@ func (w *sseWriter) Write(p []byte) (n int, err error) { default: } - data := strings.ReplaceAll(string(p), "\n", "") - if data == "" { + data := string(p) + if strings.TrimSpace(data) == "" { return len(p), nil } - fmt.Fprintf(w.client.Writer, "data: %s\n\n", data) + lines := strings.Split(data, "\n") + for _, line := range lines { + fmt.Fprintf(w.client.Writer, "data: %s\n", line) + } + fmt.Fprint(w.client.Writer, "\n") w.client.Flusher.Flush() return len(p), nil }