@@ -71,6 +71,9 @@ func (m *Chat) Len() int {
72// SetMessages sets the chat messages to the provided list of message items.
72// SetMessages sets the chat messages to the provided list of message items.
73func (m *Chat) SetMessages(msgs ...chat.MessageItem) {
73func (m *Chat) SetMessages(msgs ...chat.MessageItem) {
74+ m.idInxMap = make(map[string]int)
75+ m.pausedAnimations = make(map[string]struct{})
74 items := make([]list.Item, len(msgs))
77 items := make([]list.Item, len(msgs))
75 for i, msg := range msgs {
78 for i, msg := range msgs {
76 m.idInxMap[msg.ID()] = i
79 m.idInxMap[msg.ID()] = i
@@ -83,7 +86,7 @@ func (m *Chat) SetMessages(msgs ...chat.MessageItem) {
83// AppendMessages appends a new message item to the chat list.
86// AppendMessages appends a new message item to the chat list.
84func (m *Chat) AppendMessages(msgs ...chat.MessageItem) {
87func (m *Chat) AppendMessages(msgs ...chat.MessageItem) {
85 items := make([]list.Item, len(msgs))
88 items := make([]list.Item, len(msgs))
86− indexOffset := len(m.idInxMap)
89+ indexOffset := m.list.Len()
87 for i, msg := range msgs {
90 for i, msg := range msgs {
88 m.idInxMap[msg.ID()] = indexOffset + i
91 m.idInxMap[msg.ID()] = indexOffset + i
89 items[i] = msg
92 items[i] = msg