Skip to content

Commit 55bfa56

Browse files
committed
feat: add useEnsureRoom in a few more places
1 parent 320c9fb commit 55bfa56

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

packages/react/src/components/controls/StartAudio.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from 'react';
2-
import { useMaybeRoomContext } from '../../context';
2+
import { useEnsureRoom } from '../../context';
33
import { useStartAudio } from '../../hooks';
44
import { Room } from 'livekit-client';
55

@@ -28,9 +28,8 @@ export const StartAudio: (
2828
props: AllowAudioPlaybackProps & React.RefAttributes<HTMLButtonElement>,
2929
) => React.ReactNode = /* @__PURE__ */ React.forwardRef<HTMLButtonElement, AllowAudioPlaybackProps>(
3030
function StartAudio({ label = 'Allow Audio', ...props }: AllowAudioPlaybackProps, ref) {
31-
const room = useMaybeRoomContext();
32-
const roomFallback = React.useMemo(() => props.room ?? room ?? new Room(), []);
33-
const { mergedProps } = useStartAudio({ room: roomFallback, props });
31+
const room = useEnsureRoom(props.room);
32+
const { mergedProps } = useStartAudio({ room, props });
3433

3534
return (
3635
<button ref={ref} {...mergedProps}>

packages/react/src/hooks/useSpeakingParticipants.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { activeSpeakerObserver } from '@livekit/components-core';
22
import * as React from 'react';
3-
import { useMaybeRoomContext } from '../context';
3+
import { useEnsureRoom } from '../context';
44
import { useObservableState } from './internal';
55
import { Room } from 'livekit-client';
66

@@ -14,10 +14,9 @@ import { Room } from 'livekit-client';
1414
* @public
1515
*/
1616
export function useSpeakingParticipants(room?: Room) {
17-
const roomContext = useMaybeRoomContext();
18-
const roomFallback = React.useMemo(() => room ?? roomContext ?? new Room(), [room, roomContext]);
17+
const ensuredRoom = useEnsureRoom(room);
1918

20-
const speakerObserver = React.useMemo(() => activeSpeakerObserver(roomFallback), [roomFallback]);
21-
const activeSpeakers = useObservableState(speakerObserver, roomFallback.activeSpeakers);
19+
const speakerObserver = React.useMemo(() => activeSpeakerObserver(ensuredRoom), [ensuredRoom]);
20+
const activeSpeakers = useObservableState(speakerObserver, ensuredRoom.activeSpeakers);
2221
return activeSpeakers;
2322
}

0 commit comments

Comments
 (0)