diff --git a/public/js/controllers/notificationCtrl.js b/public/js/controllers/notificationCtrl.js index ba9a4cc5aa..89a440f7c9 100644 --- a/public/js/controllers/notificationCtrl.js +++ b/public/js/controllers/notificationCtrl.js @@ -39,6 +39,7 @@ habitrpg.controller('NotificationCtrl', }); $rootScope.$watch('user.achievements.ultimateGear', function(after, before){ + console.log(after, before) if (after === before || after !== true) return; $rootScope.modals.achievements.ultimateGear = true; }); diff --git a/public/js/services/userServices.js b/public/js/services/userServices.js index 187f65761a..bf9b605a87 100644 --- a/public/js/services/userServices.js +++ b/public/js/services/userServices.js @@ -65,13 +65,14 @@ angular.module('userServices', []). // the user has been modified from another application, sync up if(data.wasModified) { delete data.wasModified; - _.extend(user, data); $rootScope.$emit('userUpdated', user); } + // Update user + _.extend(user, data); + // Emit event when user is synced $rootScope.$emit('userSynced'); - user._v = data._v; } sent.length = 0; settings.fetching = false; diff --git a/src/controllers/user.js b/src/controllers/user.js index f581ec1d9a..2a9d0c9956 100644 --- a/src/controllers/user.js +++ b/src/controllers/user.js @@ -566,10 +566,9 @@ api.batchUpdate = function(req, res, next) { if (err) return res.json(500, {err: err}); var response = user.toJSON(); response.wasModified = res.locals.wasModified; - if (response._tmp && response._tmp.drop) response.wasModified = true; - - // Send the response to the server - if(response.wasModified){ + if (response._tmp && response._tmp.drop){ + res.json(200, {_tmp: {drop: response._tmp.drop}, _v: response._v}); + }else if(response.wasModified){ res.json(200, response); }else{ res.json(200, {_v: response._v});