The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/version-check/server/index.js

48 lines
1.1 KiB

import _ from 'underscore';
import { Meteor } from 'meteor/meteor';
import { SyncedCron } from 'meteor/littledata:synced-cron';
import { settings } from '../../settings';
import checkVersionUpdate from './functions/checkVersionUpdate';
import './methods/banner_dismiss';
import './addSettings';
const jobName = 'version_check';
if (SyncedCron.nextScheduledAtDate(jobName)) {
SyncedCron.remove(jobName);
}
const addVersionCheckJob = Meteor.bindEnvironment(() => {
SyncedCron.add({
name: jobName,
schedule: (parser) => parser.text('at 2:00 am'),
job() {
checkVersionUpdate();
},
});
});
Meteor.startup(() => {
Meteor.defer(() => {
if (settings.get('Register_Server') && settings.get('Update_EnableChecker')) {
checkVersionUpdate();
}
});
});
settings.get(/Register_Server|Update_EnableChecker/, _.debounce(() => {
const checkForUpdates = settings.get('Register_Server') && settings.get('Update_EnableChecker');
if (checkForUpdates && SyncedCron.nextScheduledAtDate(jobName)) {
return;
}
if (checkForUpdates) {
addVersionCheckJob();
return;
}
SyncedCron.remove(jobName);
}, 1000));