diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go index 9d9c8011..84c3b983 100644 --- a/packages/tui/internal/components/chat/messages.go +++ b/packages/tui/internal/components/chat/messages.go @@ -289,6 +289,7 @@ func (m *messagesComponent) renderView() tea.Cmd { for _, message := range m.app.Messages { var content string var cached bool + error := "" switch casted := message.Info.(type) { case opencode.UserMessage: @@ -589,7 +590,19 @@ func (m *messagesComponent) renderView() tea.Cmd { } } - if !hasContent { + switch err := casted.Error.AsUnion().(type) { + case nil: + case opencode.AssistantMessageErrorMessageOutputLengthError: + error = "Message output length exceeded" + case opencode.ProviderAuthError: + error = err.Data.Message + case opencode.MessageAbortedError: + error = "Request was aborted" + case opencode.UnknownError: + error = err.Data.Message + } + + if !hasContent && error == "" && !reverted { content = renderText( m.app, message.Info, @@ -614,21 +627,6 @@ func (m *messagesComponent) renderView() tea.Cmd { } } - error := "" - if assistant, ok := message.Info.(opencode.AssistantMessage); ok { - switch err := assistant.Error.AsUnion().(type) { - case nil: - case opencode.AssistantMessageErrorMessageOutputLengthError: - error = "Message output length exceeded" - case opencode.ProviderAuthError: - error = err.Data.Message - case opencode.MessageAbortedError: - error = "Request was aborted" - case opencode.UnknownError: - error = err.Data.Message - } - } - if error != "" && !reverted { error = styles.NewStyle().Width(width - 6).Render(error) error = renderContentBlock(