summaryrefslogtreecommitdiffhomepage
path: root/packages/tui
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-08-13 16:29:07 -0400
committerDax Raad <[email protected]>2025-08-14 12:20:22 -0400
commit796bc390dba5ef7f78c98a6a007dfc5efebcba49 (patch)
tree2500ee5d3dafe297b7206b4791b3a47e6a46a0bf /packages/tui
parent703ae4967556e0644a0860e9a7aa439ad2d4c2d1 (diff)
downloadopencode-796bc390dba5ef7f78c98a6a007dfc5efebcba49.tar.gz
opencode-796bc390dba5ef7f78c98a6a007dfc5efebcba49.zip
fix for session stuck in "Working..."
Diffstat (limited to 'packages/tui')
-rw-r--r--packages/tui/internal/app/app.go2
-rw-r--r--packages/tui/internal/components/chat/messages.go5
2 files changed, 6 insertions, 1 deletions
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