From 5627f95d98c4771a16d9e5c6684ab9d41621a77a Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Wed, 29 Jan 2025 11:55:43 +0100 Subject: [PATCH 1/2] feat(legacy crypto!): remove legacy crypto usage in `event.ts` --- src/models/event.ts | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/src/models/event.ts b/src/models/event.ts index 6aea68d5e4..99c1dcafb4 100644 --- a/src/models/event.ts +++ b/src/models/event.ts @@ -23,7 +23,6 @@ import { ExtensibleEvent, ExtensibleEvents, Optional } from "matrix-events-sdk"; import type { IEventDecryptionResult } from "../@types/crypto.ts"; import { logger } from "../logger.ts"; -import { VerificationRequest } from "../crypto/verification/request/VerificationRequest.ts"; import { EVENT_VISIBILITY_CHANGE_TYPE, EventType, @@ -33,7 +32,6 @@ import { UNSIGNED_THREAD_ID_FIELD, UNSIGNED_MEMBERSHIP_FIELD, } from "../@types/event.ts"; -import { Crypto } from "../crypto/index.ts"; import { deepSortedObjectEntries, internaliseString } from "../utils.ts"; import { RoomMember } from "./room-member.ts"; import { Thread, THREAD_RELATION_TYPE, ThreadEvent, ThreadEventHandlerMap } from "./thread.ts"; @@ -406,12 +404,6 @@ export class MatrixEvent extends TypedEventEmitter; /** @@ -889,28 +881,6 @@ export class MatrixEvent extends TypedEventEmitter { - const wireContent = this.getWireContent(); - return crypto.requestRoomKey( - { - algorithm: wireContent.algorithm, - room_id: this.getRoomId()!, - session_id: wireContent.session_id, - sender_key: wireContent.sender_key, - }, - this.getKeyRequestRecipients(userId), - true, - ); - } - /** * Calculate the recipients for keyshare requests. * @@ -1720,10 +1690,6 @@ export class MatrixEvent extends TypedEventEmitter Date: Wed, 29 Jan 2025 12:08:44 +0100 Subject: [PATCH 2/2] test(legacy crypto): update event.spec.ts to not use legacy crypto types --- spec/unit/models/event.spec.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/spec/unit/models/event.spec.ts b/spec/unit/models/event.spec.ts index 0234eab3e0..2ed9126727 100644 --- a/spec/unit/models/event.spec.ts +++ b/spec/unit/models/event.spec.ts @@ -18,7 +18,6 @@ import { MockedObject } from "jest-mock"; import { MatrixEvent, MatrixEventEvent } from "../../../src/models/event"; import { emitPromise } from "../../test-utils/test-utils"; -import { Crypto, IEventDecryptionResult } from "../../../src/crypto"; import { IAnnotatedPushRule, MatrixClient, @@ -28,7 +27,7 @@ import { TweakName, } from "../../../src"; import { DecryptionFailureCode } from "../../../src/crypto-api"; -import { DecryptionError } from "../../../src/common-crypto/CryptoBackend"; +import { CryptoBackend, DecryptionError, EventDecryptionResult } from "../../../src/common-crypto/CryptoBackend"; describe("MatrixEvent", () => { it("should create copies of itself", () => { @@ -369,7 +368,7 @@ describe("MatrixEvent", () => { const testError = new Error("test error"); const crypto = { decryptEvent: jest.fn().mockRejectedValue(testError), - } as unknown as Crypto; + } as unknown as CryptoBackend; await encryptedEvent.attemptDecryption(crypto); expect(encryptedEvent.isEncrypted()).toBeTruthy(); @@ -391,7 +390,7 @@ describe("MatrixEvent", () => { const testError = new DecryptionError(DecryptionFailureCode.MEGOLM_UNKNOWN_INBOUND_SESSION_ID, "uisi"); const crypto = { decryptEvent: jest.fn().mockRejectedValue(testError), - } as unknown as Crypto; + } as unknown as CryptoBackend; await encryptedEvent.attemptDecryption(crypto); expect(encryptedEvent.isEncrypted()).toBeTruthy(); @@ -418,7 +417,7 @@ describe("MatrixEvent", () => { "The sender has disabled encrypting to unverified devices.", ), ), - } as unknown as Crypto; + } as unknown as CryptoBackend; await encryptedEvent.attemptDecryption(crypto); expect(encryptedEvent.isEncrypted()).toBeTruthy(); @@ -453,7 +452,7 @@ describe("MatrixEvent", () => { }, }); }), - } as unknown as Crypto; + } as unknown as CryptoBackend; await encryptedEvent.attemptDecryption(crypto); @@ -478,7 +477,7 @@ describe("MatrixEvent", () => { const crypto = { decryptEvent: jest.fn().mockImplementationOnce(() => { - return Promise.resolve({ + return Promise.resolve({ clearEvent: { type: "m.room.message", content: { @@ -491,7 +490,7 @@ describe("MatrixEvent", () => { }, }); }), - } as unknown as Crypto; + } as unknown as CryptoBackend; await encryptedEvent.attemptDecryption(crypto); expect(encryptedEvent.getType()).toEqual("m.room.message");