1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Revert window manager and init-root-frame

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-01-25 15:33:01 +03:00
parent f8476cff0b
commit 56d438878c
3 changed files with 12 additions and 4 deletions

View File

@ -8,7 +8,7 @@ import { makeObservable, observable } from "mobx";
import { app, BrowserWindow, dialog, ipcMain, shell, webContents } from "electron"; import { app, BrowserWindow, dialog, ipcMain, shell, webContents } from "electron";
import windowStateKeeper from "electron-window-state"; import windowStateKeeper from "electron-window-state";
import { appEventBus } from "../common/app-event-bus/event-bus"; import { appEventBus } from "../common/app-event-bus/event-bus";
import { BundledExtensionsUpdated, ipcMainOn } from "../common/ipc"; import { BundledExtensionsLoaded, ipcMainOn } from "../common/ipc";
import { delay, iter, Singleton } from "../common/utils"; import { delay, iter, Singleton } from "../common/utils";
import { ClusterFrameInfo, clusterFrameMap } from "../common/cluster-frames"; import { ClusterFrameInfo, clusterFrameMap } from "../common/cluster-frames";
import { IpcRendererNavigationEvents } from "../renderer/navigation/events"; import { IpcRendererNavigationEvents } from "../renderer/navigation/events";
@ -165,7 +165,7 @@ export class WindowManager extends Singleton {
if (!this.mainWindow) { if (!this.mainWindow) {
viewHasLoaded = new Promise<void>(resolve => { viewHasLoaded = new Promise<void>(resolve => {
ipcMain.once(BundledExtensionsUpdated, () => resolve()); ipcMain.once(BundledExtensionsLoaded, () => resolve());
}); });
await this.initMainWindow(showSplash); await this.initMainWindow(showSplash);
} }

View File

@ -5,6 +5,7 @@
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
import { initRootFrame } from "./init-root-frame"; import { initRootFrame } from "./init-root-frame";
import extensionLoaderInjectable from "../../../../extensions/extension-loader/extension-loader.injectable"; import extensionLoaderInjectable from "../../../../extensions/extension-loader/extension-loader.injectable";
import ipcRendererInjectable from "../../../app-paths/get-value-from-registered-channel/ipc-renderer/ipc-renderer.injectable";
import bindProtocolAddRouteHandlersInjectable from "../../../protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable"; import bindProtocolAddRouteHandlersInjectable from "../../../protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.injectable";
import lensProtocolRouterRendererInjectable from "../../../protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable"; import lensProtocolRouterRendererInjectable from "../../../protocol-handler/lens-protocol-router-renderer/lens-protocol-router-renderer.injectable";
import catalogEntityRegistryInjectable from "../../../api/catalog-entity-registry/catalog-entity-registry.injectable"; import catalogEntityRegistryInjectable from "../../../api/catalog-entity-registry/catalog-entity-registry.injectable";
@ -17,6 +18,8 @@ const initRootFrameInjectable = getInjectable({
return initRootFrame({ return initRootFrame({
loadExtensions: extensionLoader.loadOnClusterManagerRenderer, loadExtensions: extensionLoader.loadOnClusterManagerRenderer,
ipcRenderer: di.inject(ipcRendererInjectable),
bindProtocolAddRouteHandlers: di.inject( bindProtocolAddRouteHandlers: di.inject(
bindProtocolAddRouteHandlersInjectable, bindProtocolAddRouteHandlersInjectable,
), ),

View File

@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { delay } from "../../../../common/utils"; import { delay } from "../../../../common/utils";
import { broadcastMessage } from "../../../../common/ipc"; import { broadcastMessage, BundledExtensionsLoaded } from "../../../../common/ipc";
import { registerIpcListeners } from "../../../ipc"; import { registerIpcListeners } from "../../../ipc";
import logger from "../../../../common/logger"; import logger from "../../../../common/logger";
import { unmountComponentAtNode } from "react-dom"; import { unmountComponentAtNode } from "react-dom";
@ -14,6 +14,9 @@ import type { BundledExtensionsUpdater } from "../../../components/+extensions/e
interface Dependencies { interface Dependencies {
loadExtensions: () => Promise<ExtensionLoading[]>; loadExtensions: () => Promise<ExtensionLoading[]>;
// TODO: Move usages of third party library behind abstraction
ipcRenderer: { send: (name: string) => void };
// TODO: Remove dependencies being here only for correct timing of initialization // TODO: Remove dependencies being here only for correct timing of initialization
bindProtocolAddRouteHandlers: () => void; bindProtocolAddRouteHandlers: () => void;
lensProtocolRouterRenderer: { init: () => void }; lensProtocolRouterRenderer: { init: () => void };
@ -29,11 +32,13 @@ export const initRootFrame =
loadExtensions, loadExtensions,
bindProtocolAddRouteHandlers, bindProtocolAddRouteHandlers,
lensProtocolRouterRenderer, lensProtocolRouterRenderer,
ipcRenderer,
catalogEntityRegistry, catalogEntityRegistry,
bundledExtensionsUpdater, bundledExtensionsUpdater,
}: Dependencies) => }: Dependencies) =>
async (rootElem: HTMLElement) => { async (rootElem: HTMLElement) => {
catalogEntityRegistry.init(); catalogEntityRegistry.init();
bundledExtensionsUpdater.init();
try { try {
// maximum time to let bundled extensions finish loading // maximum time to let bundled extensions finish loading
@ -49,7 +54,7 @@ export const initRootFrame =
await Promise.race([bundledExtensionsFinished, timeout]); await Promise.race([bundledExtensionsFinished, timeout]);
} finally { } finally {
bundledExtensionsUpdater.updateAll(); ipcRenderer.send(BundledExtensionsLoaded);
} }
lensProtocolRouterRenderer.init(); lensProtocolRouterRenderer.init();