Lint: fix all the lint errors
This commit is contained in:
@@ -7,7 +7,6 @@ Please see LICENSE in the repository root for full details.
|
||||
|
||||
import { afterEach, beforeEach, expect, it, vi } from "vitest";
|
||||
import { render } from "@testing-library/react";
|
||||
import { type CallMembership } from "matrix-js-sdk/lib/matrixrtc";
|
||||
import {
|
||||
getTrackReferenceId,
|
||||
type TrackReference,
|
||||
@@ -15,11 +14,19 @@ import {
|
||||
import { type RemoteAudioTrack } from "livekit-client";
|
||||
import { type ReactNode } from "react";
|
||||
import { useTracks } from "@livekit/components-react";
|
||||
import { of } from "rxjs";
|
||||
|
||||
import { testAudioContext } from "../useAudioContext.test";
|
||||
import * as MediaDevicesContext from "../MediaDevicesContext";
|
||||
import { LivekitRoomAudioRenderer } from "./MatrixAudioRenderer";
|
||||
import { mockMediaDevices, mockTrack } from "../utils/test";
|
||||
import {
|
||||
mockLivekitRoom,
|
||||
mockMatrixRoomMember,
|
||||
mockMediaDevices,
|
||||
mockRtcMembership,
|
||||
mockTrack
|
||||
} from "../utils/test";
|
||||
|
||||
|
||||
export const TestAudioContextConstructor = vi.fn(() => testAudioContext);
|
||||
|
||||
@@ -52,10 +59,26 @@ const tracks = [mockTrack("test:123")];
|
||||
vi.mocked(useTracks).mockReturnValue(tracks);
|
||||
|
||||
it("should render for member", () => {
|
||||
// TODO this is duplicated test setup in all tests
|
||||
const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC");
|
||||
const carol = mockMatrixRoomMember(localRtcMember);
|
||||
const p = {
|
||||
id: "test:123",
|
||||
participant: undefined,
|
||||
member: carol
|
||||
}
|
||||
const livekitRoom = mockLivekitRoom(
|
||||
{},
|
||||
{
|
||||
remoteParticipants$: of([]),
|
||||
},
|
||||
);
|
||||
const { container, queryAllByTestId } = render(
|
||||
<MediaDevicesProvider value={mockMediaDevices({})}>
|
||||
<LivekitRoomAudioRenderer
|
||||
members={[{ sender: "test", deviceId: "123" }] as CallMembership[]}
|
||||
participants={[p]}
|
||||
livekitRoom={livekitRoom}
|
||||
url={""}
|
||||
/>
|
||||
</MediaDevicesProvider>,
|
||||
);
|
||||
@@ -64,12 +87,29 @@ it("should render for member", () => {
|
||||
});
|
||||
|
||||
it("should not render without member", () => {
|
||||
const memberships = [
|
||||
{ sender: "othermember", deviceId: "123" },
|
||||
] as CallMembership[];
|
||||
// const memberships = [
|
||||
// { sender: "othermember", deviceId: "123" },
|
||||
// ] as CallMembership[];
|
||||
const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC");
|
||||
const carol = mockMatrixRoomMember(localRtcMember);
|
||||
const p = {
|
||||
id: "test:123",
|
||||
participant: undefined,
|
||||
member: carol
|
||||
}
|
||||
const livekitRoom = mockLivekitRoom(
|
||||
{},
|
||||
{
|
||||
remoteParticipants$: of([]),
|
||||
},
|
||||
);
|
||||
const { container, queryAllByTestId } = render(
|
||||
<MediaDevicesProvider value={mockMediaDevices({})}>
|
||||
<LivekitRoomAudioRenderer members={memberships} />
|
||||
<LivekitRoomAudioRenderer
|
||||
participants={[p]}
|
||||
livekitRoom={livekitRoom}
|
||||
url={""}
|
||||
/>
|
||||
</MediaDevicesProvider>,
|
||||
);
|
||||
expect(container).toBeTruthy();
|
||||
@@ -77,10 +117,25 @@ it("should not render without member", () => {
|
||||
});
|
||||
|
||||
it("should not setup audioContext gain and pan if there is no need to.", () => {
|
||||
const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC");
|
||||
const carol = mockMatrixRoomMember(localRtcMember);
|
||||
const p = {
|
||||
id: "test:123",
|
||||
participant: undefined,
|
||||
member: carol
|
||||
}
|
||||
const livekitRoom = mockLivekitRoom(
|
||||
{},
|
||||
{
|
||||
remoteParticipants$: of([]),
|
||||
},
|
||||
);
|
||||
render(
|
||||
<MediaDevicesProvider value={mockMediaDevices({})}>
|
||||
<LivekitRoomAudioRenderer
|
||||
members={[{ sender: "test", deviceId: "123" }] as CallMembership[]}
|
||||
participants={[p]}
|
||||
livekitRoom={livekitRoom}
|
||||
url={""}
|
||||
/>
|
||||
</MediaDevicesProvider>,
|
||||
);
|
||||
@@ -100,11 +155,25 @@ it("should setup audioContext gain and pan", () => {
|
||||
pan: 1,
|
||||
volume: 0.1,
|
||||
});
|
||||
const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC");
|
||||
const carol = mockMatrixRoomMember(localRtcMember);
|
||||
const p = {
|
||||
id: "test:123",
|
||||
participant: undefined,
|
||||
member: carol
|
||||
}
|
||||
const livekitRoom = mockLivekitRoom(
|
||||
{},
|
||||
{
|
||||
remoteParticipants$: of([]),
|
||||
},
|
||||
);
|
||||
render(
|
||||
<MediaDevicesProvider value={mockMediaDevices({})}>
|
||||
<LivekitRoomAudioRenderer
|
||||
members={[{ sender: "test", deviceId: "123" }] as CallMembership[]}
|
||||
/>
|
||||
participants={[p]}
|
||||
url={""}
|
||||
livekitRoom={livekitRoom} />
|
||||
</MediaDevicesProvider>,
|
||||
);
|
||||
|
||||
|
||||
@@ -33,7 +33,9 @@ export interface MatrixAudioRendererProps {
|
||||
* that are not expected to be in the rtc session.
|
||||
*/
|
||||
participants: {
|
||||
participant: Participant;
|
||||
id: string;
|
||||
// TODO it appears to be optional as per InCallView? but what does that mean here? a rtc member not yet joined in livekit?
|
||||
participant: Participant | undefined;
|
||||
member: RoomMember;
|
||||
}[];
|
||||
/**
|
||||
@@ -82,7 +84,7 @@ export function LivekitRoomAudioRenderer({
|
||||
if (loggedInvalidIdentities.current.has(identity)) return;
|
||||
logger.warn(
|
||||
`[MatrixAudioRenderer] Audio track ${identity} from ${url} has no matching matrix call member`,
|
||||
`current members: ${participants.map((p) => p.participant.identity)}`,
|
||||
`current members: ${participants.map((p) => p.participant?.identity)}`,
|
||||
`track will not get rendered`,
|
||||
);
|
||||
loggedInvalidIdentities.current.add(identity);
|
||||
|
||||
Reference in New Issue
Block a user