Skip to content

Commit b239510

Browse files
committed
remove code we do not need yet.
1 parent cc0cc63 commit b239510

2 files changed

Lines changed: 72 additions & 183 deletions

File tree

spec/unit/matrixrtc/MatrixRTCSession.spec.ts

Lines changed: 72 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ limitations under the License.
1616

1717
import { encodeBase64, EventType, MatrixClient, MatrixError, MatrixEvent, Room } from "../../../src";
1818
import { KnownMembership } from "../../../src/@types/membership";
19-
import { SessionMembershipData } from "../../../src/matrixrtc/CallMembership";
19+
import { DEFAULT_EXPIRE_DURATION, SessionMembershipData } from "../../../src/matrixrtc/CallMembership";
2020
import { MatrixRTCSession, MatrixRTCSessionEvent } from "../../../src/matrixrtc/MatrixRTCSession";
2121
import { EncryptionKeysEventContent } from "../../../src/matrixrtc/types";
2222
import { randomString } from "../../../src/randomstring";
23-
import { makeMockRoom, makeMockRoomState, membershipTemplate, mockRTCEvent } from "./mocks";
23+
import { makeMockRoom, makeMockRoomState, membershipTemplate } from "./mocks";
2424

2525
const mockFocus = { type: "mock" };
2626

@@ -548,76 +548,76 @@ describe("MatrixRTCSession", () => {
548548
});
549549
});
550550

