Lint: fix all the lint errors

This commit is contained in:
Valere
2025-10-07 16:00:59 +02:00
parent 597e6782a8
commit c3c0516f0d
16 changed files with 206 additions and 97 deletions

View File

@@ -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>,
);

View File

@@ -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);