diff --git a/src/main/catalog-sync-to-renderer/stop-catalog-sync-when-application-is-closed.injectable.ts b/src/main/catalog-sync-to-renderer/stop-catalog-sync-when-application-is-closed.injectable.ts index 649fa6b6f4..1281fe6658 100644 --- a/src/main/catalog-sync-to-renderer/stop-catalog-sync-when-application-is-closed.injectable.ts +++ b/src/main/catalog-sync-to-renderer/stop-catalog-sync-when-application-is-closed.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import catalogSyncToRendererInjectable from "./catalog-sync-to-renderer.injectable"; -import { onApplicationCloseInjectionToken } from "../start-main-application/on-application-close/on-application-close-injection-token"; +import { onApplicationSoftQuitInjectionToken } from "../start-main-application/on-application-soft-quit/on-application-soft-quit-injection-token"; const stopCatalogSyncWhenApplicationIsClosedInjectable = getInjectable({ id: "stop-catalog-sync-when-application-is-closed", @@ -19,7 +19,7 @@ const stopCatalogSyncWhenApplicationIsClosedInjectable = getInjectable({ }; }, - injectionToken: onApplicationCloseInjectionToken, + injectionToken: onApplicationSoftQuitInjectionToken, }); export default stopCatalogSyncWhenApplicationIsClosedInjectable; diff --git a/src/main/menu/cleanup-application-menu-when-application-is-quit.injectable.ts b/src/main/menu/cleanup-application-menu-when-application-is-quit.injectable.ts index b56eee8922..d7c73349a6 100644 --- a/src/main/menu/cleanup-application-menu-when-application-is-quit.injectable.ts +++ b/src/main/menu/cleanup-application-menu-when-application-is-quit.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import applicationMenuInitializerInjectable from "./application-menu-initializer.injectable"; -import { onApplicationQuitInjectionToken } from "../start-main-application/on-application-quit/on-application-quit-injection-token"; +import { onApplicationHardQuitInjectionToken } from "../start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token"; const cleanupApplicationMenuWhenApplicationIsQuitInjectable = getInjectable({ id: "cleanup-application-menu-when-application-is-quit", @@ -21,7 +21,7 @@ const cleanupApplicationMenuWhenApplicationIsQuitInjectable = getInjectable({ }; }, - injectionToken: onApplicationQuitInjectionToken, + injectionToken: onApplicationHardQuitInjectionToken, }); export default cleanupApplicationMenuWhenApplicationIsQuitInjectable; diff --git a/src/main/start-main-application/before-application-is-ready/implementations/setup-closing-of-application.injectable.ts b/src/main/start-main-application/before-application-is-ready/implementations/setup-closing-of-application.injectable.ts index 3a00f5c87e..fe98272fe6 100644 --- a/src/main/start-main-application/before-application-is-ready/implementations/setup-closing-of-application.injectable.ts +++ b/src/main/start-main-application/before-application-is-ready/implementations/setup-closing-of-application.injectable.ts @@ -5,7 +5,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import electronAppInjectable from "../../../app-paths/get-electron-app-path/electron-app/electron-app.injectable"; import { beforeApplicationIsReadyInjectionToken } from "../before-application-is-ready-injection-token"; -import { onApplicationCloseInjectionToken } from "../../on-application-close/on-application-close-injection-token"; +import { onApplicationSoftQuitInjectionToken } from "../../on-application-soft-quit/on-application-soft-quit-injection-token"; import { runManyFor } from "../../run-many-for"; const setupClosingOfApplicationInjectable = getInjectable({ @@ -15,7 +15,7 @@ const setupClosingOfApplicationInjectable = getInjectable({ const app = di.inject(electronAppInjectable); const runManyForApplicationClose = runManyFor(di)( - onApplicationCloseInjectionToken, + onApplicationSoftQuitInjectionToken, ); return { diff --git a/src/main/start-main-application/on-application-close/implementations/quit-application.injectable.ts b/src/main/start-main-application/on-application-close/implementations/quit-application.injectable.ts deleted file mode 100644 index 117d443531..0000000000 --- a/src/main/start-main-application/on-application-close/implementations/quit-application.injectable.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * 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 { onApplicationQuitInjectionToken } from "../../on-application-quit/on-application-quit-injection-token"; -import { isIntegrationTesting } from "../../../../common/vars"; -import { runManyFor } from "../../run-many-for"; -import { onApplicationCloseInjectionToken } from "../on-application-close-injection-token"; - -const quitApplicationInjectable = getInjectable({ - id: "prevent-application-from-closing-involuntarily", - - instantiate: (di) => { - const runMany = runManyFor(di); - const runOnApplicationQuit = runMany(onApplicationQuitInjectionToken); - - return { - run: async ({ event }) => { - if (!isIntegrationTesting) { - // &&!autoUpdateIsRunning) { - event.preventDefault(); - - return; - } - - await runOnApplicationQuit({ event }); - }, - }; - }, - - causesSideEffects: true, - - injectionToken: onApplicationCloseInjectionToken, -}); - -export default quitApplicationInjectable; diff --git a/src/main/start-main-application/on-application-quit/implementations/clean-up-protocol-router-main.injectable.ts b/src/main/start-main-application/on-application-hard-quit/implementations/clean-up-protocol-router-main.injectable.ts similarity index 81% rename from src/main/start-main-application/on-application-quit/implementations/clean-up-protocol-router-main.injectable.ts rename to src/main/start-main-application/on-application-hard-quit/implementations/clean-up-protocol-router-main.injectable.ts index 92e80d859e..4a30547cba 100644 --- a/src/main/start-main-application/on-application-quit/implementations/clean-up-protocol-router-main.injectable.ts +++ b/src/main/start-main-application/on-application-hard-quit/implementations/clean-up-protocol-router-main.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { onApplicationQuitInjectionToken } from "../on-application-quit-injection-token"; +import { onApplicationHardQuitInjectionToken } from "../on-application-hard-quit-injection-token"; import lensProtocolRouterMainInjectable from "../../../protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable"; const cleanUpProtocolRouterMainInjectable = getInjectable({ @@ -19,7 +19,7 @@ const cleanUpProtocolRouterMainInjectable = getInjectable({ }; }, - injectionToken: onApplicationQuitInjectionToken, + injectionToken: onApplicationHardQuitInjectionToken, }); export default cleanUpProtocolRouterMainInjectable; diff --git a/src/main/start-main-application/on-application-quit/implementations/clean-up-shell-sessions.injectable.ts b/src/main/start-main-application/on-application-hard-quit/implementations/clean-up-shell-sessions.injectable.ts similarity index 76% rename from src/main/start-main-application/on-application-quit/implementations/clean-up-shell-sessions.injectable.ts rename to src/main/start-main-application/on-application-hard-quit/implementations/clean-up-shell-sessions.injectable.ts index b474ea1eb8..8581c8bc7e 100644 --- a/src/main/start-main-application/on-application-quit/implementations/clean-up-shell-sessions.injectable.ts +++ b/src/main/start-main-application/on-application-hard-quit/implementations/clean-up-shell-sessions.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import { onApplicationQuitInjectionToken } from "../on-application-quit-injection-token"; +import { onApplicationHardQuitInjectionToken } from "../on-application-hard-quit-injection-token"; import { ShellSession } from "../../../shell-session/shell-session"; const cleanUpShellSessionsInjectable = getInjectable({ @@ -15,7 +15,7 @@ const cleanUpShellSessionsInjectable = getInjectable({ }, }), - injectionToken: onApplicationQuitInjectionToken, + injectionToken: onApplicationHardQuitInjectionToken, }); export default cleanUpShellSessionsInjectable; diff --git a/src/main/start-main-application/on-application-close/on-application-close-injection-token.ts b/src/main/start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token.ts similarity index 76% rename from src/main/start-main-application/on-application-close/on-application-close-injection-token.ts rename to src/main/start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token.ts index 3d0b8950fe..a383a7f231 100644 --- a/src/main/start-main-application/on-application-close/on-application-close-injection-token.ts +++ b/src/main/start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token.ts @@ -6,8 +6,8 @@ import { getInjectionToken } from "@ogre-tools/injectable"; import type { Runnable } from "../run-many-for"; import type { Event } from "electron"; -export const onApplicationCloseInjectionToken = getInjectionToken< +export const onApplicationHardQuitInjectionToken = getInjectionToken< Runnable<{ event: Event }> >({ - id: "on-application-close", + id: "on-application-hard-quit", }); diff --git a/src/main/start-main-application/on-application-close/implementations/emit-close-to-command-bus.injectable.ts b/src/main/start-main-application/on-application-soft-quit/implementations/emit-close-to-command-bus.injectable.ts similarity index 80% rename from src/main/start-main-application/on-application-close/implementations/emit-close-to-command-bus.injectable.ts rename to src/main/start-main-application/on-application-soft-quit/implementations/emit-close-to-command-bus.injectable.ts index f585cf09c8..1e5d9c4eca 100644 --- a/src/main/start-main-application/on-application-close/implementations/emit-close-to-command-bus.injectable.ts +++ b/src/main/start-main-application/on-application-soft-quit/implementations/emit-close-to-command-bus.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import appEventBusInjectable from "../../../../common/app-event-bus/app-event-bus.injectable"; -import { onApplicationCloseInjectionToken } from "../on-application-close-injection-token"; +import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token"; const emitCloseToCommandBusInjectable = getInjectable({ id: "emit-close-to-command-bus", @@ -19,7 +19,7 @@ const emitCloseToCommandBusInjectable = getInjectable({ }; }, - injectionToken: onApplicationCloseInjectionToken, + injectionToken: onApplicationSoftQuitInjectionToken, }); export default emitCloseToCommandBusInjectable; diff --git a/src/main/start-main-application/on-application-close/implementations/make-protocol-router-not-have-loaded-renderer.injectable.ts b/src/main/start-main-application/on-application-soft-quit/implementations/make-protocol-router-not-have-loaded-renderer.injectable.ts similarity index 85% rename from src/main/start-main-application/on-application-close/implementations/make-protocol-router-not-have-loaded-renderer.injectable.ts rename to src/main/start-main-application/on-application-soft-quit/implementations/make-protocol-router-not-have-loaded-renderer.injectable.ts index d2bf06fd9a..ca0034ef39 100644 --- a/src/main/start-main-application/on-application-close/implementations/make-protocol-router-not-have-loaded-renderer.injectable.ts +++ b/src/main/start-main-application/on-application-soft-quit/implementations/make-protocol-router-not-have-loaded-renderer.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import lensProtocolRouterMainInjectable from "../../../protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable"; -import { onApplicationCloseInjectionToken } from "../on-application-close-injection-token"; +import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token"; const makeProtocolRouterNotHaveLoadedRendererInjectable = getInjectable({ id: "make-protocol-router-not-have-loaded-renderer", @@ -21,7 +21,7 @@ const makeProtocolRouterNotHaveLoadedRendererInjectable = getInjectable({ }; }, - injectionToken: onApplicationCloseInjectionToken, + injectionToken: onApplicationSoftQuitInjectionToken, }); export default makeProtocolRouterNotHaveLoadedRendererInjectable; diff --git a/src/main/start-main-application/on-application-soft-quit/implementations/quit-application.injectable.ts b/src/main/start-main-application/on-application-soft-quit/implementations/quit-application.injectable.ts new file mode 100644 index 0000000000..802f534853 --- /dev/null +++ b/src/main/start-main-application/on-application-soft-quit/implementations/quit-application.injectable.ts @@ -0,0 +1,38 @@ +/** + * 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 { onApplicationHardQuitInjectionToken } from "../../on-application-hard-quit/on-application-hard-quit-injection-token"; +import { runManyFor } from "../../run-many-for"; +import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token"; +import isIntegrationTestingInjectable from "../../../../common/vars/is-integration-testing.injectable"; + +const quitApplicationInjectable = getInjectable({ + id: "prevent-application-from-closing-involuntarily", + + instantiate: (di) => { + const runMany = runManyFor(di); + const runOnApplicationQuit = runMany(onApplicationHardQuitInjectionToken); + const isIntegrationTesting = di.inject(isIntegrationTestingInjectable); + + return { + run: async (runParameter) => { + if (!isIntegrationTesting) { + // &&!autoUpdateIsRunning) { + runParameter.cancel(); + + return; + } + + await runOnApplicationQuit(runParameter); + }, + }; + }, + + causesSideEffects: true, + + injectionToken: onApplicationSoftQuitInjectionToken, +}); + +export default quitApplicationInjectable; diff --git a/src/main/start-main-application/on-application-close/implementations/stop-cluster-manager.injectable.ts b/src/main/start-main-application/on-application-soft-quit/implementations/stop-cluster-manager.injectable.ts similarity index 80% rename from src/main/start-main-application/on-application-close/implementations/stop-cluster-manager.injectable.ts rename to src/main/start-main-application/on-application-soft-quit/implementations/stop-cluster-manager.injectable.ts index ca2f70d0bf..1a877b1ae5 100644 --- a/src/main/start-main-application/on-application-close/implementations/stop-cluster-manager.injectable.ts +++ b/src/main/start-main-application/on-application-soft-quit/implementations/stop-cluster-manager.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import clusterManagerInjectable from "../../../cluster-manager.injectable"; -import { onApplicationCloseInjectionToken } from "../on-application-close-injection-token"; +import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token"; const stopClusterManagerInjectable = getInjectable({ id: "stop-cluster-manager", @@ -19,7 +19,7 @@ const stopClusterManagerInjectable = getInjectable({ }; }, - injectionToken: onApplicationCloseInjectionToken, + injectionToken: onApplicationSoftQuitInjectionToken, causesSideEffects: true, }); diff --git a/src/main/start-main-application/on-application-close/implementations/stop-kube-config-sync.injectable.ts b/src/main/start-main-application/on-application-soft-quit/implementations/stop-kube-config-sync.injectable.ts similarity index 81% rename from src/main/start-main-application/on-application-close/implementations/stop-kube-config-sync.injectable.ts rename to src/main/start-main-application/on-application-soft-quit/implementations/stop-kube-config-sync.injectable.ts index e8852d4b73..bf0a1c39fe 100644 --- a/src/main/start-main-application/on-application-close/implementations/stop-kube-config-sync.injectable.ts +++ b/src/main/start-main-application/on-application-soft-quit/implementations/stop-kube-config-sync.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import kubeconfigSyncManagerInjectable from "../../../catalog-sources/kubeconfig-sync-manager/kubeconfig-sync-manager.injectable"; -import { onApplicationCloseInjectionToken } from "../on-application-close-injection-token"; +import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token"; const stopKubeConfigSyncInjectable = getInjectable({ id: "stop-kube-config-sync", @@ -19,7 +19,7 @@ const stopKubeConfigSyncInjectable = getInjectable({ }; }, - injectionToken: onApplicationCloseInjectionToken, + injectionToken: onApplicationSoftQuitInjectionToken, }); export default stopKubeConfigSyncInjectable; diff --git a/src/main/start-main-application/on-application-quit/on-application-quit-injection-token.ts b/src/main/start-main-application/on-application-soft-quit/on-application-soft-quit-injection-token.ts similarity index 76% rename from src/main/start-main-application/on-application-quit/on-application-quit-injection-token.ts rename to src/main/start-main-application/on-application-soft-quit/on-application-soft-quit-injection-token.ts index f3ce80cfc9..5037c38188 100644 --- a/src/main/start-main-application/on-application-quit/on-application-quit-injection-token.ts +++ b/src/main/start-main-application/on-application-soft-quit/on-application-soft-quit-injection-token.ts @@ -6,8 +6,8 @@ import { getInjectionToken } from "@ogre-tools/injectable"; import type { Runnable } from "../run-many-for"; import type { Event } from "electron"; -export const onApplicationQuitInjectionToken = getInjectionToken< +export const onApplicationSoftQuitInjectionToken = getInjectionToken< Runnable<{ event: Event }> >({ - id: "on-application-quit", + id: "on-application-soft-quit", }); diff --git a/src/main/tray/cleanup-tray-when-application-is-quit.injectable.ts b/src/main/tray/cleanup-tray-when-application-is-quit.injectable.ts index ae3ed15906..34213dc7b1 100644 --- a/src/main/tray/cleanup-tray-when-application-is-quit.injectable.ts +++ b/src/main/tray/cleanup-tray-when-application-is-quit.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import trayInitializerInjectable from "./tray-initializer.injectable"; -import { onApplicationQuitInjectionToken } from "../start-main-application/on-application-quit/on-application-quit-injection-token"; +import { onApplicationHardQuitInjectionToken } from "../start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token"; const setupTrayWhenApplicationIsQuitInjectable = getInjectable({ id: "setup-tray-when-application-is-quit", @@ -19,7 +19,7 @@ const setupTrayWhenApplicationIsQuitInjectable = getInjectable({ }; }, - injectionToken: onApplicationQuitInjectionToken, + injectionToken: onApplicationHardQuitInjectionToken, }); export default setupTrayWhenApplicationIsQuitInjectable;