do not queue draw functions if we are already drawing

This commit is contained in:
2026-03-06 14:37:46 +00:00
parent 6e98f13eb5
commit a299b95d7c
+12 -1
View File
@@ -3,6 +3,7 @@ package controllers
import (
"esdi/tui/internal/services"
"esdi/tui/internal/views"
"sync/atomic"
"github.com/gdamore/tcell/v2"
)
@@ -63,10 +64,20 @@ func (sc *StreamingCtrl) registerHooks() {
func (sc *StreamingCtrl) Start() {
stream := sc.TelemServ.StartStream()
var isDrawing atomic.Bool
go func() {
for msg := range stream {
if isDrawing.Load() {
continue
}
isDrawing.Store(true)
sc.App.QueueUpdateDraw(func() {
sc.StreamView.Update(msg)
sc.Messages <- "got data\n"
sc.StreamView.Update(&msg)
isDrawing.Store(false)
})
}
}()