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.ts

46 lines
1.1 KiB

import { Meteor } from 'meteor/meteor';
import { SyncedCron } from 'meteor/littledata:synced-cron';
import { settings } from '../../settings/server';
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: { text: (time: string) => string }) => parser.text('at 2:00 am'),
job() {
checkVersionUpdate();
},
});
});
Meteor.startup(() => {
Meteor.defer(() => {
if (settings.get('Register_Server') && settings.get('Update_EnableChecker')) {
checkVersionUpdate();
}
});
});
settings.watchMultiple(['Register_Server', 'Update_EnableChecker'], () => {
const checkForUpdates = settings.get('Register_Server') && settings.get('Update_EnableChecker');
if (checkForUpdates && SyncedCron.nextScheduledAtDate(jobName)) {
return;
}
if (checkForUpdates) {
addVersionCheckJob();
return;
}
SyncedCron.remove(jobName);
});