Support extensions in main process (#1032)

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen authored and GitHub committed 2020-10-08 11:52:45 +03:00
1 parent c78b071da3
commit aa864fc199
31 files changed
+356 -204

No files matched your search

+3
View File
@@ -19,6 +19,7 @@ import { workspaceStore } from "../common/workspace-store";
import { tracker } from "../common/tracker";
import { extensionManager } from "../extensions/extension-manager";
import { extensionLoader } from "../extensions/extension-loader";
import { getLensRuntime } from "../extensions/lens-runtime";
import logger from "./logger"
const workingDir = path.join(app.getPath("appData"), appName);
@@ -78,7 +79,9 @@ async function main() {
// create window manager and open app
windowManager = new WindowManager(proxyPort);
extensionLoader.loadOnMain(getLensRuntime)
extensionLoader.extensions.replace(await extensionManager.load())
extensionLoader.broadcastExtensions()
}
app.on("ready", main);
+6 -2
View File
@@ -4,6 +4,7 @@ import { BrowserWindow, dialog, ipcMain, shell, webContents } from "electron"
import windowStateKeeper from "electron-window-state"
import { observable } from "mobx";
import { initMenu } from "./menu";
import { extensionLoader } from "../extensions/extension-loader";
export class WindowManager {
protected mainView: BrowserWindow;
@@ -40,6 +41,9 @@ export class WindowManager {
event.preventDefault();
shell.openExternal(url);
});
this.mainView.webContents.on("dom-ready", () => {
extensionLoader.broadcastExtensions()
})
// track visible cluster from ui
ipcMain.on("cluster-view:current-id", (event, clusterId: ClusterId) => {
@@ -72,8 +76,8 @@ export class WindowManager {
try {
await this.showSplash();
await this.mainView.loadURL(`http://localhost:${this.proxyPort}`)
this.mainView.show();
this.splashWindow.close();
this.mainView.show()
this.splashWindow.close()
} catch (err) {
dialog.showErrorBox("ERROR!", err.toString())
}