From e52ba62e0e8cf06cdc602790c8d2bece27a5032f Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 18 Nov 2021 12:12:47 -0500 Subject: [PATCH] Fix all-or-nothing when initially loading extensions Signed-off-by: Sebastian Malton --- src/extensions/extension-discovery.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/extensions/extension-discovery.ts b/src/extensions/extension-discovery.ts index 1463d6180d..e364a47006 100644 --- a/src/extensions/extension-discovery.ts +++ b/src/extensions/extension-discovery.ts @@ -20,7 +20,7 @@ */ import { watch } from "chokidar"; -import { ipcRenderer } from "electron"; +import { dialog, ipcRenderer } from "electron"; import { EventEmitter } from "events"; import fse from "fs-extra"; import { observable, reaction, when, makeObservable } from "mobx"; @@ -393,7 +393,14 @@ export class ExtensionDiscovery extends Singleton { for (const extension of userExtensions) { if ((await fse.pathExists(extension.manifestPath)) === false) { - await this.installPackage(extension.absolutePath); + try { + await this.installPackage(extension.absolutePath); + } catch (error) { + const message = error.message || error?.toString() || "unknown error"; + const { name, version } = extension.manifest; + + dialog.showErrorBox("Lens Extension Install Failure", `Failed to install user extension ${name}@${version}: ${message}`); + } } }