diff --git a/internal/llm/provider/anthropic.go b/internal/llm/provider/anthropic.go index fbecbd43c7c6005f77f0ac3df5dfd390f5cbe40e..88b87480693ffbac73be8477effa3a010c070585 100644 --- a/internal/llm/provider/anthropic.go +++ b/internal/llm/provider/anthropic.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "fmt" + "io" "strings" "time" @@ -236,7 +237,7 @@ func (a *anthropicProvider) StreamResponse(ctx context.Context, messages []messa } err := stream.Err() - if err == nil { + if err == nil || errors.Is(err, io.EOF) { return } diff --git a/internal/tui/components/core/status.go b/internal/tui/components/core/status.go index d2f14ad00e26c7c97bee9e602acb1d546ac3b4b2..d67bdb7a6ce62bcf36f37ceeebd6e82e3c17da77 100644 --- a/internal/tui/components/core/status.go +++ b/internal/tui/components/core/status.go @@ -68,7 +68,7 @@ func (m statusCmp) View() string { } // Truncate message if it's longer than available width msg := m.info.Msg - availWidth := m.availableFooterMsgWidth() - 3 // Account for ellipsis + availWidth := m.availableFooterMsgWidth() - 10 if len(msg) > availWidth && availWidth > 0 { msg = msg[:availWidth] + "..." } diff --git a/internal/tui/components/repl/sessions.go b/internal/tui/components/repl/sessions.go index d47c2a19ec27f55c8aa49460d9a5fbafc0ca82b1..093337b188f3bac6a08a77ced937b6dc4500fb7b 100644 --- a/internal/tui/components/repl/sessions.go +++ b/internal/tui/components/repl/sessions.go @@ -123,7 +123,6 @@ func (i *sessionsCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case tea.KeyMsg: switch { case key.Matches(msg, sessionKeyMapValue.Select): - i.app.Logger.PersistInfo("Session selected") selected := i.list.SelectedItem() if selected == nil { return i, nil