Skip to content
Snippets Groups Projects
Commit cb347774 authored by Gabriel Delavald's avatar Gabriel Delavald Committed by Rodrigo Nascimento
Browse files

[FIX] Fix wrong grouping on messages when server is slow (#10472)

[FIX] Messages was grouping wrong some times when server is slow
parent 2de15303
No related branches found
Tags 6.4.8
No related merge requests found
......@@ -339,7 +339,19 @@ Template.message.onViewRendered = function(context) {
return this._domrange.onAttached(function(domRange) {
const currentNode = domRange.lastNode();
const currentDataset = currentNode.dataset;
const previousNode = currentNode.previousElementSibling;
const getPreviousSentMessage = (currentNode) => {
if ($(currentNode).hasClass('temp')) {
return currentNode.previousElementSibling;
}
if (currentNode.previousElementSibling != null) {
let previousValid = currentNode.previousElementSibling;
while (previousValid != null && $(previousValid).hasClass('temp')) {
previousValid = previousValid.previousElementSibling;
}
return previousValid;
}
};
const previousNode = getPreviousSentMessage(currentNode);
const nextNode = currentNode.nextElementSibling;
const $currentNode = $(currentNode);
const $nextNode = $(nextNode);
......@@ -372,7 +384,7 @@ Template.message.onViewRendered = function(context) {
if (nextDataset.groupable !== 'false') {
if (nextDataset.username !== currentDataset.username || parseInt(nextDataset.timestamp) - parseInt(currentDataset.timestamp) > RocketChat.settings.get('Message_GroupingPeriod') * 1000) {
$nextNode.removeClass('sequential');
} else if (!$nextNode.hasClass('new-day')) {
} else if (!$nextNode.hasClass('new-day') && !$currentNode.hasClass('temp')) {
$nextNode.addClass('sequential');
}
}
......
......@@ -223,7 +223,7 @@ const RoomManager = new function() {
};
const loadMissedMessages = function(rid) {
const lastMessage = ChatMessage.findOne({rid}, {sort: {ts: -1}, limit: 1});
const lastMessage = ChatMessage.findOne({rid, temp: { $exists: false } }, {sort: {ts: -1}, limit: 1});
if (lastMessage == null) {
return;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment