on main help sign in
Revert "fix(ui): cache blurred and focused renderings separately for assistant messages (#2252)"
72bb086Ayman Bagabas
internal/ui/chat/assistant.go+3−18
@@ -27,8 +27,6 @@ type AssistantMessageItem struct {
27 *highlightableMessageItem
27 *highlightableMessageItem
28 *cachedMessageItem
28 *cachedMessageItem
29 *focusableMessageItem
29 *focusableMessageItem
30− blurredCache *cachedMessageItem
31− focusedCache *cachedMessageItem
32
30
33 message *message.Message
31 message *message.Message
34 sty *styles.Styles
32 sty *styles.Styles
@@ -42,8 +40,6 @@ func NewAssistantMessageItem(sty *styles.Styles, message *message.Message) Messa
42 a := &AssistantMessageItem{
40 a := &AssistantMessageItem{
43 highlightableMessageItem: defaultHighlighter(sty),
41 highlightableMessageItem: defaultHighlighter(sty),
44 cachedMessageItem: &cachedMessageItem{},
42 cachedMessageItem: &cachedMessageItem{},
45− blurredCache: &cachedMessageItem{},
46− focusedCache: &cachedMessageItem{},
47 focusableMessageItem: &focusableMessageItem{},
43 focusableMessageItem: &focusableMessageItem{},
48 message: message,
44 message: message,
49 sty: sty,
45 sty: sty,
@@ -111,22 +107,11 @@ func (a *AssistantMessageItem) RawRender(width int) string {
111
107
112// Render implements MessageItem.
108// Render implements MessageItem.
113func (a *AssistantMessageItem) Render(width int) string {
109func (a *AssistantMessageItem) Render(width int) string {
114− cache := a.blurredCache
110+ style := a.sty.Chat.Message.AssistantBlurred
115 if a.focused {
111 if a.focused {
116− cache = a.focusedCache
112+ style = a.sty.Chat.Message.AssistantFocused
117 }
113 }
118−
119− content, _, ok := cache.getCachedRender(width)
120− if !ok {
121− style := a.sty.Chat.Message.AssistantBlurred
122− if a.focused {
123− style = a.sty.Chat.Message.AssistantFocused
124− }
125− content = style.Render(a.RawRender(width))
114+ return style.Render(a.RawRender(width))
126− cache.setCachedRender(content, width, lipgloss.Height(content))
127− }
128−
129− return content
130}
115}
131
116
132// renderMessageContent renders the message content including thinking, main content, and finish reason.
117// renderMessageContent renders the message content including thinking, main content, and finish reason.