From 3a446a192104d5c56eaab94947b7c335c6b5eab0 Mon Sep 17 00:00:00 2001 From: Evie Gauthier Date: Mon, 16 Mar 2026 15:02:08 -0400 Subject: [PATCH 1/2] fix(call): respect user camera/mic preferences when starting call from room header RoomCallButton was calling startCall(room) without passing preferences, which caused Element Call to use its own defaults (camera on) instead of the user's saved settings. Now reads preferences via useCallPreferences() and passes them to startCall(), matching the behavior of PrescreenControls. Fixes #285 --- src/app/features/room/RoomCallButton.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/features/room/RoomCallButton.tsx b/src/app/features/room/RoomCallButton.tsx index 379842eb0..ad3c7916d 100644 --- a/src/app/features/room/RoomCallButton.tsx +++ b/src/app/features/room/RoomCallButton.tsx @@ -4,6 +4,7 @@ import { Room } from '$types/matrix-sdk'; import { useCallStart, useCallJoined } from '$hooks/useCallEmbed'; import { callEmbedAtom } from '$state/callEmbed'; import { useMatrixClient } from '$hooks/useMatrixClient'; +import { useCallPreferences } from '$state/hooks/callPreferences'; interface RoomCallButtonProps { room: Room; @@ -14,13 +15,14 @@ export function RoomCallButton({ room }: RoomCallButtonProps) { const callEmbed = useAtomValue(callEmbedAtom); const joined = useCallJoined(callEmbed); const mx = useMatrixClient(); + const { microphone, video, sound } = useCallPreferences(); const isJoinedInThisRoom = joined && callEmbed?.roomId === room.roomId; if (isJoinedInThisRoom) return null; const handleStartCall = async () => { - startCall(room); + startCall(room, { microphone, video, sound }); try { const now = Date.now(); // TODO not use as any one day someday i swear From cd1f7efc7c6f800dc99bd11488ddbfa12c53e966 Mon Sep 17 00:00:00 2001 From: Evie Gauthier Date: Mon, 16 Mar 2026 15:28:24 -0400 Subject: [PATCH 2/2] chore: add changeset --- .changeset/fix-call-camera-default.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-call-camera-default.md diff --git a/.changeset/fix-call-camera-default.md b/.changeset/fix-call-camera-default.md new file mode 100644 index 000000000..a1a93ccd6 --- /dev/null +++ b/.changeset/fix-call-camera-default.md @@ -0,0 +1,5 @@ +--- +default: patch +--- + +Fix camera turning on by default when starting a call from the room header button