From 1e9e32ee95bb58ff820eb00907a521a38d5d1d12 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Mon, 8 Dec 2025 18:05:48 +0300 Subject: Fix: avoid panic on deleting from empty slice --- tui.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tui.go b/tui.go index 2087239..3590c0b 100644 --- a/tui.go +++ b/tui.go @@ -718,6 +718,12 @@ func init() { } if event.Key() == tcell.KeyF2 { // regen last msg + if len(chatBody.Messages) == 0 { + if err := notifyUser("info", "no messages to regenerate"); err != nil { + logger.Error("failed to send notification", "error", err) + } + return nil + } chatBody.Messages = chatBody.Messages[:len(chatBody.Messages)-1] // there is no case where user msg is regenerated // lastRole := chatBody.Messages[len(chatBody.Messages)-1].Role @@ -736,6 +742,12 @@ func init() { colorText() return nil } + if len(chatBody.Messages) == 0 { + if err := notifyUser("info", "no messages to delete"); err != nil { + logger.Error("failed to send notification", "error", err) + } + return nil + } chatBody.Messages = chatBody.Messages[:len(chatBody.Messages)-1] textView.SetText(chatToText(cfg.ShowSys)) colorText() -- cgit v1.2.3