From 796bc390dba5ef7f78c98a6a007dfc5efebcba49 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 13 Aug 2025 16:29:07 -0400 Subject: fix for session stuck in "Working..." --- packages/tui/internal/app/app.go | 2 +- packages/tui/internal/components/chat/messages.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'packages/tui') diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go index ce3a54229..023b799d5 100644 --- a/packages/tui/internal/app/app.go +++ b/packages/tui/internal/app/app.go @@ -631,7 +631,7 @@ func (a *App) IsBusy() bool { if casted, ok := lastMessage.Info.(opencode.AssistantMessage); ok { return casted.Time.Completed == 0 } - return true + return false } func (a *App) SaveState() tea.Cmd { diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go index 92259e93a..ec7735d58 100644 --- a/packages/tui/internal/components/chat/messages.go +++ b/packages/tui/internal/components/chat/messages.go @@ -203,6 +203,11 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { if msg.Properties.Part.SessionID == m.app.Session.ID { cmds = append(cmds, m.renderView()) } + case opencode.EventListResponseEventMessageRemoved: + if msg.Properties.SessionID == m.app.Session.ID { + m.cache.Clear() + cmds = append(cmds, m.renderView()) + } case opencode.EventListResponseEventMessagePartRemoved: if msg.Properties.SessionID == m.app.Session.ID { // Clear the cache when a part is removed to ensure proper re-rendering -- cgit v1.2.3