From f40894577d962b830b3ece7a7cb9043c773fa551 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Mon, 23 Feb 2026 23:21:17 +0000 Subject: [PATCH] Welp, technically better? --- tui/internal/controllers/mainc.go | 5 ++++- tui/internal/ui/events.go | 4 +++- tui/internal/views/stream.go | 10 ++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/tui/internal/controllers/mainc.go b/tui/internal/controllers/mainc.go index a13c181..bb79d74 100644 --- a/tui/internal/controllers/mainc.go +++ b/tui/internal/controllers/mainc.go @@ -48,7 +48,10 @@ func NewMainController(logger *slog.Logger) *MainController { } mc.EvBus.On(ui.RedrawEv{}, func(e any) { - mc.App.QueueUpdateDraw(func() {}) + rev := e.(ui.RedrawEv) + if rev.Fn != nil { + mc.App.QueueUpdateDraw(e.(ui.RedrawEv).Fn) + } }) mc.EvBus.On(ui.ChangeFocusEv{}, func(e any) { diff --git a/tui/internal/ui/events.go b/tui/internal/ui/events.go index 49ffce6..23a877f 100644 --- a/tui/internal/ui/events.go +++ b/tui/internal/ui/events.go @@ -21,7 +21,9 @@ type PrintLogEv struct { Log string } -type RedrawEv struct{} +type RedrawEv struct { + Fn func() +} type ChangeFocusEv struct { Target tview.Primitive diff --git a/tui/internal/views/stream.go b/tui/internal/views/stream.go index f8f1d88..adf01d4 100644 --- a/tui/internal/views/stream.go +++ b/tui/internal/views/stream.go @@ -67,9 +67,11 @@ func streamingWindow(bus *events.Bus, doc *dom.DOM) { bus.Emit(ui.StartStreamingReqEv{}) bus.On(ui.StreamDataEv{}, func(e any) { - sd := e.(ui.StreamDataEv) - box.SetText(sd.Str) - - bus.Emit(ui.ForceRedraw{}) + bus.Emit(ui.RedrawEv{ + Fn: func() { + sd := e.(ui.StreamDataEv) + box.SetText(sd.Str) + }, + }) }) }