diff --git a/internal/service/ws.go b/internal/service/ws.go index 140af95e..4cc413e0 100644 --- a/internal/service/ws.go +++ b/internal/service/ws.go @@ -4,9 +4,7 @@ import ( "bufio" "context" "net/http" - "strings" "sync" - "time" "github.com/gorilla/websocket" @@ -103,28 +101,10 @@ func (s *WsService) Exec(w http.ResponseWriter, r *http.Request) { go func() { scanner := bufio.NewScanner(out) - var batch []string - ticker := time.NewTicker(200 * time.Millisecond) - defer ticker.Stop() - - go func() { - for range ticker.C { - if len(batch) > 0 { - _ = ws.WriteMessage(websocket.TextMessage, []byte(strings.Join(batch, "\n"))) - batch = nil - } - } - }() - for scanner.Scan() { line := scanner.Text() - batch = append(batch, line) + _ = ws.WriteMessage(websocket.TextMessage, []byte(line)) } - - if len(batch) > 0 { - _ = ws.WriteMessage(websocket.TextMessage, []byte(strings.Join(batch, "\n"))) - } - if err = scanner.Err(); err != nil { _ = ws.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, "failed to read command output")) }