1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

try-catch errors for extension.disable()

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2020-11-06 08:39:12 +02:00
parent 4cb4f5a5f8
commit 10570423fc

View File

@ -97,22 +97,24 @@ export class ExtensionLoader {
for (const [extId, ext] of installedExtensions) { for (const [extId, ext] of installedExtensions) {
let instance = this.instances.get(extId); let instance = this.instances.get(extId);
if (ext.enabled && !instance) { if (ext.enabled && !instance) {
const extensionModule = this.requireExtension(ext)
if (!extensionModule) {
continue;
}
try { try {
const extensionModule = this.requireExtension(ext)
if (!extensionModule) continue;
const LensExtensionClass: LensExtensionConstructor = extensionModule.default; const LensExtensionClass: LensExtensionConstructor = extensionModule.default;
instance = new LensExtensionClass(ext); instance = new LensExtensionClass(ext);
instance.whenEnabled(() => register(instance)); instance.whenEnabled(() => register(instance));
instance.enable(); instance.enable();
this.instances.set(extId, instance); this.instances.set(extId, instance);
} catch (err) { } catch (err) {
logger.error(`[EXTENSIONS-LOADER]: init extension instance error`, { ext, err }) logger.error(`[EXTENSION-LOADER]: activation extension error`, { ext, err })
} }
} else if (!ext.enabled && instance) { } else if (!ext.enabled && instance) {
instance.disable(); try {
this.instances.delete(extId); instance.disable();
this.instances.delete(extId);
} catch (err) {
logger.error(`[EXTENSION-LOADER]: deactivation extension error`, { ext, err })
}
} }
} }
}, { }, {