diff --git a/src/extensions/extension-loader/extension-loader.ts b/src/extensions/extension-loader/extension-loader.ts index e4ce5211aa..889fbf5d13 100644 --- a/src/extensions/extension-loader/extension-loader.ts +++ b/src/extensions/extension-loader/extension-loader.ts @@ -313,7 +313,7 @@ export class ExtensionLoader { } protected autoInitExtensions(register: (ext: LensExtension) => Promise) { - const bundledLoaded: Promise[] = []; + const loadingExtensions: { isBundled: boolean, loaded: Promise }[] = []; reaction(() => this.toJSON(), installedExtensions => { for (const [extId, extension] of installedExtensions) { @@ -334,9 +334,10 @@ export class ExtensionLoader { logger.error(`${logModule}: failed to enable`, { ext: extension, err }); }); - if (extension.isBundled) { - bundledLoaded.push(loaded); - } + loadingExtensions.push({ + isBundled: extension.isBundled, + loaded, + }); this.instances.set(extId, instance); } catch (err) { logger.error(`${logModule}: activation extension error`, { ext: extension, err }); @@ -349,7 +350,7 @@ export class ExtensionLoader { fireImmediately: true, }); - return Promise.all(bundledLoaded); + return loadingExtensions; } protected requireExtension(extension: InstalledExtension): LensExtensionConstructor | null { diff --git a/src/renderer/root-frame.tsx b/src/renderer/root-frame.tsx index e61bc32eb9..197f32bc20 100644 --- a/src/renderer/root-frame.tsx +++ b/src/renderer/root-frame.tsx @@ -56,7 +56,10 @@ export class RootFrame extends React.Component { catalogEntityRegistry.init(); try { - await extensionLoader.loadOnClusterManagerRenderer(); + const loadingExtensions = extensionLoader.loadOnClusterManagerRenderer(); + const loadingBundledExtensions = loadingExtensions.filter(e => e.isBundled).map(e => e.loaded); + + await Promise.all(loadingBundledExtensions); } finally { ipcRenderer.send(BundledExtensionsLoaded); }