diff --git a/src/notifications.js b/src/notifications.js index d243796bf9..818f89f338 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -135,6 +135,7 @@ var async = require('async'), } async.parallel([ + async.apply(db.setObjectField, 'uid:' + uid + ':notifications:uniqueId:nid', notif_data.uniqueId, nid), async.apply(db.sortedSetAdd, 'uid:' + uid + ':notifications:unread', notif_data.datetime, notif_data.uniqueId), async.apply(db.sortedSetRemove, 'uid:' + uid + ':notifications:read', notif_data.uniqueId) ], function(err) { @@ -151,8 +152,7 @@ var async = require('async'), // Plugins notif_data.uid = uid; plugins.fireHook('action:notification.pushed', notif_data); - - db.setObjectField('uid:' + uid + ':notifications:uniqueId:nid', notif_data.uniqueId, nid, next); + next(); }); }); }, callback); diff --git a/src/topics/create.js b/src/topics/create.js index 34d4e363a1..fcf3829f80 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -203,13 +203,6 @@ module.exports = function(Topics) { }, function(data, next) { postData = data; - - if (parseInt(uid, 10)) { - Topics.notifyFollowers(tid, postData.pid, uid); - - user.notifications.sendPostNotificationToFollowers(uid, tid, postData.pid); - } - next(); }, function(next) { @@ -242,6 +235,12 @@ module.exports = function(Topics) { postData.selfPost = false; postData.relativeTime = utils.toISOString(postData.timestamp); + if (parseInt(uid, 10)) { + Topics.notifyFollowers(tid, postData.pid, uid); + + user.notifications.sendPostNotificationToFollowers(uid, tid, postData.pid); + } + next(null, postData); } ], callback);