]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/schedulers/plugins-check-scheduler.ts
Improve target bitrate calculation
[github/Chocobozzz/PeerTube.git] / server / lib / schedulers / plugins-check-scheduler.ts
index 7ff41e6394e152649f66796b6be395746bedfe63..c95e109b03cf8460b259236ac19986535c46d0ff 100644 (file)
@@ -1,11 +1,12 @@
+import { chunk } from 'lodash'
+import { compareSemVer } from '@shared/core-utils'
 import { logger } from '../../helpers/logger'
-import { AbstractScheduler } from './abstract-scheduler'
-import { SCHEDULER_INTERVALS_MS } from '../../initializers/constants'
 import { CONFIG } from '../../initializers/config'
+import { SCHEDULER_INTERVALS_MS } from '../../initializers/constants'
 import { PluginModel } from '../../models/server/plugin'
-import { chunk } from 'lodash'
+import { Notifier } from '../notifier'
 import { getLatestPluginsVersion } from '../plugins/plugin-index'
-import { compareSemVer } from '../../../shared/core-utils/miscs/miscs'
+import { AbstractScheduler } from './abstract-scheduler'
 
 export class PluginsCheckScheduler extends AbstractScheduler {
 
@@ -43,7 +44,7 @@ export class PluginsCheckScheduler extends AbstractScheduler {
         const results = await getLatestPluginsVersion(npmNames)
 
         for (const result of results) {
-          const plugin = pluginIndex[ result.npmName ]
+          const plugin = pluginIndex[result.npmName]
           if (!result.latestVersion) continue
 
           if (
@@ -53,6 +54,11 @@ export class PluginsCheckScheduler extends AbstractScheduler {
             plugin.latestVersion = result.latestVersion
             await plugin.save()
 
+            // Notify if there is an higher plugin version available
+            if (compareSemVer(plugin.version, result.latestVersion) < 0) {
+              Notifier.Instance.notifyOfNewPluginVersion(plugin)
+            }
+
             logger.info('Plugin %s has a new latest version %s.', result.npmName, plugin.latestVersion)
           }
         }