From e46be38869ac8d8b2ad33d3748f6693391329178 Mon Sep 17 00:00:00 2001 From: Timo K Date: Wed, 15 Apr 2026 14:03:49 +0200 Subject: [PATCH 1/3] Make mediaDevices less confusing --- src/room/InCallView.test.tsx | 9 +++++++-- src/state/CallViewModel/CallViewModel.ts | 1 - src/utils/test-viewmodel.ts | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/room/InCallView.test.tsx b/src/room/InCallView.test.tsx index f3f4e095..81554183 100644 --- a/src/room/InCallView.test.tsx +++ b/src/room/InCallView.test.tsx @@ -101,6 +101,7 @@ interface CreateInCallViewArgs { function createInCallView(args: CreateInCallViewArgs = {}): RenderResult & { rtcSession: MockRTCSession; } { + const mediaDevices = args.mediaDevices ?? mockMediaDevices({}); const muteState = mockMuteStates(); const livekitRoom = mockLivekitRoom( { @@ -113,7 +114,11 @@ function createInCallView(args: CreateInCallViewArgs = {}): RenderResult & { const { vm, rtcSession } = getBasicCallViewModelEnvironment( [local, alice], undefined, - { mediaDeviceOverride: args.mediaDevices }, + mediaDevices, + { + toggleScreensharing: () => {}, + ...args.callViewModelOptions, + }, ); rtcSession.joined = true; @@ -121,7 +126,7 @@ function createInCallView(args: CreateInCallViewArgs = {}): RenderResult & { const client = room.client; const renderResult = render( - + ; /** The version & compatibility mode of MatrixRTC that we should use. */ matrixRTCMode$?: Behavior; - mediaDeviceOverride?: MediaDevices; } // Do not play any sounds if the participant count has exceeded this diff --git a/src/utils/test-viewmodel.ts b/src/utils/test-viewmodel.ts index 6d77a802..b5438371 100644 --- a/src/utils/test-viewmodel.ts +++ b/src/utils/test-viewmodel.ts @@ -34,6 +34,7 @@ import { MockRTCSession, testScope, } from "./test"; +import { type MediaDevices } from "../state/MediaDevices"; import { aliceRtcMember, localRtcMember } from "./test-fixtures"; import { type RaisedHandInfo, type ReactionInfo } from "../reactions"; import { constant } from "../state/Behavior"; @@ -131,6 +132,7 @@ export function getBasicRTCSession( export function getBasicCallViewModelEnvironment( members: RoomMember[], initialRtcMemberships: CallMembership[] = [localRtcMember, aliceRtcMember], + mediaDevicesOverride?: MediaDevices, callViewModelOptions: Partial = {}, ): { vm: CallViewModel; @@ -146,13 +148,11 @@ export function getBasicCallViewModelEnvironment( const handRaisedSubject$ = new BehaviorSubject({}); const reactionsSubject$ = new BehaviorSubject({}); - // const remoteParticipants$ = of([aliceParticipant]); - const vm = createCallViewModel$( testScope(), rtcSession.asMockedSession(), matrixRoom, - callViewModelOptions.mediaDeviceOverride ?? mockMediaDevices({}), + mediaDevicesOverride ?? mockMediaDevices({}), mockMuteStates(), { encryptionSystem: { kind: E2eeType.PER_PARTICIPANT }, From 75fb89a98abfeb8fe974715f6cf3e994a515e2cb Mon Sep 17 00:00:00 2001 From: Timo K Date: Wed, 15 Apr 2026 14:20:19 +0200 Subject: [PATCH 2/3] review: update styles + aria hidden --- src/AppBar.tsx | 4 ++-- src/button/Button.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/AppBar.tsx b/src/AppBar.tsx index aaa7565e..86d150ee 100644 --- a/src/AppBar.tsx +++ b/src/AppBar.tsx @@ -68,8 +68,8 @@ export const AppBar: FC = ({ children }) => { > - - + + diff --git a/src/button/Button.tsx b/src/button/Button.tsx index 5dfa25b8..11834506 100644 --- a/src/button/Button.tsx +++ b/src/button/Button.tsx @@ -140,7 +140,7 @@ export const SettingsIconButton: FC = (props) => { return ( - + ); From f07bf5c520c9d05a748fb8a1a56160f5398f1284 Mon Sep 17 00:00:00 2001 From: Timo K Date: Wed, 15 Apr 2026 14:26:25 +0200 Subject: [PATCH 3/3] fix lint --- src/room/CallEventAudioRenderer.test.tsx | 1 + src/room/InCallView.test.tsx | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/room/CallEventAudioRenderer.test.tsx b/src/room/CallEventAudioRenderer.test.tsx index 5d3eff5e..9ab64dfd 100644 --- a/src/room/CallEventAudioRenderer.test.tsx +++ b/src/room/CallEventAudioRenderer.test.tsx @@ -123,6 +123,7 @@ test("does not play a sound before the call is successful", () => { const { vm, rtcMemberships$ } = getBasicCallViewModelEnvironment( [local, alice], [localRtcMember], + undefined, { waitForCallPickup: true }, ); render(); diff --git a/src/room/InCallView.test.tsx b/src/room/InCallView.test.tsx index 81554183..5ee8e288 100644 --- a/src/room/InCallView.test.tsx +++ b/src/room/InCallView.test.tsx @@ -115,10 +115,7 @@ function createInCallView(args: CreateInCallViewArgs = {}): RenderResult & { [local, alice], undefined, mediaDevices, - { - toggleScreensharing: () => {}, - ...args.callViewModelOptions, - }, + {}, ); rtcSession.joined = true;