diff --git a/src/common/ipc.ts b/src/common/ipc.ts index 3d4a878fd7..ea0633c34e 100644 --- a/src/common/ipc.ts +++ b/src/common/ipc.ts @@ -28,7 +28,7 @@ export interface IpcChannelOptions { channel: IpcChannel; // main <-> renderer communication channel name mode?: IpcMode; // default: "async", use "sync" as last resort: https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendsyncchannel-args handle?: (...args: any[]) => any; // main-process message handler - autoBind?: boolean; // auto-bind message handler in main-process, default: false + autoBind?: boolean; // auto-bind message handler in main-process, default: true timeout?: number; // timeout for waiting response from the sender once?: boolean; // todo: add support } @@ -50,11 +50,10 @@ export function createIpcChannel({ autoBind = true, mode = IpcMode.ASYNC, timeou res.msgId = req.msgId; // return back to sender to be able to handle response resolved = true logger.debug(`[IPC]: sending response to "${channel}"`, res); - if (mode === IpcMode.ASYNC) { - event.reply(channel, res); - } if (mode === IpcMode.SYNC) { event.returnValue = res; + } else { + event.reply(channel, res); } } @@ -82,11 +81,10 @@ export function createIpcChannel({ autoBind = true, mode = IpcMode.ASYNC, timeou msgId: getRandId({ prefix: "ipc-msg-id" }), args: args, } - if (mode === IpcMode.ASYNC) { - ipcRenderer.send(channel, req) - } if (mode === IpcMode.SYNC) { ipcRenderer.sendSync(channel, req) + } else { + ipcRenderer.send(channel, req) } return new Promise(async (resolve, reject) => { ipcRenderer.on(channel, function waitResponseHandler(event: IpcRendererEvent, res: IpcChannelResponse) { diff --git a/src/renderer/components/cluster-manager/cluster-manager.tsx b/src/renderer/components/cluster-manager/cluster-manager.tsx index 61d37c89ed..195e3fc13c 100644 --- a/src/renderer/components/cluster-manager/cluster-manager.tsx +++ b/src/renderer/components/cluster-manager/cluster-manager.tsx @@ -1,10 +1,8 @@ import "./cluster-manager.scss" import React from "react"; -import { WebviewTag } from "electron"; import { Redirect, Route, Switch } from "react-router"; -import { observable, reaction } from "mobx"; +import { reaction } from "mobx"; import { disposeOnUnmount, observer } from "mobx-react"; -import { clusterIpc } from "../../../common/cluster-ipc"; import { cssNames } from "../../utils"; import { ClustersMenu } from "./clusters-menu"; import { BottomBar } from "./bottom-bar"; @@ -14,52 +12,8 @@ import { Workspaces, workspacesRoute } from "../+workspaces"; import { AddCluster, addClusterRoute } from "../+add-cluster"; import { ClusterView } from "./cluster-view"; import { clusterViewRoute, clusterViewURL, getMatchedCluster, getMatchedClusterId } from "./cluster-view.route"; -import { ClusterId, clusterStore } from "../../../common/cluster-store"; -import logger from "../../../main/logger"; - -interface LensView { - isLoaded?: boolean - clusterId: ClusterId; - view: WebviewTag -} - -const lensViews = observable.map(); - -export function hasLoadedView(clusterId: ClusterId): boolean { - return !!lensViews.get(clusterId)?.isLoaded; -} - -// todo: figure out how to replace -tag to