diff --git a/spec/unit/matrixrtc/CallMembership.spec.ts b/spec/unit/matrixrtc/CallMembership.spec.ts index eb4b1232a..4bc5492e0 100644 --- a/spec/unit/matrixrtc/CallMembership.spec.ts +++ b/spec/unit/matrixrtc/CallMembership.spec.ts @@ -85,9 +85,7 @@ describe("CallMembership", () => { it("considers memberships expired when local age large", () => { const fakeEvent = makeMockEvent(1000); - const evAge = 6000; - fakeEvent.getLocalAge = jest.fn().mockReturnValue(evAge); - fakeEvent.localTimestamp = Date.now() - evAge; + fakeEvent.getLocalAge = jest.fn().mockReturnValue(6000); const membership = new CallMembership(fakeEvent, membershipTemplate); expect(membership.isExpired()).toEqual(true); }); diff --git a/spec/unit/matrixrtc/mocks.ts b/spec/unit/matrixrtc/mocks.ts index c373cdf9d..f710c49ab 100644 --- a/spec/unit/matrixrtc/mocks.ts +++ b/spec/unit/matrixrtc/mocks.ts @@ -61,7 +61,7 @@ export function mockRTCEvent( getSender: jest.fn().mockReturnValue("@mock:user.example"), getTs: jest.fn().mockReturnValue(1000), getLocalAge: getLocalAgeFn, - localTimestamp: Date.now() - getLocalAgeFn(), + localTimestamp: Date.now(), getRoomId: jest.fn().mockReturnValue(roomId), sender: { userId: "@mock:user.example", diff --git a/src/matrixrtc/CallMembership.ts b/src/matrixrtc/CallMembership.ts index d24b32add..d304c9df4 100644 --- a/src/matrixrtc/CallMembership.ts +++ b/src/matrixrtc/CallMembership.ts @@ -91,7 +91,7 @@ export class CallMembership { } public isExpired(): boolean { - return this.getMsUntilExpiry() <= 0; + return this.getAbsoluteExpiry() < this.parentEvent.getTs() + this.parentEvent.getLocalAge(); } public getActiveFoci(): Focus[] { diff --git a/src/models/event.ts b/src/models/event.ts index 8768c0cd9..d2044eec9 100644 --- a/src/models/event.ts +++ b/src/models/event.ts @@ -392,7 +392,7 @@ export class MatrixEvent extends TypedEventEmitter