@@ -15,12 +15,11 @@ import (
1515 "time"
1616
1717 "github.com/charmbracelet/bubbles/textarea"
18- "github.com/charmbracelet/bubbles/viewport"
19- tea "github.com/charmbracelet/bubbletea"
20- "github.com/charmbracelet/glamour"
21- "github.com/charmbracelet/lipgloss"
22- "github.com/google/uuid"
23- "github.com/nathfavour/vibeauracle/brain"
18+ "github.com/charmbracelet/bubbles/viewport"
19+ tea "github.com/charmbracelet/bubbletea"
20+ "github.com/charmbracelet/lipgloss"
21+ "github.com/google/uuid"
22+ "github.com/nathfavour/vibeauracle/brain"
2423 "github.com/nathfavour/vibeauracle/internal/doctor"
2524 "github.com/nathfavour/vibeauracle/reactor"
2625 vmodel "github.com/nathfavour/vibeauracle/model"
@@ -130,16 +129,18 @@ type model struct {
130129 // Dynamic Commands from Extensions
131130 dynamicCommands map [string ]brain.CLICommand
132131
133- // Non-blocking Engine
134- reactor * reactor.Reactor
135- md * reactor.MarkdownRenderer
136- }
137- type layoutMsg struct {
138- content string
139- wasAtBottom bool
140- wasAtTop bool
141- prevOffset int
142- }
132+ // Non-blocking Engine
133+ reactor * reactor.Reactor
134+ md * reactor.MarkdownRenderer
135+ lastRenderTime time.Time
136+ }
137+
138+ type layoutMsg struct {
139+ content string
140+ wasAtBottom bool
141+ wasAtTop bool
142+ prevOffset int
143+ }
143144type recordTickMsg time.Time
144145
145146type checkUpdateTickMsg time.Time
@@ -1039,7 +1040,8 @@ func (m *model) handleChatKey(msg tea.KeyMsg) (tea.Model, tea.Cmd) {
10391040 m .saveState ()
10401041 m .isThinking = true
10411042 m .wasStreaming = false // Reset streaming flag for new turn
1042- return m , tea .Batch (m .asyncRender (), m .processRequest (v )) default :
1043+ return m , tea .Batch (m .asyncRender (), m .processRequest (v ))
1044+ default :
10431045 val := m .textarea .Value ()
10441046 m .updateSuggestions (val )
10451047
0 commit comments