From 74f8d7462e813da66b43ea40bdb4cde0b4c90efc Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Wed, 27 Apr 2022 11:14:43 +0300 Subject: [PATCH] Reimplement setup for electron application name using runnables instead of non-OCP in index.ts Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- .../app-paths/app-name/app-name.injectable.ts | 6 +++-- .../setup-application-name.injectable.ts | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/main/start-main-application/before-application-is-ready/implementations/setup-application-name.injectable.ts diff --git a/src/main/app-paths/app-name/app-name.injectable.ts b/src/main/app-paths/app-name/app-name.injectable.ts index 4ba900d410..1ca5df077b 100644 --- a/src/main/app-paths/app-name/app-name.injectable.ts +++ b/src/main/app-paths/app-name/app-name.injectable.ts @@ -3,11 +3,13 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import electronAppInjectable from "../get-electron-app-path/electron-app/electron-app.injectable"; +import { isDevelopment } from "../../../common/vars"; +import packageInfo from "../../../../package.json"; const appNameInjectable = getInjectable({ id: "app-name", - instantiate: (di) => di.inject(electronAppInjectable).name, + instantiate: () => `${packageInfo.productName}${isDevelopment ? "Dev" : ""}`, + causesSideEffects: true, }); export default appNameInjectable; diff --git a/src/main/start-main-application/before-application-is-ready/implementations/setup-application-name.injectable.ts b/src/main/start-main-application/before-application-is-ready/implementations/setup-application-name.injectable.ts new file mode 100644 index 0000000000..de85a2721c --- /dev/null +++ b/src/main/start-main-application/before-application-is-ready/implementations/setup-application-name.injectable.ts @@ -0,0 +1,25 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import electronAppInjectable from "../../../app-paths/get-electron-app-path/electron-app/electron-app.injectable"; +import appNameInjectable from "../../../app-paths/app-name/app-name.injectable"; +import { beforeApplicationIsReadyInjectionToken } from "../before-application-is-ready-injection-token"; + +const setupApplicationNameInjectable = getInjectable({ + id: "setup-application-name", + + instantiate: (di) => ({ + run: () => { + const app = di.inject(electronAppInjectable); + const appName = di.inject(appNameInjectable); + + app.setName(appName); + }, + }), + + injectionToken: beforeApplicationIsReadyInjectionToken, +}); + +export default setupApplicationNameInjectable;