diff --git a/src/meta/settings.js b/src/meta/settings.js index 30473bd7ac..681633f767 100644 --- a/src/meta/settings.js +++ b/src/meta/settings.js @@ -58,10 +58,9 @@ Settings.set = async function (hash, values, quiet) { const sortedLists = Object.keys(sortedListData); if (sortedLists.length) { - await db.setAdd('settings:' + hash + ':sorted-lists', sortedLists); - // Remove provided (but empty) sorted lists from the hash set await db.setRemove('settings:' + hash + ':sorted-lists', sortedLists.filter(list => !sortedListData[list].length)); + await db.setAdd('settings:' + hash + ':sorted-lists', sortedLists); await Promise.all(sortedLists.map(async function (list) { const numItems = await db.sortedSetCard('settings:' + hash + ':sorted-list:' + list); diff --git a/test/meta.js b/test/meta.js index cb0c79a72e..1946a94f16 100644 --- a/test/meta.js +++ b/test/meta.js @@ -128,10 +128,10 @@ describe('meta', function () { it('should get setting with sorted list', function (done) { socketAdmin.settings.get({ uid: fooUid }, { hash: 'another:hash' }, function (err, data) { assert.ifError(err); - assert.equal(data.foo, '1'); - assert.equal(data.derp, 'value'); - assert.deepEqual(data.someList, someList); - assert.deepEqual(data.anotherList, anotherList); + assert.strictEqual(data.foo, '1'); + assert.strictEqual(data.derp, 'value'); + assert.deepStrictEqual(data.someList, someList); + assert.deepStrictEqual(data.anotherList, anotherList); done(); }); });