From 3d02f30a90d1cfd582e4d556c35ef62c518394a4 Mon Sep 17 00:00:00 2001 From: Jacob Schlecht Date: Tue, 14 Apr 2026 23:39:22 -0600 Subject: [PATCH] fix: can't send functions over ipc This commit was made without the use of generative AI. Signed-off-by: Jacob Schlecht --- src/native/window.ts | 15 +++++++++------ src/world/window.ts | 11 ++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/native/window.ts b/src/native/window.ts index d5d2182..9aeb5d6 100644 --- a/src/native/window.ts +++ b/src/native/window.ts @@ -205,12 +205,9 @@ export function createMainWindow() { }); return; } - mainWindow.webContents.send( - "screenPicker", - sources.map((source, idx) => { - return { idx: idx, name: source.name }; - }), - (idx: number, audio: boolean) => { + ipcMain.once( + "screenPickerCallback", + (_, idx: number, audio: boolean) => { if (idx < 0 || idx > sources.length) { callback({}); } else { @@ -221,6 +218,12 @@ export function createMainWindow() { } }, ); + mainWindow.webContents.send( + "screenPicker", + sources.map((source, idx) => { + return { idx: idx, name: source.name }; + }), + ); }); }, { useSystemPicker: true }, diff --git a/src/world/window.ts b/src/world/window.ts index 187ffd7..1cc6c12 100644 --- a/src/world/window.ts +++ b/src/world/window.ts @@ -18,13 +18,10 @@ contextBridge.exposeInMainWorld("native", { // Wrapped in braces to return void onceScreenPicker: ( - onScreenPick: ( - sources: { idx: number; name: string }[], - callback: (idx: number, audio: boolean) => void, - ) => void, + onScreenPick: (sources: { idx: number; name: string }[]) => void, ) => { - ipcRenderer.once("screenPicker", (_, sources, callback) => - onScreenPick(sources, callback), - ); + ipcRenderer.once("screenPicker", (_, sources) => onScreenPick(sources)); }, + screenPickerCallback: (idx: number, audio: boolean) => + ipcRenderer.send("screenPickerCallback", idx, audio), });