summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-07-19 18:41:21 -0400
committerDax Raad <[email protected]>2025-07-19 18:41:21 -0400
commitf06cd887734965a4acd55eae2f7cb13633f8456c (patch)
tree5c2d23a0bfd23660f864cf800c84a7c4fe05de13 /packages
parent9af92b6914a630ca62b91d181fbf758beb3e9a21 (diff)
downloadopencode-f06cd887734965a4acd55eae2f7cb13633f8456c.tar.gz
opencode-f06cd887734965a4acd55eae2f7cb13633f8456c.zip
perf: more performance improvements
Diffstat (limited to 'packages')
-rw-r--r--packages/tui/cmd/opencode/main.go3
-rw-r--r--packages/tui/internal/components/chat/messages.go7
-rw-r--r--packages/tui/internal/tui/tui.go2
3 files changed, 10 insertions, 2 deletions
diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go
index a0b2a3768..03be0341f 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 7d8b1b3a9..8cd0c1fde 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 c6c8fa13d..f4caed466 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