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.
This commit is contained in:
Jannis Braun
2026-03-16 19:13:14 +01:00
parent bda7930e61
commit 26f2e2a817
+2 -4
View File
@@ -598,9 +598,7 @@ if (!gotTheLock) {
await session.defaultSession.clearCache(); await session.defaultSession.clearCache();
// Intercept getDisplayMedia() — show custom picker in renderer. // Intercept getDisplayMedia() — show custom picker in renderer.
// useSystemPicker: on macOS 15+, the native system picker runs instead of // Audio loopback controlled by user's shareAudio toggle.
// our handler, allowing Chromium's restrictOwnAudio constraint to work
// natively (no audio feedback). On Windows/Linux the handler is called.
session.defaultSession.setDisplayMediaRequestHandler(async (_request, callback) => { session.defaultSession.setDisplayMediaRequestHandler(async (_request, callback) => {
console.log('[Main:ScreenShare] Handler invoked'); console.log('[Main:ScreenShare] Handler invoked');
try { try {
@@ -658,7 +656,7 @@ if (!gotTheLock) {
// @ts-ignore — deny the request without crashing // @ts-ignore — deny the request without crashing
callback(); callback();
} }
}, { useSystemPicker: true }); });
registerIpcHandlers(); registerIpcHandlers();
createWindow(); createWindow();