551-
it("renews membership event before expiry time", async () => {
552-
return "TODO add back the renew method since we also want this for non-legacy events.";
553-
const activeFocus = { type: "livekit", focus_selection: "oldest_membership" };
554-
555-
jest.useFakeTimers();
556-
let resolveFn: ((_roomId: string, _type: string, val: Record<string, any>) => void) | undefined;
557-
558-
const eventSentPromise = new Promise<Record<string, any>>((r) => {
559-
resolveFn = (_roomId: string, _type: string, val: Record<string, any>) => {
560-
r(val);
561-
};
562-
});
563-
try {
564-
const sendStateEventMock = jest.fn().mockImplementation(resolveFn);
565-
client.sendStateEvent = sendStateEventMock;
566-
567-
sess!.joinRoomSession([mockFocus], mockFocus, { membershipExpiryTimeout: 60 * 60 * 1000 });
568-
569-
const eventContent = await eventSentPromise;
570-
571-
jest.setSystemTime(1000);
572-
const event = mockRTCEvent(eventContent.memberships, mockRoom.roomId);
573-
const getState = mockRoom.getLiveTimeline().getState(EventTimeline.FORWARDS)!;
574-
getState.getStateEvents = jest.fn().mockReturnValue(event);
575-
getState.events = new Map([
576-
[
577-
event.getType(),
578-
{
579-
size: () => true,
580-
has: (_stateKey: string) => true,
581-
get: (_stateKey: string) => event,
582-
values: () => [event],
583-
} as unknown as Map<string, MatrixEvent>,
584-
],
585-
]);
586-
587-
const eventReSentPromise = new Promise<Record<string, any>>((r) => {
588-
resolveFn = (_roomId: string, _type: string, val: Record<string, any>) => {
589-
r(val);
590-
};
591-
});
592-
593-
sendStateEventMock.mockReset().mockImplementation(resolveFn);
594-
595-
// definitely should have renewed by 1 second before the expiry!
596-
const timeElapsed = 60 * 60 * 1000 - 1000;
597-
jest.setSystemTime(Date.now() + timeElapsed);
598-
jest.advanceTimersByTime(timeElapsed);
599-
await eventReSentPromise;
600-
601-
expect(sendStateEventMock).toHaveBeenCalledWith(
602-
mockRoom.roomId,
603-
EventType.GroupCallMemberPrefix,
604-
{
605-
application: "m.call",
606-
scope: "m.room",
607-
call_id: "",
608-
device_id: "AAAAAAA",
609-
expires: 3600000 * 2,
610-
foci_preferred: [mockFocus],
611-
focus_active: activeFocus,
612-
created_ts: 1000,
613-
membershipID: expect.stringMatching(".*"),
614-
},
615-
"_@alice:example.org_AAAAAAA",
616-
);
617-
} finally {
618-
jest.useRealTimers();
619-
}
620-
});
551+
it("renews membership event before expiry time", async () => {
552+
return "TODO add back the renew method since we also want this for non-legacy events.";
553+
// const activeFocus = { type: "livekit", focus_selection: "oldest_membership" };
554+
555+
// jest.useFakeTimers();
556+
// let resolveFn: ((_roomId: string, _type: string, val: Record<string, any>) => void) | undefined;
557+
558+
// const eventSentPromise = new Promise<Record<string, any>>((r) => {
559+
// resolveFn = (_roomId: string, _type: string, val: Record<string, any>) => {
560+
// r(val);
561+
// };
562+
// });
563+
// try {
564+
// const sendStateEventMock = jest.fn().mockImplementation(resolveFn);
565+
// client.sendStateEvent = sendStateEventMock;
566+
567+
// sess!.joinRoomSession([mockFocus], mockFocus, { membershipExpiryTimeout: 60 * 60 * 1000 });
568+
569+
// const eventContent = await eventSentPromise;
570+
571+
// jest.setSystemTime(1000);
572+
// const event = mockRTCEvent(eventContent.memberships, mockRoom.roomId);
573+
// const getState = mockRoom.getLiveTimeline().getState(EventTimeline.FORWARDS)!;
574+
// getState.getStateEvents = jest.fn().mockReturnValue(event);
575+
// getState.events = new Map([
576+
// [
577+
// event.getType(),
578+
// {
579+
// size: () => true,
580+
// has: (_stateKey: string) => true,
581+
// get: (_stateKey: string) => event,
582+
// values: () => [event],
583+
// } as unknown as Map<string, MatrixEvent>,
584+
// ],
585+
// ]);
586+
587+
// const eventReSentPromise = new Promise<Record<string, any>>((r) => {
588+
// resolveFn = (_roomId: string, _type: string, val: Record<string, any>) => {
589+
// r(val);
590+
// };
591+
// });
592+
593+
// sendStateEventMock.mockReset().mockImplementation(resolveFn);
594+
595+
// // definitely should have renewed by 1 second before the expiry!
596+
// const timeElapsed = 60 * 60 * 1000 - 1000;
597+
// jest.setSystemTime(Date.now() + timeElapsed);
598+
// jest.advanceTimersByTime(timeElapsed);
599+
// await eventReSentPromise;
600+
601+
// expect(sendStateEventMock).toHaveBeenCalledWith(
602+
// mockRoom.roomId,
603+
// EventType.GroupCallMemberPrefix,
604+
// {
605+
// application: "m.call",
606+
// scope: "m.room",
607+
// call_id: "",
608+
// device_id: "AAAAAAA",
609+
// expires: 3600000 * 2,
610+
// foci_preferred: [mockFocus],
611+
// focus_active: activeFocus,
612+
// created_ts: 1000,
613+
// membershipID: expect.stringMatching(".*"),
614+
// },
615+
// "_@alice:example.org_AAAAAAA",
616+
// );
617+
// } finally {
618+
// jest.useRealTimers();
619+
// }
620+
// });
621621
});
622622

