From 59ce21609e806ce023ea461341ad7d9e5aa9359b Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Wed, 5 Apr 2023 09:49:30 +0300 Subject: [PATCH] All changes Signed-off-by: Janne Savolainen --- .../common/utils/get-startable-stoppable.ts | 2 ++ .../initialize-extensions.injectable.ts | 8 ++--- .../start-main-application.injectable.ts | 36 +++++++++++++------ 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/packages/core/src/common/utils/get-startable-stoppable.ts b/packages/core/src/common/utils/get-startable-stoppable.ts index 1bcac73a80..a47ed0b3fd 100644 --- a/packages/core/src/common/utils/get-startable-stoppable.ts +++ b/packages/core/src/common/utils/get-startable-stoppable.ts @@ -41,6 +41,8 @@ export function getStartableStoppable(id: string, startAndGetStopper: Starter): stop: () => { if (state !== "started") { + return; + throw new Error(`Tried to stop "${id}", but it is already ${state}.`); } diff --git a/packages/core/src/main/start-main-application/runnables/initialize-extensions.injectable.ts b/packages/core/src/main/start-main-application/runnables/initialize-extensions.injectable.ts index b098f7a868..4633a27f05 100644 --- a/packages/core/src/main/start-main-application/runnables/initialize-extensions.injectable.ts +++ b/packages/core/src/main/start-main-application/runnables/initialize-extensions.injectable.ts @@ -9,8 +9,6 @@ import loggerInjectable from "../../../common/logger.injectable"; import extensionDiscoveryInjectable from "../../../extensions/extension-discovery/extension-discovery.injectable"; import extensionLoaderInjectable from "../../../extensions/extension-loader/extension-loader.injectable"; import showErrorPopupInjectable from "../../electron-app/features/show-error-popup.injectable"; -import { onLoadOfApplicationInjectionToken } from "../runnable-tokens/on-load-of-application-injection-token"; -import setupShellInjectable from "../../../features/shell-sync/main/setup-shell.injectable"; const initializeExtensionsInjectable = getInjectable({ id: "initialize-extensions", @@ -51,20 +49,20 @@ const initializeExtensionsInjectable = getInjectable({ "Lens Error", `Could not load extensions${ error?.message ? `: ${error.message}` : "" - }`, + }` ); console.error(error); console.trace(); } }, - runAfter: di.inject(setupShellInjectable), + // runAfter: di.inject(setupShellInjectable), }; }, causesSideEffects: true, - injectionToken: onLoadOfApplicationInjectionToken, + // injectionToken: onLoadOfApplicationInjectionToken, }); export default initializeExtensionsInjectable; diff --git a/packages/core/src/main/start-main-application/start-main-application.injectable.ts b/packages/core/src/main/start-main-application/start-main-application.injectable.ts index 51b0a7f3b7..25a3a09d44 100644 --- a/packages/core/src/main/start-main-application/start-main-application.injectable.ts +++ b/packages/core/src/main/start-main-application/start-main-application.injectable.ts @@ -7,11 +7,15 @@ import { getInjectable } from "@ogre-tools/injectable"; import { runManyFor } from "../../common/runnable/run-many-for"; import { runManySyncFor } from "../../common/runnable/run-many-sync-for"; import { beforeElectronIsReadyInjectionToken } from "./runnable-tokens/before-electron-is-ready-injection-token"; -import { beforeApplicationIsLoadingInjectionToken } from "./runnable-tokens/before-application-is-loading-injection-token"; -import { onLoadOfApplicationInjectionToken } from "./runnable-tokens/on-load-of-application-injection-token"; -import { afterApplicationIsLoadedInjectionToken } from "./runnable-tokens/after-application-is-loaded-injection-token"; import waitForElectronToBeReadyInjectable from "../electron-app/features/wait-for-electron-to-be-ready.injectable"; -import { appPathsRunnablePhaseInjectionToken, showInitialWindowRunnablePhaseInjectionToken, showLoadingRunnablePhaseInjectionToken } from "./runnable-tokens/phases"; +import { + appPathsRunnablePhaseInjectionToken, showInitialWindowRunnablePhaseInjectionToken, + showLoadingRunnablePhaseInjectionToken, +} from "./runnable-tokens/phases"; +import { beforeApplicationIsLoadingInjectionToken } from "./runnable-tokens/before-application-is-loading-injection-token"; +import { + onLoadOfApplicationInjectionToken +} from "./runnable-tokens/on-load-of-application-injection-token"; const startMainApplicationInjectable = getInjectable({ id: "start-main-application", @@ -19,15 +23,25 @@ const startMainApplicationInjectable = getInjectable({ instantiate: (di) => { const runMany = runManyFor(di); const runManySync = runManySyncFor(di); - const waitForElectronToBeReady = di.inject(waitForElectronToBeReadyInjectable); + const waitForElectronToBeReady = di.inject( + waitForElectronToBeReadyInjectable + ); - const appPathsRunnablePhase = runManySync(appPathsRunnablePhaseInjectionToken); - const beforeElectronIsReady = runManySync(beforeElectronIsReadyInjectionToken); - const beforeApplicationIsLoading = runMany(beforeApplicationIsLoadingInjectionToken); - const showLoadingRunnablePhase = runMany(showLoadingRunnablePhaseInjectionToken); + const appPathsRunnablePhase = runManySync( + appPathsRunnablePhaseInjectionToken + ); + const beforeElectronIsReady = runManySync( + beforeElectronIsReadyInjectionToken + ); + const beforeApplicationIsLoading = runMany( + beforeApplicationIsLoadingInjectionToken + ); + const showLoadingRunnablePhase = runMany( + showLoadingRunnablePhaseInjectionToken + ); const onLoadOfApplication = runMany(onLoadOfApplicationInjectionToken); const showInitialWindowRunnablePhase = runMany(showInitialWindowRunnablePhaseInjectionToken); - const afterApplicationIsLoaded = runMany(afterApplicationIsLoadedInjectionToken); + // const afterApplicationIsLoaded = runMany(afterApplicationIsLoadedInjectionToken); return () => { // Stuff happening before application is ready needs to be synchronous because of @@ -41,7 +55,7 @@ const startMainApplicationInjectable = getInjectable({ await showLoadingRunnablePhase(); await onLoadOfApplication(); await showInitialWindowRunnablePhase(); - await afterApplicationIsLoaded(); + // await afterApplicationIsLoaded(); })(); }; },