From 2f565fb8e31fccf2b21ad31405e903cdc18df788 Mon Sep 17 00:00:00 2001 From: Timo K Date: Fri, 13 Jun 2025 13:03:25 +0200 Subject: [PATCH] maybe helpful logging Signed-off-by: Timo K --- src/controls.ts | 8 ++++++++ src/livekit/MediaDevicesContext.tsx | 4 ++++ src/livekit/useLivekit.ts | 3 +-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/controls.ts b/src/controls.ts index 4592445c..5fb38841 100644 --- a/src/controls.ts +++ b/src/controls.ts @@ -6,6 +6,9 @@ Please see LICENSE in the repository root for full details. */ import { BehaviorSubject, Subject } from "rxjs"; +import { logger as rootLogger } from "matrix-js-sdk/lib/logger"; + +const logger = rootLogger.getChild("[controlled-media]"); export interface Controls { canEnterPip(): boolean; @@ -79,12 +82,17 @@ window.controls = { setPipEnabled$.next(false); }, setAvailableAudioDevices(devices: OutputDevice[]): void { + logger.info("setAvailableAudioDevices called from native:", devices); + controlledAvailableOutputDevices$.next(devices); }, setAudioDevice(id: string): void { + logger.info("setAudioDevice called from native", id); controlledAudioDevice$.next(id); }, setAudioEnabled(enabled: boolean): void { + logger.info("setAudioEnabled called from native:", enabled); + if (!setAudioEnabled$.observed) throw new Error( "Output controls are disabled. No setAudioEnabled$ observer", diff --git a/src/livekit/MediaDevicesContext.tsx b/src/livekit/MediaDevicesContext.tsx index 3f2ca196..ba454d6e 100644 --- a/src/livekit/MediaDevicesContext.tsx +++ b/src/livekit/MediaDevicesContext.tsx @@ -385,6 +385,10 @@ function useControlledOutput(): MediaDeviceHandle { // selected - for example, Element X iOS listens to this to determine whether it // should enable the proximity sensor. if (preferredId) { + logger.info( + "[controlled-media] setAudioDeviceSelect called:", + preferredId, + ); window.controls.onAudioDeviceSelect?.(preferredId); // Call deprecated method for backwards compatibility. window.controls.onOutputDeviceSelect?.(preferredId); diff --git a/src/livekit/useLivekit.ts b/src/livekit/useLivekit.ts index aebcf61b..94831e91 100644 --- a/src/livekit/useLivekit.ts +++ b/src/livekit/useLivekit.ts @@ -73,8 +73,6 @@ export function useLivekit( // Only ever create the room once via useInitial. const room = useInitial(() => { - logger.info("[LivekitRoom] Create LiveKit room"); - let e2ee: E2EEManagerOptions | undefined; if (e2eeSystem.kind === E2eeType.PER_PARTICIPANT) { logger.info("Created MatrixKeyProvider (per participant)"); @@ -110,6 +108,7 @@ export function useLivekit( }, e2ee, }; + logger.info("[LivekitRoom] Create LiveKit room with options", roomOptions); // We have to create the room manually here due to a bug inside // @livekit/components-react. JSON.stringify() is used in deps of a // useEffect() with an argument that references itself, if E2EE is enabled