fix: restore setDisplayMediaRequestHandler with useSystemPicker

Electron requires setDisplayMediaRequestHandler for getDisplayMedia() to
work — removing it broke screen sharing entirely. Restored the handler
with useSystemPicker: true, which on macOS 15+ uses the native system
picker (honoring restrictOwnAudio), while Windows/Linux fall back to
the custom picker with the shareAudio toggle for echo control.
This commit is contained in:
Jannis Braun
2026-03-16 18:34:50 +01:00
parent 9ff3761640
commit bda7930e61
5 changed files with 379 additions and 4 deletions
+2
View File
@@ -5,6 +5,7 @@ import { RegisterPage } from './components/auth/RegisterPage';
import { AppLayout } from './components/layout/AppLayout';
import { JoinPage } from './components/JoinPage';
import { SwAutoUpdate } from './components/ui/SwUpdatePrompt';
import { ScreenSharePicker } from './components/voice/ScreenSharePicker';
import { useAuthStore } from './stores/authStore';
import { isElectron } from './platform/platform';
@@ -38,6 +39,7 @@ export function App() {
</>}
<div className={showTitleBar ? 'flex-1 min-h-0' : 'contents'}>
<SwAutoUpdate />
<ScreenSharePicker />
<Routes>
<Route
path="/login"