diff --git a/extensions/support-page/main.ts b/extensions/support-page/main.ts index 133df0b890..20f17df4cf 100644 --- a/extensions/support-page/main.ts +++ b/extensions/support-page/main.ts @@ -12,10 +12,7 @@ export default class SupportPageMainExtension extends LensMainExtension { parentId: "help", label: "Support", click() { - windowManager.navigate({ - channel: "menu:navigate", // fixme: use windowManager.ensureMainWindow from Tray's PR - url: supportPageURL(), - }); + windowManager.navigate(supportPageURL()); } }) ) diff --git a/src/extensions/core-api/index.ts b/src/extensions/core-api/index.ts index 214fe116bc..3882763681 100644 --- a/src/extensions/core-api/index.ts +++ b/src/extensions/core-api/index.ts @@ -12,6 +12,7 @@ import * as Util from "./utils" import * as Registry from "../registries" import * as ClusterFeature from "./cluster-feature" +// TODO: allow to expose windowManager.navigate() as Navigation.navigate() in runtime export let windowManager: WindowManager; export { diff --git a/src/main/menu.ts b/src/main/menu.ts index 8974908207..32a78bd9d3 100644 --- a/src/main/menu.ts +++ b/src/main/menu.ts @@ -50,8 +50,7 @@ export function buildMenu(windowManager: WindowManager) { async function navigate(url: string) { logger.info(`[MENU]: navigating to ${url}`); - await windowManager.ensureMainWindow(); - windowManager.navigate(url); + await windowManager.navigate(url); } const macAppMenu: MenuItemConstructorOptions = { diff --git a/src/main/tray.ts b/src/main/tray.ts index 77bb603cc1..31cc99b314 100644 --- a/src/main/tray.ts +++ b/src/main/tray.ts @@ -43,8 +43,6 @@ export function initTray(windowManager: WindowManager) { } export function buildTray(icon: string | NativeImage, menu: Menu) { - logger.info("[TRAY]: build start"); - if (!tray) { tray = new Tray(icon) tray.setToolTip(packageInfo.description) @@ -76,8 +74,7 @@ export function createTrayMenu(windowManager: WindowManager): Menu { }, { label: "Preferences", - async click() { - await windowManager.ensureMainWindow() + click() { windowManager.navigate(preferencesURL()); }, }, @@ -98,7 +95,6 @@ export function createTrayMenu(windowManager: WindowManager): Menu { async click() { workspaceStore.setActive(workspace); clusterStore.setActive(clusterId); - await windowManager.ensureMainWindow() windowManager.navigate(clusterViewURL({ params: { clusterId } })); } } @@ -110,8 +106,8 @@ export function createTrayMenu(windowManager: WindowManager): Menu { label: "Check for updates", async click() { const result = await AppUpdater.checkForUpdates(); - const browserWindow = await windowManager.ensureMainWindow(); if (!result) { + const browserWindow = await windowManager.ensureMainWindow(); dialog.showMessageBoxSync(browserWindow, { message: "No updates available", type: "info", diff --git a/src/main/window-manager.ts b/src/main/window-manager.ts index 00c58aad67..46b008a0d4 100644 --- a/src/main/window-manager.ts +++ b/src/main/window-manager.ts @@ -117,7 +117,8 @@ export class WindowManager { } } - navigate(url: string, frameId?: number) { + async navigate(url: string, frameId?: number) { + await this.ensureMainWindow(); this.sendToView({ channel: "menu:navigate", frameId: frameId,