4242 :key =" message.id"
4343 v-bind =" message"
4444 :token =" token"
45- is-collapsed-system-message
45+ : is-collapsed-system-message= " messagesCollapsed.messages?.length > 1 "
4646 :last-collapsed-message-id =" messagesCollapsed.lastId"
4747 :next-message-id =" getNextMessageId(message)"
4848 :previous-message-id =" getPrevMessageId(message)" />
@@ -205,9 +205,16 @@ export default {
205205 for (const message of messages) {
206206 const groupingType = this .messagesShouldBeGrouped (message, lastMessage)
207207 if (! groupingType || forceNextGroup) {
208- groups .push ({ id: message .id , lastId: message .id , messages: [message], type: ' ' , collapsed: this .groupIsCollapsed [message .id ] ?? true })
208+ // Update the previous group collapsed state to be equal to the length of messages if it's not defined yet
209+ if (groups .at (- 1 ) && groups .at (- 1 ).collapsed === undefined ) {
210+ groups .at (- 1 ).collapsed = groups .at (- 1 ).messages .length > 1
211+ }
212+ // Adding a new group
213+ groups .push ({ id: message .id , lastId: message .id , messages: [message], type: ' ' , collapsed: this .groupIsCollapsed [message .id ] })
209214 forceNextGroup = false
210215 } else {
216+ // Adding a message to the existing group
217+
211218 if (groupingType === ' call_reconnected' ) {
212219 groups .push ({ id: message .id , lastId: message .id , messages: [groups .at (- 1 ).messages .pop ()], type: ' ' , collapsed: this .groupIsCollapsed [message .id ] ?? true })
213220 groups .at (- 1 ).lastId = groups .at (- 1 ).messages .at (- 1 ).id
@@ -223,6 +230,11 @@ export default {
223230 if (isLastReadInsideGroup) {
224231 groups .at (- 1 ).collapsed = false
225232 }
233+
234+ // Update collapsed state for the last group if it's not defined yet
235+ if (JSON .stringify (message) === JSON .stringify (messages .at (- 1 )) && groups .at (- 1 ).collapsed === undefined ) {
236+ groups .at (- 1 ).collapsed = groups .at (- 1 ).messages .length > 1
237+ }
226238 }
227239 lastMessage = message
228240 }
@@ -232,7 +244,7 @@ export default {
232244
233245 toggleCollapsed (messages ) {
234246 this .$set (messages, ' collapsed' , ! messages .collapsed )
235- this .groupIsCollapsed [messages .id ] = ! this . groupIsCollapsed [ messages .id ]
247+ this .groupIsCollapsed [messages .id ] = messages .collapsed
236248 },
237249
238250 getNextMessageId (message ) {
0 commit comments