From b6185b1d9e8f0c58531c3567750d43f20274489b Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Wed, 17 Dec 2025 20:08:52 +0100 Subject: [PATCH] fix(chat): race condition --- internal/ui/model/ui.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/ui/model/ui.go b/internal/ui/model/ui.go index dc581d4febe19a73ae12618a44f9ccd8bdf802b8..967452e3e81aa7c92c75b02c184dd6f53aaa164a 100644 --- a/internal/ui/model/ui.go +++ b/internal/ui/model/ui.go @@ -1279,8 +1279,10 @@ func (m *UI) sendMessage(content string, attachments []message.Attachment) tea.C cmds = append(cmds, m.loadSession(newSession.ID)) } + // Capture session ID to avoid race with main goroutine updating m.session. + sessionID := m.session.ID cmds = append(cmds, func() tea.Msg { - _, err := m.com.App.AgentCoordinator.Run(context.Background(), m.session.ID, content, attachments...) + _, err := m.com.App.AgentCoordinator.Run(context.Background(), sessionID, content, attachments...) if err != nil { isCancelErr := errors.Is(err, context.Canceled) isPermissionErr := errors.Is(err, permission.ErrorPermissionDenied)