623623
describe("onMembershipsChanged", () => {
@@ -951,92 +951,6 @@ describe("MatrixRTCSession", () => {
951951
}
952952
});
953953

954-
it("re-sends key if a member changes membership ID", async () => {
955-
return "membershipID is not a thing anymore";
956-
/*
957-
jest.useFakeTimers();
958-
try {
959-
const keysSentPromise1 = new Promise((resolve) => {
960-
sendEventMock.mockImplementation(resolve);
961-
});
962-
963-
const member1 = membershipTemplate;
964-
const member2 = {
965-
...membershipTemplate,
966-
device_id: "BBBBBBB",
967-
};
968-
969-
const mockRoom = makeMockRoom([member1, member2]);
970-
mockRoom.getLiveTimeline().getState = jest
971-
.fn()
972-
.mockReturnValue(makeMockRoomState([member1, member2], mockRoom.roomId));
973-
974-
sess = MatrixRTCSession.roomSessionForRoom(client, mockRoom);
975-
sess.joinRoomSession([mockFocus], mockFocus, { manageMediaKeys: true });
976-
977-
await keysSentPromise1;
978-
979-
// make sure an encryption key was sent
980-
expect(sendEventMock).toHaveBeenCalledWith(
981-
expect.stringMatching(".*"),
982-
"io.element.call.encryption_keys",
983-
{
984-
call_id: "",
985-
device_id: "AAAAAAA",
986-
keys: [
987-
{
988-
index: 0,
989-
key: expect.stringMatching(".*"),
990-
},
991-
],
992-
sent_ts: Date.now(),
993-
},
994-
);
995-
expect(sess!.statistics.counters.roomEventEncryptionKeysSent).toEqual(1);
996-
997-
sendEventMock.mockClear();
998-
999-
// this should be a no-op:
1000-
sess.onMembershipUpdate();
1001-
expect(sendEventMock).toHaveBeenCalledTimes(0);
1002-
1003-
// advance time to avoid key throttling
1004-
jest.advanceTimersByTime(10000);
1005-
1006-
// update membership ID
1007-
member2.membershipID = "newID";
1008-
1009-
const keysSentPromise2 = new Promise((resolve) => {
1010-
sendEventMock.mockImplementation(resolve);
1011-
});
1012-
1013-
// this should re-send the key
1014-
sess.onMembershipUpdate();
1015-
1016-
await keysSentPromise2;
1017-
1018-
expect(sendEventMock).toHaveBeenCalledWith(
1019-
expect.stringMatching(".*"),
1020-
"io.element.call.encryption_keys",
1021-
{
1022-
call_id: "",
1023-
device_id: "AAAAAAA",
1024-
keys: [
1025-
{
1026-
index: 0,
1027-
key: expect.stringMatching(".*"),
1028-
},
1029-
],
1030-
sent_ts: Date.now(),
1031-
},
1032-
);
1033-
expect(sess!.statistics.counters.roomEventEncryptionKeysSent).toEqual(2);
1034-
} finally {
1035-
jest.useRealTimers();
1036-
}
1037-
*/
1038-
});
1039-
1040954
it("re-sends key if a member changes created_ts", async () => {
1041955
jest.useFakeTimers();
1042956
jest.setSystemTime(1000);

src/matrixrtc/MatrixRTCSession.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -911,31 +911,6 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
911911
};
912912
}
913913

914-
/**
915-
* Returns true if our membership event needs to be updated
916-
*/
917-
// private membershipEventNeedsUpdate(
918-
// myPrevMembershipData?: SessionMembershipData,
919-
// myPrevMembership?: CallMembership,
920-
// ): boolean {
921-
// if (myPrevMembership && myPrevMembership.getMsUntilExpiry() === undefined) return false;
922-
923-
// // Need to update if there's a membership for us but we're not joined (valid or otherwise)
924-
// if (!this.isJoined()) return !!myPrevMembershipData;
925-
926-
// // ...or if we are joined, but there's no valid membership event
927-
// if (!myPrevMembership) return true;
928-
929-
// const expiryTime = myPrevMembership.getMsUntilExpiry();
930-
// if (expiryTime !== undefined && expiryTime < this.membershipExpiryTimeout / 2) {
931-
// // ...or if the expiry time needs bumping
932-
// this.relativeExpiry! += this.membershipExpiryTimeout;
933-
// return true;
934-
// }
935-
936-
// return false;
937-
// }
938-
939914
private makeNewMembership(deviceId: string): SessionMembershipData | {} {
940915
// If we're joined, add our own
941916
if (this.isJoined()) {

0 commit comments

Comments
 (0)