[FIX] Invalid permalink URLs for Direct Messages (#11507)

pull/11328/head
Pierre H. Lehnen 7 years ago committed by Diego Sampaio
parent 5ea5d263b6
commit fc21f77f2e
  1. 6
      packages/rocketchat-lib/client/MessageAction.js
  2. 8
      packages/rocketchat-ui/client/lib/RoomHistoryManager.js

@ -117,8 +117,10 @@ RocketChat.MessageAction = new class {
if (!roomData) {
throw new Error('room-not-found');
}
const routePath = RocketChat.roomTypes.getRouteLink(roomData.t, roomData);
return `${ Meteor.absoluteUrl().replace(/\/$/, '') + routePath }?msg=${ msgId }`;
const subData = RocketChat.models.Subscriptions.findOne({rid: roomData._id, 'u._id': Meteor.userId()});
const routePath = RocketChat.roomTypes.getRouteLink(roomData.t, subData || roomData);
return `${ Meteor.absoluteUrl(routePath.replace(/^\//, '')) }?msg=${ msgId }`;
}
};

@ -161,6 +161,9 @@ export const RoomHistoryManager = new class {
if (ChatMessage.findOne(message._id)) {
const wrapper = $('.messages-box .wrapper');
const msgElement = $(`#${ message._id }`, wrapper);
if (msgElement.length === 0) {
return;
}
const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height()/2);
wrapper.animate({
scrollTop: pos
@ -190,7 +193,10 @@ export const RoomHistoryManager = new class {
}
return Meteor.call('loadSurroundingMessages', message, limit, function(err, result) {
for (const msg of Array.from((result != null ? result.messages : undefined) || [])) {
if (!result || result.messages) {
return;
}
for (const msg of Array.from(result.messages)) {
if (msg.t !== 'command') {
upsertMessage({msg, subscription});
}

Loading…
Cancel
Save