Shared system-audio (loopback) controls for both the desktop tray and the web
main window (when running inside Electron). Owns the toggle state, the macOS
"Screen & System Audio Recording" permission status, and the loopback backend
(Core Audio Tap vs. legacy ScreenCaptureKit "compatibility mode"), all via the
preload-exposed window.electronAPI. It builds a capture strategy that mixes
the mic with the system-audio loopback.
Electron is detected after mount (so SSR / first render matches and the toggle
is client-only). Outside Electron the hook is inert: systemAudio is
undefined and the strategy is the mic-only default.
Shared system-audio (loopback) controls for both the desktop tray and the web main window (when running inside Electron). Owns the toggle state, the macOS "Screen & System Audio Recording" permission status, and the loopback backend (Core Audio Tap vs. legacy ScreenCaptureKit "compatibility mode"), all via the preload-exposed
window.electronAPI. It builds a capture strategy that mixes the mic with the system-audio loopback.Electron is detected after mount (so SSR / first render matches and the toggle is client-only). Outside Electron the hook is inert:
systemAudioisundefinedand the strategy is the mic-only default.