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}`); + } } }