fix a few things

This commit is contained in:
Half-Shot
2024-12-06 16:43:39 +00:00
parent cd939d7827
commit 13558db1e2
3 changed files with 39 additions and 5 deletions

View File

@@ -23,6 +23,7 @@ import {
CallMembership, CallMembership,
type MatrixRTCSession, type MatrixRTCSession,
} from "matrix-js-sdk/src/matrixrtc"; } from "matrix-js-sdk/src/matrixrtc";
import { RoomMember } from "matrix-js-sdk/src/matrix";
import { import {
mockLivekitRoom, mockLivekitRoom,
@@ -41,7 +42,6 @@ import {
} from "./CallEventAudioRenderer"; } from "./CallEventAudioRenderer";
import { prefetchSounds, useAudioContext } from "../useAudioContext"; import { prefetchSounds, useAudioContext } from "../useAudioContext";
import { TestReactionsWrapper } from "../utils/testReactions"; import { TestReactionsWrapper } from "../utils/testReactions";
import { RoomMember } from "matrix-js-sdk/src/matrix";
const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC"); const localRtcMember = mockRtcMembership("@carol:example.org", "CCCC");
const local = mockMatrixRoomMember(localRtcMember); const local = mockMatrixRoomMember(localRtcMember);

View File

@@ -27,9 +27,7 @@ import {
RemoteParticipant, RemoteParticipant,
RemoteTrackPublication, RemoteTrackPublication,
Room as LivekitRoom, Room as LivekitRoom,
RoomEvent,
} from "livekit-client"; } from "livekit-client";
import { EventEmitter } from "stream";
import { import {
LocalUserMediaViewModel, LocalUserMediaViewModel,

View File

@@ -16,7 +16,10 @@ import {
EventTimelineSet, EventTimelineSet,
Room, Room,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { MatrixRTCSession } from "matrix-js-sdk/src/matrixrtc"; import {
MatrixRTCSession,
MatrixRTCSessionEvent,
} from "matrix-js-sdk/src/matrixrtc";
import { ReactionsProvider } from "../useReactions"; import { ReactionsProvider } from "../useReactions";
import { import {
@@ -24,7 +27,6 @@ import {
ElementCallReactionEventType, ElementCallReactionEventType,
ReactionOption, ReactionOption,
} from "../reactions"; } from "../reactions";
import { MockRTCSession } from "./test";
export const TestReactionsWrapper = ({ export const TestReactionsWrapper = ({
rtcSession, rtcSession,
@@ -39,6 +41,40 @@ export const TestReactionsWrapper = ({
); );
}; };
export class MockRTCSession extends EventEmitter {
public memberships: {
sender: string;
eventId: string;
createdTs: () => Date;
}[];
public constructor(
public readonly room: MockRoom,
membership: Record<string, string>,
) {
super();
this.memberships = Object.entries(membership).map(([eventId, sender]) => ({
sender,
eventId,
createdTs: (): Date => new Date(),
}));
}
public testRemoveMember(userId: string): void {
this.memberships = this.memberships.filter((u) => u.sender !== userId);
this.emit(MatrixRTCSessionEvent.MembershipsChanged);
}
public testAddMember(sender: string): void {
this.memberships.push({
sender,
eventId: `!fake-${randomUUID()}:event`,
createdTs: (): Date => new Date(),
});
this.emit(MatrixRTCSessionEvent.MembershipsChanged);
}
}
export function createHandRaisedReaction( export function createHandRaisedReaction(
parentMemberEvent: string, parentMemberEvent: string,
membershipOrOverridenSender: Record<string, string> | string, membershipOrOverridenSender: Record<string, string> | string,