diff --git a/src/DeviceListener.ts b/src/DeviceListener.ts index f1b22c2c71..3281c43267 100644 --- a/src/DeviceListener.ts +++ b/src/DeviceListener.ts @@ -251,7 +251,8 @@ export default class DeviceListener { if (!this.running) return; // we have been stopped const cli = MatrixClientPeg.get(); - if (!(await cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"))) return; + // cross-signing support was added to Matrix in MSC1756, which landed in spec v1.1 + if (!(await cli.isVersionSupported("v1.1"))) return; if (!cli.isCryptoEnabled()) return; // don't recheck until the initial sync is complete: lots of account data events will fire diff --git a/src/rageshake/submit-rageshake.ts b/src/rageshake/submit-rageshake.ts index f1926b6ca1..9027e2870f 100644 --- a/src/rageshake/submit-rageshake.ts +++ b/src/rageshake/submit-rageshake.ts @@ -95,10 +95,6 @@ async function collectBugReport(opts: IOpts = {}, gzipLogs = true): Promise
{ return { device_keys: keys.join(", "), cross_signing_ready: String(await client.isCrossSigningReady()), - cross_signing_supported_by_hs: String( - await client.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"), - ), cross_signing_key: crossSigning.getId()!, cross_signing_privkey_in_secret_storage: String(!!(await crossSigning.isStoredInSecretStorage(secretStorage))), cross_signing_master_privkey_cached: String(!!(pkCache && (await pkCache.getCrossSigningKeyCache?.("master")))), diff --git a/test/DeviceListener-test.ts b/test/DeviceListener-test.ts index dea4ab1987..c0470200d7 100644 --- a/test/DeviceListener-test.ts +++ b/test/DeviceListener-test.ts @@ -80,7 +80,7 @@ describe("DeviceListener", () => { getUserId: jest.fn().mockReturnValue(userId), getKeyBackupVersion: jest.fn().mockResolvedValue(undefined), getRooms: jest.fn().mockReturnValue([]), - doesServerSupportUnstableFeature: jest.fn().mockResolvedValue(true), + isVersionSupported: jest.fn().mockResolvedValue(true), isCrossSigningReady: jest.fn().mockResolvedValue(true), isSecretStorageReady: jest.fn().mockResolvedValue(true), isCryptoEnabled: jest.fn().mockReturnValue(true), @@ -234,9 +234,10 @@ describe("DeviceListener", () => { describe("recheck", () => { it("does nothing when cross signing feature is not supported", async () => { - mockClient!.doesServerSupportUnstableFeature.mockResolvedValue(false); + mockClient!.isVersionSupported.mockResolvedValue(false); await createAndStart(); + expect(mockClient!.isVersionSupported).toHaveBeenCalledWith("v1.1"); expect(mockClient!.isCrossSigningReady).not.toHaveBeenCalled(); }); it("does nothing when crypto is not enabled", async () => {