@@ -437,8 +437,9 @@ func (m *Chat) MessageItem(id string) chat.MessageItem {
437437// ToggleExpandedSelectedItem expands the selected message item if it is expandable.
438438func (m *Chat) ToggleExpandedSelectedItem() {
439439 if expandable, ok := m.list.SelectedItem().(chat.Expandable); ok {
440− expandable.ToggleExpanded()
441− m.list.ScrollToIndex(m.list.Selected())
440+ if !expandable.ToggleExpanded() {
441+ m.list.ScrollToIndex(m.list.Selected())
442+ }
442443 if m.list.AtBottom() {
443444 m.list.ScrollToBottom()
444445 }
@@ -547,9 +548,10 @@ func (m *Chat) HandleDelayedClick(msg DelayedClickMsg) bool {
547548 handled := clickable.HandleMouseClick(ansi.MouseButton1, msg.X, msg.Y)
548549 // Toggle expansion if applicable.
549550 if expandable, ok := selectedItem.(chat.Expandable); ok {
550− expandable.ToggleExpanded()
551+ if !expandable.ToggleExpanded() {
552+ m.list.ScrollToIndex(m.list.Selected())
553+ }
551554 }
552− m.list.ScrollToIndex(m.list.Selected())
553555 if m.list.AtBottom() {
554556 m.list.ScrollToBottom()
555557 }