fix: tui not showing some errors

This commit is contained in:
Aiden Cline
2025-10-30 01:41:28 -05:00
parent 3ae75d7031
commit aca32eaa1c
2 changed files with 16 additions and 0 deletions

View File

@@ -656,6 +656,8 @@ func (m *messagesComponent) renderView() tea.Cmd {
case nil:
case opencode.AssistantMessageErrorMessageOutputLengthError:
error = "Message output length exceeded"
case opencode.AssistantMessageErrorAPIError:
error = err.Data.Message
case opencode.ProviderAuthError:
error = err.Data.Message
case opencode.MessageAbortedError:

View File

@@ -656,12 +656,26 @@ func (a Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
case opencode.EventListResponseEventSessionError:
switch err := msg.Properties.Error.AsUnion().(type) {
case nil:
// No error details provided
case opencode.ProviderAuthError:
slog.Error("Failed to authenticate with provider", "error", err.Data.Message)
return a, toast.NewErrorToast("Provider error: " + err.Data.Message)
case opencode.UnknownError:
slog.Error("Server error", "name", err.Name, "message", err.Data.Message)
return a, toast.NewErrorToast(err.Data.Message, toast.WithTitle(string(err.Name)))
case opencode.EventListResponseEventSessionErrorPropertiesErrorAPIError:
slog.Error("API error", "message", err.Data.Message, "statusCode", err.Data.StatusCode)
return a, toast.NewErrorToast(err.Data.Message, toast.WithTitle(string(err.Name)))
case opencode.MessageAbortedError:
// Message was aborted - this is expected when user cancels, so just log it
slog.Debug("Message aborted", "message", err.Data.Message)
case opencode.EventListResponseEventSessionErrorPropertiesErrorMessageOutputLengthError:
slog.Error("Message output length error")
return a, toast.NewErrorToast("Message output length exceeded limit")
default:
// Handle any unhandled error types
slog.Error("Unhandled session error type", "type", fmt.Sprintf("%T", err))
return a, toast.NewErrorToast("An unexpected error occurred")
}
case opencode.EventListResponseEventSessionCompacted:
if msg.Properties.SessionID == a.app.Session.ID {