From 57088565bd7a3edbf55d63780573096124a1fc1b Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Thu, 5 Mar 2026 08:51:04 +0300 Subject: [PATCH] Fix (notification): being closed by prev notification early --- tui.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tui.go b/tui.go index 9cf32de..b9bf35f 100644 --- a/tui.go +++ b/tui.go @@ -38,6 +38,7 @@ var ( roleEditWindow *tview.InputField shellInput *tview.InputField confirmModal *tview.Modal + toastTimer *time.Timer confirmPageName = "confirm" fullscreenMode bool positionVisible bool = true @@ -156,10 +157,11 @@ func showToast(title, message string) { } title = sanitize(title, 50) message = sanitize(message, 197) - + if toastTimer != nil { + toastTimer.Stop() + } notificationWidget.SetTitle(title) notificationWidget.SetText(fmt.Sprintf("[yellow]%s[-]", message)) - go func() { app.QueueUpdateDraw(func() { flex.RemoveItem(bottomFlex) @@ -173,8 +175,7 @@ func showToast(title, message string) { } }) }() - - time.AfterFunc(3*time.Second, func() { + toastTimer = time.AfterFunc(3*time.Second, func() { app.QueueUpdateDraw(func() { flex.RemoveItem(bottomFlex) flex.RemoveItem(statusLineWidget) @@ -299,11 +300,9 @@ func init() { SetChangedFunc(func() { }) notificationWidget.SetBorder(true).SetTitle("notification") - bottomFlex = tview.NewFlex().SetDirection(tview.FlexColumn). AddItem(textArea, 0, 1, true). AddItem(notificationWidget, 0, 0, false) - // flex = tview.NewFlex().SetDirection(tview.FlexRow). AddItem(textView, 0, 40, false).