From db532fbb0d8cd237cec461f6498c68a34032a46b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 8 May 2017 21:23:30 -0400 Subject: [PATCH] fix user settings cache --- src/user/settings.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/user/settings.js b/src/user/settings.js index 9aa247bd79..de0da0641d 100644 --- a/src/user/settings.js +++ b/src/user/settings.js @@ -2,6 +2,7 @@ 'use strict'; var async = require('async'); +var _ = require('underscore'); var meta = require('../meta'); var db = require('../database'); @@ -25,7 +26,7 @@ module.exports = function (User) { var cached = cache.get('user:' + uid + ':settings'); if (cached) { - return onSettingsLoaded(uid, cached || {}, callback); + return onSettingsLoaded(uid, _.clone(cached || {}), callback); } async.waterfall([ @@ -36,7 +37,7 @@ module.exports = function (User) { settings = settings || {}; settings.uid = uid; cache.set('user:' + uid + ':settings', settings); - onSettingsLoaded(uid, settings || {}, next); + onSettingsLoaded(uid, _.clone(settings || {}), next); }, ], callback); }; @@ -47,7 +48,7 @@ module.exports = function (User) { return cache.get('user:' + uid + ':settings') || {}; }); async.map(settings, function (setting, next) { - onSettingsLoaded(setting.uid, setting, next); + onSettingsLoaded(setting.uid, _.clone(setting), next); }, next); }