From ebeae4699193a93ab8305b9b0a470e7190e102dd Mon Sep 17 00:00:00 2001 From: Jiiks Date: Tue, 13 Feb 2018 18:22:48 +0200 Subject: [PATCH] Wait for all plugins to load before starting them --- client/src/modules/pluginmanager.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/client/src/modules/pluginmanager.js b/client/src/modules/pluginmanager.js index 3f4b9467..1b640850 100644 --- a/client/src/modules/pluginmanager.js +++ b/client/src/modules/pluginmanager.js @@ -59,7 +59,15 @@ export default class extends ContentManager { return 'plugins'; } - static get loadAllPlugins() { return this.loadAllContent } + static async loadAllPlugins() { + const loadAll = await this.loadAllContent(); + this.localPlugins.forEach(plugin => { + if (plugin.type === 'module') return; + if (plugin.enabled) plugin.start(); + }); + + return loadAll; + } static get refreshPlugins() { return this.refreshContent } static get loadContent() { return this.loadPlugin } @@ -69,8 +77,6 @@ export default class extends ContentManager { const plugin = window.require(paths.mainPath)(Plugin, new PluginApi(info), Vendor); const instance = new plugin({ configs, info, main, paths: { contentPath: paths.contentPath, dirName: paths.dirName, mainPath: paths.mainPath } }); - - if (instance.enabled) instance.start(); return instance; }