From 926dd8cedd1744f0234377400874e1ec9c2cbf15 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Thu, 19 Mar 2026 20:51:36 -0400 Subject: [PATCH] refactor(ui/chat): migrate onReady to command-based arch --- internal/ui/chat/model.go | 2 +- internal/ui/chat/state.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/ui/chat/model.go b/internal/ui/chat/model.go index 9c3f47a..0fb8a79 100644 --- a/internal/ui/chat/model.go +++ b/internal/ui/chat/model.go @@ -254,7 +254,7 @@ func (m *Model) HandleEvent(event tview.Event) tview.Command { m.onRaw(event) case *gateway.ReadyEvent: - m.onReady(event) + return tview.Batch(m.onReady(event), m.listen()) case *gateway.MessageCreateEvent: m.onMessageCreate(event) diff --git a/internal/ui/chat/state.go b/internal/ui/chat/state.go index 29f6952..866bb31 100644 --- a/internal/ui/chat/state.go +++ b/internal/ui/chat/state.go @@ -29,7 +29,7 @@ func (m *Model) onRaw(event *ws.RawEvent) { ) } -func (m *Model) onReady(event *gateway.ReadyEvent) { +func (m *Model) onReady(event *gateway.ReadyEvent) tview.Command { // Rebuild indexes from scratch so reconnects and account switches do not // retain pointers to detached tree nodes. m.guildsTree.resetNodeIndex() @@ -92,7 +92,7 @@ func (m *Model) onReady(event *gateway.ReadyEvent) { } m.guildsTree.SetCurrentNode(root) - m.app.SetFocus(m.guildsTree) + return tview.SetFocus(m.guildsTree) } func (m *Model) onMessageCreate(message *gateway.MessageCreateEvent) {