diff --git a/app/ui-sidenav/client/roomList.js b/app/ui-sidenav/client/roomList.js index f6a062df8d7d..18627691d100 100644 --- a/app/ui-sidenav/client/roomList.js +++ b/app/ui-sidenav/client/roomList.js @@ -144,7 +144,7 @@ const getLowerCaseNames = (room, nameDefault = '', fnameDefault = '') => { const mergeSubRoom = (subscription) => { const room = Rooms.findOne(subscription.rid) || { _updatedAt: subscription.ts }; subscription.lastMessage = room.lastMessage; - subscription.lm = room._updatedAt; + subscription.lm = (room.lastMessage && room.lastMessage.ts) || room._updatedAt; subscription.streamingOptions = room.streamingOptions; return Object.assign(subscription, getLowerCaseNames(subscription)); }; @@ -160,7 +160,7 @@ const mergeRoomSub = (room) => { }, { $set: { lastMessage: room.lastMessage, - lm: room._updatedAt, + lm: (room.lastMessage && room.lastMessage.ts) || room._updatedAt, streamingOptions: room.streamingOptions, ...getLowerCaseNames(room, sub.name, sub.fname), }, diff --git a/server/startup/migrations/index.js b/server/startup/migrations/index.js index 60ee4afe9979..948bc590af93 100644 --- a/server/startup/migrations/index.js +++ b/server/startup/migrations/index.js @@ -180,4 +180,5 @@ import './v179'; import './v180'; import './v181'; import './v182'; +import './v183'; import './xrun'; diff --git a/server/startup/migrations/v183.js b/server/startup/migrations/v183.js new file mode 100644 index 000000000000..1a4e4b63be2d --- /dev/null +++ b/server/startup/migrations/v183.js @@ -0,0 +1,21 @@ +import { Migrations } from '../../../app/migrations'; +import { Subscriptions, Rooms } from '../../../app/models'; + +Migrations.add({ + version: 183, + up() { + const subscriptions = Subscriptions.find({}).fetch(); + + subscriptions.forEach((subscription) => { + const room = Rooms.findOneById(subscription.rid); + + Subscriptions.update({ + _id: subscription._id, + }, { + $set: { + lm: (room.lastMessage && room.lastMessage.ts) || subscription._updatedAt, + }, + }); + }); + }, +});