From 8807aceb9c9a87856d46fab5b2c391571c9b7617 Mon Sep 17 00:00:00 2001 From: Yevhen Vydolob Date: Thu, 7 Dec 2023 12:49:42 +0200 Subject: [PATCH] Fix logging channel messages. Having '\n' character in between message field is braking SSE specification and client could not parse correctly such events Signed-off-by: Yevhen Vydolob --- pkg/crc/api/events/log_stream.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/crc/api/events/log_stream.go b/pkg/crc/api/events/log_stream.go index 2601a38e87..329fda55cc 100644 --- a/pkg/crc/api/events/log_stream.go +++ b/pkg/crc/api/events/log_stream.go @@ -1,6 +1,8 @@ package events import ( + "bytes" + "github.com/crc-org/crc/v2/pkg/crc/logging" "github.com/r3labs/sse/v2" "github.com/sirupsen/logrus" @@ -56,7 +58,10 @@ func (s *streamHook) Fire(entry *logrus.Entry) error { return err } - s.server.Publish(LOGS, &sse.Event{Event: []byte(LOGS), Data: line}) + // remove "Line Feed"("\n") character which add was added by json.Encoder + line = bytes.TrimRight(line, "\n") + + s.server.Publish(Logs, &sse.Event{Event: []byte(Logs), Data: line}) return nil }