diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go index a0b2a376..03be0341 100644 --- a/packages/tui/cmd/opencode/main.go +++ b/packages/tui/cmd/opencode/main.go @@ -91,6 +91,9 @@ func main() { stream := httpClient.Event.ListStreaming(ctx) for stream.Next() { evt := stream.Current().AsUnion() + if _, ok := evt.(opencode.EventListResponseEventStorageWrite); ok { + continue + } program.Send(evt) } if err := stream.Err(); err != nil { diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go index 7d8b1b3a..8cd0c1fd 100644 --- a/packages/tui/internal/components/chat/messages.go +++ b/packages/tui/internal/components/chat/messages.go @@ -53,6 +53,8 @@ func (m *messagesComponent) Init() tea.Cmd { } func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { + measure := util.Measure("messages.Update") + defer measure("from", fmt.Sprintf("%T", msg)) var cmds []tea.Cmd switch msg := msg.(type) { case tea.WindowSizeMsg: @@ -102,6 +104,7 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.loading = false m.tail = m.viewport.AtBottom() m.viewport = msg.viewport + m.header = msg.header if m.dirty { cmds = append(cmds, m.renderView()) } @@ -117,12 +120,12 @@ func (m *messagesComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) { type renderCompleteMsg struct { viewport viewport.Model + header string partCount int lineCount int } func (m *messagesComponent) renderView() tea.Cmd { - m.header = m.renderHeader() if m.rendering { slog.Debug("pending render, skipping") @@ -138,6 +141,7 @@ func (m *messagesComponent) renderView() tea.Cmd { tail := m.tail return func() tea.Msg { + header := m.renderHeader() measure := util.Measure("messages.renderView") defer measure() @@ -405,6 +409,7 @@ func (m *messagesComponent) renderView() tea.Cmd { } return renderCompleteMsg{ + header: header, viewport: viewport, partCount: partCount, lineCount: lineCount, diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go index c6c8fa13..f4caed46 100644 --- a/packages/tui/internal/tui/tui.go +++ b/packages/tui/internal/tui/tui.go @@ -103,7 +103,7 @@ func (a appModel) Init() tea.Cmd { } func (a appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { - measure := util.Measure("Update") + measure := util.Measure("app.Update") defer measure("from", fmt.Sprintf("%T", msg)) var cmd tea.Cmd