From be8e3505108868e94650acd0ea36f966d04e0f7f Mon Sep 17 00:00:00 2001 From: Panu Horsmalahti Date: Thu, 28 Oct 2021 18:46:16 +0300 Subject: [PATCH] Fix IPC race condition. (#4169) Signed-off-by: Panu Horsmalahti --- src/common/ipc/ipc.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/common/ipc/ipc.ts b/src/common/ipc/ipc.ts index 9ed51b7790..4a8b4f1f8d 100644 --- a/src/common/ipc/ipc.ts +++ b/src/common/ipc/ipc.ts @@ -49,20 +49,20 @@ function getSubFrames(): ClusterFrameInfo[] { } export function broadcastMessage(channel: string, ...args: any[]) { - const views: undefined | ReturnType | ReturnType = (webContents || electronRemote?.webContents)?.getAllWebContents(); - - if (!views || !Array.isArray(views) || views.length === 0) return; - args = args.map(sanitizePayload); - - ipcRenderer?.send(channel, ...args); - ipcMain?.emit(channel, ...args); - const subFramesP = ipcRenderer ? requestMain(subFramesChannel) : Promise.resolve(getSubFrames()); subFramesP .then(subFrames => { + const views: undefined | ReturnType | ReturnType = (webContents || electronRemote?.webContents)?.getAllWebContents(); + + if (!views || !Array.isArray(views) || views.length === 0) return; + args = args.map(sanitizePayload); + + ipcRenderer?.send(channel, ...args); + ipcMain?.emit(channel, ...args); + for (const view of views) { let viewType = "unknown";