Disable screensharing in safari

This commit is contained in:
Robert Long 2021-10-26 12:48:24 -07:00
parent 12a1c35f80
commit fb5727ddbb

View file

@ -41,6 +41,10 @@ import { ErrorModal } from "./ErrorModal";
import { GroupCallInspector } from "./GroupCallInspector"; import { GroupCallInspector } from "./GroupCallInspector";
const canScreenshare = "getDisplayMedia" in navigator.mediaDevices; const canScreenshare = "getDisplayMedia" in navigator.mediaDevices;
// There is currently a bug in Safari our our code with cloning and sending MediaStreams
// or with getUsermedia and getDisplaymedia being used within the same session.
// For now we can disable screensharing in Safari.
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
function useLoadGroupCall(client, roomId) { function useLoadGroupCall(client, roomId) {
const [state, setState] = useState({ const [state, setState] = useState({
@ -434,7 +438,7 @@ function InRoomView({
onClick={toggleLocalVideoMuted} onClick={toggleLocalVideoMuted}
/> />
</DropdownButton> </DropdownButton>
{canScreenshare && ( {canScreenshare && !isSafari && (
<ScreenshareButton <ScreenshareButton
enabled={isScreensharing} enabled={isScreensharing}
onClick={toggleScreensharing} onClick={toggleScreensharing}