Skip to content

Commit

Permalink
expand system messages group if visual unread marker is set on it
Browse files Browse the repository at this point in the history
Signed-off-by: Maksim Sukharev <[email protected]>
  • Loading branch information
Antreesy committed Dec 1, 2023
1 parent 29fe9d7 commit f06f6b8
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
16 changes: 13 additions & 3 deletions src/components/MessagesList/MessagesGroup/MessagesSystemGroup.vue
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,12 @@ export default {
}
},
computed: {
visualLastReadMessageId() {
return this.$store.getters.getVisualLastReadMessageId(this.token)
}
},
watch: {
messages: {
deep: true,
Expand Down Expand Up @@ -186,24 +192,28 @@ export default {
let lastMessage = null
let forceNextGroup = false
for (const message of messages) {
const isUnread = message.id === this.visualLastReadMessageId
const groupingType = this.messagesShouldBeGrouped(message, lastMessage)
if (!groupingType || forceNextGroup) {
groups.push({ id: message.id, messages: [message], type: '', collapsed: this.groupIsCollapsed[message.id] ?? true })
groups.push({ id: message.id, messages: [message], type: '', collapsed: this.groupIsCollapsed[message.id] ?? !isUnread })
forceNextGroup = false
} else {
if (groupingType === 'call_reconnected') {
groups.push({ id: message.id, messages: [groups.at(-1).messages.pop()], type: '', collapsed: this.groupIsCollapsed[message.id] ?? true })
groups.push({ id: message.id, messages: [groups.at(-1).messages.pop()], type: '', collapsed: this.groupIsCollapsed[message.id] ?? !isUnread })
forceNextGroup = true
}
groups.at(-1).messages.push(message)
groups.at(-1).type = groupingType
if (isUnread) {
groups.at(-1).collapsed = false
}
}
lastMessage = message
}
groups.forEach(group => {
if (this.groupIsCollapsed[group.id] === undefined) {
this.groupIsCollapsed[group.id] = true
this.groupIsCollapsed[group.id] = group.collapsed
}
})
return groups
Expand Down
1 change: 1 addition & 0 deletions src/composables/useCombinedSystemMessage.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export function useCombinedSystemMessage() {
*/
function createCombinedSystemMessage({ id, messages, type, collapsed }) {
const combinedMessage = cloneDeep(messages[0])
combinedMessage.id = messages[0].id + '_combined'

// Handle cases when users reconnected to the call
if (type === 'call_reconnected') {
Expand Down

0 comments on commit f06f6b8

Please sign in to comment.