🐛(frontend) prevent displaying audio output selector to Safari users

Hide audio output selector component for Safari browsers due to lack
of native support for audio output device selection APIs. This
prevents user confusion and improves browser compatibility.
This commit is contained in:
lebaudantoine
2025-09-15 17:51:14 +02:00
committed by aleb_the_flash
parent 8aa035ae00
commit 2a85f45e69

View File

@@ -15,6 +15,7 @@ import { SettingsButton } from './SettingsButton'
import { SettingsDialogExtendedKey } from '@/features/settings/type' import { SettingsDialogExtendedKey } from '@/features/settings/type'
import { TrackSource } from '@livekit/protocol' import { TrackSource } from '@livekit/protocol'
import Source = Track.Source import Source = Track.Source
import { isSafari } from '@/utils/livekit'
type AudioDevicesControlProps = Omit< type AudioDevicesControlProps = Omit<
UseTrackToggleProps<Source.Microphone>, UseTrackToggleProps<Source.Microphone>,
@@ -111,19 +112,21 @@ export const AudioDevicesControl = ({
onSubmit={saveAudioInputDeviceId} onSubmit={saveAudioInputDeviceId}
/> />
</div> </div>
<div {!isSafari() && (
style={{ <div
flex: '1 1 0', style={{
minWidth: 0, flex: '1 1 0',
}} minWidth: 0,
> }}
<SelectDevice >
context="room" <SelectDevice
kind="audiooutput" context="room"
id={audioOutputDeviceId} kind="audiooutput"
onSubmit={saveAudioOutputDeviceId} id={audioOutputDeviceId}
/> onSubmit={saveAudioOutputDeviceId}
</div> />
</div>
)}
<SettingsButton <SettingsButton
settingTab={SettingsDialogExtendedKey.AUDIO} settingTab={SettingsDialogExtendedKey.AUDIO}
onPress={close} onPress={close}