perf: track and start lsp on command (#2176)

Carlos Alexandro Becker created

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Change summary

internal/ui/model/ui.go | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

Detailed changes

internal/ui/model/ui.go 🔗

@@ -2723,10 +2723,13 @@ func (m *UI) sendMessage(content string, attachments ...message.Attachment) tea.
 	}
 
 	ctx := context.Background()
-	for _, path := range m.sessionFileReads {
-		m.com.App.FileTracker.RecordRead(ctx, m.session.ID, path)
-		m.com.App.LSPManager.Start(ctx, path)
-	}
+	cmds = append(cmds, func() tea.Msg {
+		for _, path := range m.sessionFileReads {
+			m.com.App.FileTracker.RecordRead(ctx, m.session.ID, path)
+			m.com.App.LSPManager.Start(ctx, path)
+		}
+		return nil
+	})
 
 	// Capture session ID to avoid race with main goroutine updating m.session.
 	sessionID := m.session.ID