diff --git a/apps/desktop/src/platform/preload.ts b/apps/desktop/src/platform/preload.ts index 1ea4f3b91b..d7c4dd430e 100644 --- a/apps/desktop/src/platform/preload.ts +++ b/apps/desktop/src/platform/preload.ts @@ -17,6 +17,16 @@ export default { onSystemThemeUpdated: (callback: (theme: ThemeType) => void) => { ipcRenderer.on("systemThemeUpdated", (_event, theme: ThemeType) => callback(theme)); }, + + sendMessage: (message: { command: string } & any) => + ipcRenderer.send("messagingService", message), + onMessage: (callback: (message: { command: string } & any) => void) => { + ipcRenderer.on("messagingService", (_event, message: any) => { + if (message.command) { + callback(message); + } + }); + }, }; function deviceType(): DeviceType { diff --git a/apps/desktop/src/platform/services/electron-renderer-messaging.service.ts b/apps/desktop/src/platform/services/electron-renderer-messaging.service.ts index 25414812c4..192efc1dc6 100644 --- a/apps/desktop/src/platform/services/electron-renderer-messaging.service.ts +++ b/apps/desktop/src/platform/services/electron-renderer-messaging.service.ts @@ -1,15 +1,9 @@ -import { ipcRenderer } from "electron"; - import { BroadcasterService } from "@bitwarden/common/platform/abstractions/broadcaster.service"; import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service"; export class ElectronRendererMessagingService implements MessagingService { constructor(private broadcasterService: BroadcasterService) { - ipcRenderer.on("messagingService", async (event: any, message: any) => { - if (message.command) { - this.sendMessage(message.command, message, false); - } - }); + ipc.platform.onMessage((message) => this.sendMessage(message.command, message, false)); } send(subscriber: string, arg: any = {}) { @@ -20,7 +14,7 @@ export class ElectronRendererMessagingService implements MessagingService { const message = Object.assign({}, { command: subscriber }, arg); this.broadcasterService.send(message); if (toMain) { - ipcRenderer.send("messagingService", message); + ipc.platform.sendMessage(message); } } }