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 && (
+
+ )}