summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/tui/internal/app/app.go3
-rw-r--r--packages/tui/internal/components/chat/messages.go3
-rw-r--r--packages/tui/internal/tui/tui.go3
3 files changed, 7 insertions, 2 deletions
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go
index 672bc0ee6..7ef31fd54 100644
--- a/packages/tui/internal/app/app.go
+++ b/packages/tui/internal/app/app.go
@@ -75,6 +75,9 @@ type SetEditorContentMsg struct {
type FileRenderedMsg struct {
FilePath string
}
+type PermissionRespondedToMsg struct {
+ Response opencode.SessionPermissionRespondParamsResponse
+}
func New(
ctx context.Context,
diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go
index 412d2c4c0..db8e7cf66 100644
--- a/packages/tui/internal/components/chat/messages.go
+++ b/packages/tui/internal/components/chat/messages.go
@@ -200,6 +200,9 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
case opencode.EventListResponseEventPermissionUpdated:
m.tail = true
return m, m.renderView()
+ case app.PermissionRespondedToMsg:
+ m.tail = true
+ return m, m.renderView()
case renderCompleteMsg:
m.partCount = msg.partCount
m.lineCount = msg.lineCount
diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go
index 0b87872fa..3d08c2afa 100644
--- a/packages/tui/internal/tui/tui.go
+++ b/packages/tui/internal/tui/tui.go
@@ -121,7 +121,6 @@ func (a Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
} else {
a.app.CurrentPermission = opencode.Permission{}
}
-
response := opencode.SessionPermissionRespondParamsResponseOnce
switch keyString {
case "enter":
@@ -144,7 +143,7 @@ func (a Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
return toast.NewErrorToast("Failed to respond to permission request")
}
slog.Debug("Responded to permission request", "response", resp)
- return nil
+ return app.PermissionRespondedToMsg{Response: response}
}
}
}