From d5733e82746e91ebedbb4639a39de95ae55e7270 Mon Sep 17 00:00:00 2001 From: Robin Date: Thu, 1 Oct 2026 17:06:51 +0200 Subject: [PATCH] Reset matrix-js-sdk to develop branch, adopt new join/leave signatures --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- .../CallViewModel/localMember/LocalMember.test.ts | 14 +++++++------- src/state/CallViewModel/localMember/LocalMember.ts | 9 +++------ src/utils/test.ts | 4 ++-- 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 05c9312bd..c7642f57a 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,7 @@ "livekit-client": "^2.18.1", "lodash-es": "^4.17.21", "loglevel": "^1.9.1", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#robin/remove-oldest-membership", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-widget-api": "^1.18.0", "node-stdlib-browser": "^1.3.1", "normalize.css": "^8.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a982f7af3..2cd2452c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -191,8 +191,8 @@ importers: specifier: ^1.9.1 version: 1.9.2 matrix-js-sdk: - specifier: github:matrix-org/matrix-js-sdk#robin/remove-oldest-membership - version: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6defa47adae28feb7e3906dde25089e0dce42ece + specifier: github:matrix-org/matrix-js-sdk#develop + version: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/fa4772a4ddd335a5a8bfbf8bb21df49b70f7a999 matrix-widget-api: specifier: ^1.18.0 version: 1.19.0 @@ -4680,8 +4680,8 @@ packages: matrix-events-sdk@0.0.1: resolution: {integrity: sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==} - matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6defa47adae28feb7e3906dde25089e0dce42ece: - resolution: {gitHosted: true, integrity: sha512-jHFmI2C29HJnzs/FIrqdmQD6ytyunyy627onhrxI+xxTGSfYrWhcTUFstNiCAaMt3fc0nNi9aVvLPD3IIglF2A==, tarball: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6defa47adae28feb7e3906dde25089e0dce42ece} + matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/fa4772a4ddd335a5a8bfbf8bb21df49b70f7a999: + resolution: {gitHosted: true, integrity: sha512-qF8++74MX36KS1KEw6Lc8HHXgZ6nHD1oUU4yBZUj5vVPvZTIspk1lOGztkFmizE5vmLAHd5tdadL9Xu1Asy4bA==, tarball: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/fa4772a4ddd335a5a8bfbf8bb21df49b70f7a999} version: 42.3.0 engines: {node: '>=22.0.0'} @@ -10249,7 +10249,7 @@ snapshots: matrix-events-sdk@0.0.1: {} - matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/6defa47adae28feb7e3906dde25089e0dce42ece: + matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/fa4772a4ddd335a5a8bfbf8bb21df49b70f7a999: dependencies: '@babel/runtime': 8.0.0 '@matrix-org/matrix-sdk-crypto-wasm': 18.9.0 diff --git a/src/state/CallViewModel/localMember/LocalMember.test.ts b/src/state/CallViewModel/localMember/LocalMember.test.ts index 8e4217719..282759fdd 100644 --- a/src/state/CallViewModel/localMember/LocalMember.test.ts +++ b/src/state/CallViewModel/localMember/LocalMember.test.ts @@ -138,7 +138,7 @@ describe("enterRTCSession", () => { client: mockedClient, }, memberships: [], - joinRTCSession: vi.fn(), + join: vi.fn(), }) as unknown as MatrixRTCSession; beforeEach(() => @@ -150,7 +150,7 @@ describe("enterRTCSession", () => { it("It joins the correct Session", () => { enterRTCSession(mockedSession, ownMemberMock, transport, options); - expect(mockedSession.joinRTCSession).toHaveBeenLastCalledWith( + expect(mockedSession.join).toHaveBeenLastCalledWith( { deviceId: "DEVICE", memberId: "@alice:example.org:DEVICE", @@ -161,7 +161,7 @@ describe("enterRTCSession", () => { ); }); - it("passes keyRotationParticipantLimit from config to joinRTCSession", () => { + it("passes keyRotationParticipantLimit from config to join", () => { mockConfig({ livekit: { livekit_service_url: "http://my-default-service-url.com" }, matrix_rtc_session: { @@ -174,7 +174,7 @@ describe("enterRTCSession", () => { enterRTCSession(mockedSession, ownMemberMock, transport, options); - expect(mockedSession.joinRTCSession).toHaveBeenLastCalledWith( + expect(mockedSession.join).toHaveBeenLastCalledWith( expect.any(Object), expect.any(Object), expect.objectContaining({ @@ -186,7 +186,7 @@ describe("enterRTCSession", () => { it("uses the specified delayed leave timings", () => { enterRTCSession(mockedSession, ownMemberMock, transport, options); - expect(mockedSession.joinRTCSession).toHaveBeenLastCalledWith( + expect(mockedSession.join).toHaveBeenLastCalledWith( expect.anything(), expect.anything(), expect.objectContaining({ @@ -206,7 +206,7 @@ describe("LocalMembership", () => { }), matrixRTCSession: { updateCallIntent: vi.fn().mockReturnValue(Promise.resolve()), - leaveRoomSession: vi.fn(), + leave: vi.fn(), } as unknown as MatrixRTCSession, muteStates: mockMuteStates(), trackProcessorState$: constant({ @@ -300,7 +300,7 @@ describe("LocalMembership", () => { ...defaultCreateLocalMemberValues, matrixRTCSession: { updateCallIntent: vi.fn().mockImplementation(reject), - leaveRoomSession: vi.fn(), + leave: vi.fn(), }, connectionManager: mockConnectionManager, localTransport$: constant(mockTransport), diff --git a/src/state/CallViewModel/localMember/LocalMember.ts b/src/state/CallViewModel/localMember/LocalMember.ts index 36469e7ad..5af8eb016 100644 --- a/src/state/CallViewModel/localMember/LocalMember.ts +++ b/src/state/CallViewModel/localMember/LocalMember.ts @@ -151,10 +151,7 @@ interface Props { ownMembershipIdentity: CallMembershipIdentityParts; localTransport$: Observable; client: Pick; - matrixRTCSession: Pick< - MatrixRTCSession, - "updateCallIntent" | "leaveRoomSession" - >; + matrixRTCSession: Pick; /** Whether to hide the screen-sharing button. */ hideScreensharing: boolean; /** The application hosting Element Call, to be kept informed of join/leave. */ @@ -682,7 +679,7 @@ export const createLocalMembership$ = ({ return Promise.resolve(async (): Promise => { try { // TODO Update matrixRTCSession to allow udpating the transport without leaving the session! - await matrixRTCSession.leaveRoomSession(1000); + await matrixRTCSession.leave(1000); } catch (e) { logger.error("Error leaving RTC session", e); } @@ -998,7 +995,7 @@ export function enterRTCSession( // Multi-sfu does not need a preferred foci list. just the focus that is actually used. // TODO where/how do we track errors originating from the ongoing rtcSession? - rtcSession.joinRTCSession(ownMembershipIdentity, [transport], { + rtcSession.join(ownMembershipIdentity, [transport], { notificationType, callIntent, manageMediaKeys: encryptMedia, diff --git a/src/utils/test.ts b/src/utils/test.ts index 1c49c0da4..6af9fd8c7 100644 --- a/src/utils/test.ts +++ b/src/utils/test.ts @@ -472,7 +472,7 @@ export class MockRTCSession extends TypedEventEmitter< counters: {}, }; - public leaveRoomSession: ReturnType = vitest + public leave: ReturnType = vitest .fn() .mockResolvedValue(undefined); @@ -531,7 +531,7 @@ export class MockRTCSession extends TypedEventEmitter< if (value !== prev) this.emit(MembershipManagerEvent.ProbablyLeft, value); } - public async joinRTCSession(): Promise { + public async join(): Promise { return Promise.resolve(); } }