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:
parent
f8476cff0b
commit
56d438878c
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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,
|
||||||
),
|
),
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user