summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2025-12-08 18:05:48 +0300
committerGrail Finder <wohilas@gmail.com>2025-12-08 18:05:48 +0300
commit1e9e32ee95bb58ff820eb00907a521a38d5d1d12 (patch)
tree5178f9891e9b3b088a016dda40a2db987d114564
parent0911d6e64051b32cd16c20d927c72c74625b99cd (diff)
Fix: avoid panic on deleting from empty slice
-rw-r--r--tui.go12
1 files changed, 12 insertions, 0 deletions
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()