From e49b0f61ce6b0332c47d35906ea367f2c7abe8ca Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 3 Nov 2022 16:35:39 -0400 Subject: [PATCH] Remove calls to show error popup on stopping Signed-off-by: Sebastian Malton --- .../startable-stoppable.injectable.ts | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/start-main-application/runnables/lens-proxy/startable-stoppable.injectable.ts b/src/main/start-main-application/runnables/lens-proxy/startable-stoppable.injectable.ts index 51e4f1c7af..9654289364 100644 --- a/src/main/start-main-application/runnables/lens-proxy/startable-stoppable.injectable.ts +++ b/src/main/start-main-application/runnables/lens-proxy/startable-stoppable.injectable.ts @@ -4,6 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import loggerInjectable from "../../../../common/logger.injectable"; +import { hasTypedProperty, isObject, isString } from "../../../../common/utils"; import { getStartableStoppable } from "../../../../common/utils/get-startable-stoppable"; import isWindowsInjectable from "../../../../common/vars/is-windows.injectable"; import exitAppInjectable from "../../../electron-app/features/exit-app.injectable"; @@ -12,6 +13,14 @@ import lensProxyInjectable from "../../../lens-proxy/lens-proxy.injectable"; import buildVersionInjectable from "../../../vars/build-version/build-version.injectable"; import requestAppVersionViaProxyInjectable from "./request-app-version.injectable"; +const getErrorMessage = (error: unknown, fallback: string): string => { + if (isObject(error) && hasTypedProperty(error, "message", isString)) { + return error.message; + } + + return fallback; +}; + const setupLensProxyStartableStoppableInjectable = getInjectable({ id: "setup-lens-proxy-startable-stoppable", instantiate: (di) => { @@ -30,10 +39,13 @@ const setupLensProxyStartableStoppableInjectable = getInjectable({ try { logger.info("🔌 Starting LensProxy"); await lensProxy.listen({ signal: controller.signal }); // lensProxy.port available - } catch (error: any) { - showErrorPopup("Lens Error", `Could not start proxy: ${error?.message || "unknown error"}`); + } catch (error) { + if (!controller.signal.aborted) { + showErrorPopup("Lens Error", `Could not start proxy: ${getErrorMessage(error, "unknown error")}`); + exitApp(); + } - return exitApp(); + return; } // test proxy connection @@ -49,6 +61,10 @@ const setupLensProxyStartableStoppableInjectable = getInjectable({ logger.info("⚡ LensProxy connection OK"); } catch (error) { + if (controller.signal.aborted) { + return; + } + logger.error(`🛑 LensProxy: failed connection test: ${error}`); const hostsPath = isWindows