From 26f2e2a8171a62dd07f39655ab5bf7fb4585f263 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Mon, 16 Mar 2026 19:13:14 +0100 Subject: [PATCH] fix: remove experimental useSystemPicker causing double-picker and no audio on macOS useSystemPicker triggers applyConstraints to re-open the system picker (Electron #44684) and doesn't reliably pass audio capture. All platforms now use the custom Aether Drift picker with explicit loopback control. --- packages/desktop/src/main.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/desktop/src/main.ts b/packages/desktop/src/main.ts index dd4ae259..910ff081 100644 --- a/packages/desktop/src/main.ts +++ b/packages/desktop/src/main.ts @@ -598,9 +598,7 @@ if (!gotTheLock) { await session.defaultSession.clearCache(); // Intercept getDisplayMedia() — show custom picker in renderer. - // useSystemPicker: on macOS 15+, the native system picker runs instead of - // our handler, allowing Chromium's restrictOwnAudio constraint to work - // natively (no audio feedback). On Windows/Linux the handler is called. + // Audio loopback controlled by user's shareAudio toggle. session.defaultSession.setDisplayMediaRequestHandler(async (_request, callback) => { console.log('[Main:ScreenShare] Handler invoked'); try { @@ -658,7 +656,7 @@ if (!gotTheLock) { // @ts-ignore — deny the request without crashing callback(); } - }, { useSystemPicker: true }); + }); registerIpcHandlers(); createWindow();