diff --git a/common/script/fns/cron.js b/common/script/fns/cron.js index b43da4e0cd..4cd7387271 100644 --- a/common/script/fns/cron.js +++ b/common/script/fns/cron.js @@ -36,6 +36,9 @@ module.exports = function(user, options) { } user.auth.timestamps.loggedin = new Date(); user.lastCron = now; + if (_.isFinite(+user.preferences.timezoneOffset)) { + user.preferences.timezoneOffsetAtLastCron = user.preferences.timezoneOffset; + } if (user.items.lastDrop.count > 0) { user.items.lastDrop.count = 0; } diff --git a/test/common/algos.mocha.js b/test/common/algos.mocha.js index ba96498284..a8c72dae37 100644 --- a/test/common/algos.mocha.js +++ b/test/common/algos.mocha.js @@ -53,6 +53,7 @@ let beforeAfter = (options = {}) => { before.preferences.dayStart = after.preferences.dayStart = options.dayStart; } before.preferences.timezoneOffset = after.preferences.timezoneOffset = options.timezoneOffset || moment().zone(); + before.preferences.timezoneOffsetAtLastCron = after.preferences.timezoneOffsetAtLastCron = before.preferences.timezoneOffset; if (options.limitOne) { before[`${options.limitOne}s`] = [before[`${options.limitOne}s`][0]]; after[`${options.limitOne}s`] = [after[`${options.limitOne}s`][0]]; diff --git a/website/src/models/user.js b/website/src/models/user.js index 42639a5602..6fbba40fd3 100644 --- a/website/src/models/user.js +++ b/website/src/models/user.js @@ -350,6 +350,7 @@ var UserSchema = new Schema({ skin: {type:String, 'default':'915533'}, shirt: {type: String, 'default': 'blue'}, timezoneOffset: Number, + timezoneOffsetAtLastCron: Number, sound: {type:String, 'default':'off', enum: ['off', 'danielTheBard', 'gokulTheme', 'luneFoxTheme', 'wattsTheme']}, language: String, automaticAllocation: Boolean,