summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/components/sidebar/sidebar.js3
-rw-r--r--models/activities.js5
-rw-r--r--server/notifications/notifications.js15
3 files changed, 8 insertions, 15 deletions
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js
index 5d34c4a8..83b12666 100644
--- a/client/components/sidebar/sidebar.js
+++ b/client/components/sidebar/sidebar.js
@@ -16,8 +16,7 @@ BlazeComponent.extendComponent({
},
onCreated() {
- const initOpen = Utils.isMiniScreen() ? false : (!Session.get('currentCard'));
- this._isOpen = new ReactiveVar(initOpen);
+ this._isOpen = new ReactiveVar(false);
this._view = new ReactiveVar(defaultView);
Sidebar = this;
},
diff --git a/models/activities.js b/models/activities.js
index f3dabc6a..47e3ff1e 100644
--- a/models/activities.js
+++ b/models/activities.js
@@ -151,10 +151,11 @@ if (Meteor.isServer) {
}
if (board) {
const watchingUsers = _.pluck(_.where(board.watchers, {level: 'watching'}), 'userId');
- watchers = _.union(watchers, watchingUsers || []);
+ const trackingUsers = _.pluck(_.where(board.watchers, {level: 'tracking'}), 'userId');
+ watchers = _.union(watchers, watchingUsers, _.intersection(participants, trackingUsers));
}
- Notifications.getUsers(participants, watchers).forEach((user) => {
+ Notifications.getUsers(watchers).forEach((user) => {
Notifications.notify(user, title, description, params);
});
diff --git a/server/notifications/notifications.js b/server/notifications/notifications.js
index 72692ef8..fa8b2ee2 100644
--- a/server/notifications/notifications.js
+++ b/server/notifications/notifications.js
@@ -19,20 +19,13 @@ Notifications = {
delete notifyServices[serviceName];
},
- // filter recipients according to user settings for notification
- getUsers: (participants, watchers) => {
- const userMap = {};
- participants.forEach((userId) => {
- if (userMap[userId]) return;
- const user = Users.findOne(userId);
- userMap[userId] = user;
- });
+ getUsers: (watchers) => {
+ const users = [];
watchers.forEach((userId) => {
- if (userMap[userId]) return;
const user = Users.findOne(userId);
- userMap[userId] = user;
+ if (user) users.push(user);
});
- return _.map(userMap, (v) => v);
+ return users;
},
notify: (user, title, description, params) => {