diff --git a/src/app/components/CallEmbedProvider.tsx b/src/app/components/CallEmbedProvider.tsx index 6c8e6520e..49362b1de 100644 --- a/src/app/components/CallEmbedProvider.tsx +++ b/src/app/components/CallEmbedProvider.tsx @@ -117,6 +117,10 @@ function IncomingCall({ dm, info, onIgnore, onAnswer, onReject }: IncomingCallPr const rtcSupported = webRTCSupported(); const canAnswer = livekitSupported && rtcSupported; const { room } = info; + // [Gitea #135] Answer follows cameraOnJoin: say so, and offer the audio-only + // alternative, rather than putting the user on video without warning. + const [cameraOnJoinPref] = useSetting(settingsAtom, 'cameraOnJoin'); + const willAnswerWithCamera = info.intent === 'video' && !!cameraOnJoinPref; const [ringtoneVolume] = useSetting(settingsAtom, 'ringtoneVolume'); const [ringtoneId] = useSetting(settingsAtom, 'ringtoneId'); @@ -222,6 +226,11 @@ function IncomingCall({ dm, info, onIgnore, onAnswer, onReject }: IncomingCallPr )} + {willAnswerWithCamera && ( + + Answering turns your camera on. + + )} + {willAnswerWithCamera && ( + + )} + {bannerCameraOn && ( + + )}