From 61f03c4a6d94c9817e17542cd5c2e64015db41ea Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 25 Sep 2018 15:02:11 -0300 Subject: [PATCH 1/2] fix realname sidenav --- server/methods/createDirectMessage.js | 2 +- server/startup/migrations/v133.js | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 server/startup/migrations/v133.js diff --git a/server/methods/createDirectMessage.js b/server/methods/createDirectMessage.js index 437e62c228a3..229ea1b5d120 100644 --- a/server/methods/createDirectMessage.js +++ b/server/methods/createDirectMessage.js @@ -103,7 +103,7 @@ Meteor.methods({ $and: [{ 'u._id': to._id }], // work around to solve problems with upsert and dot }, { $setOnInsert: { - fname: me.username, + fname: me.name || me.username, name: me.username, t: 'd', open: false, diff --git a/server/startup/migrations/v133.js b/server/startup/migrations/v133.js new file mode 100644 index 000000000000..7b6b79544d6d --- /dev/null +++ b/server/startup/migrations/v133.js @@ -0,0 +1,27 @@ +RocketChat.Migrations.add({ + version: 133, + up() { + + const subscriptions = RocketChat.models.Subscriptions.find({ + t: 'd', + $or: [{ + ts: { + $gte: new Date('2018-07-09T00:00:00Z'), + }, + }, { + ts: null, + }, + ] }); + + subscriptions.forEach((subscription) => { + if (subscription.name !== subscription.fname) { + return; + } + const user = RocketChat.models.Users.findOne({ username: subscription.name }); + if (!user) { + return; + } + RocketChat.models.Subscriptions.update({ _id: subscription._id }, { $set: { fname: user.name } }); + }); + }, +}); From fcaf13edb6b92473405e75f9a26403f504aa6e71 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Wed, 26 Sep 2018 13:48:00 -0300 Subject: [PATCH 2/2] Add ts to subscription creation --- server/methods/createDirectMessage.js | 5 +++-- server/startup/migrations/v133.js | 25 +++++++++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/server/methods/createDirectMessage.js b/server/methods/createDirectMessage.js index 229ea1b5d120..884bf5cf737e 100644 --- a/server/methods/createDirectMessage.js +++ b/server/methods/createDirectMessage.js @@ -66,7 +66,6 @@ Meteor.methods({ // Make user I have a subcription to this room const upsertSubscription = { $set: { - ts: now, ls: now, open: true, }, @@ -83,6 +82,7 @@ Meteor.methods({ _id: me._id, username: me.username, }, + ts: now, ...myNotificationPref, }, }; @@ -103,7 +103,7 @@ Meteor.methods({ $and: [{ 'u._id': to._id }], // work around to solve problems with upsert and dot }, { $setOnInsert: { - fname: me.name || me.username, + fname: me.name, name: me.username, t: 'd', open: false, @@ -116,6 +116,7 @@ Meteor.methods({ _id: to._id, username: to.username, }, + ts: now, ...toNotificationPref, }, }); diff --git a/server/startup/migrations/v133.js b/server/startup/migrations/v133.js index 7b6b79544d6d..31860ff9c2e9 100644 --- a/server/startup/migrations/v133.js +++ b/server/startup/migrations/v133.js @@ -1,27 +1,36 @@ RocketChat.Migrations.add({ version: 133, up() { - const subscriptions = RocketChat.models.Subscriptions.find({ t: 'd', $or: [{ - ts: { - $gte: new Date('2018-07-09T00:00:00Z'), - }, + ts: { $gte: new Date('2018-07-09T00:00:00Z') }, }, { ts: null, - }, - ] }); + }], + }); subscriptions.forEach((subscription) => { if (subscription.name !== subscription.fname) { return; } - const user = RocketChat.models.Users.findOne({ username: subscription.name }); + const user = RocketChat.models.Users.findOne({ + username: subscription.name, + }, { + fields: { + name: 1, + }, + }); if (!user) { return; } - RocketChat.models.Subscriptions.update({ _id: subscription._id }, { $set: { fname: user.name } }); + RocketChat.models.Subscriptions.update({ + _id: subscription._id, + }, { + $set: { + fname: user.name, + }, + }); }); }, });