From 67a7b677e2a2e2c65d45028c9dad7cfed3bbc2a6 Mon Sep 17 00:00:00 2001 From: David Dudok de Wit Date: Tue, 27 Jan 2026 19:24:54 +0100 Subject: [PATCH] fix(matrix): check if requestOwnUserVerification exists before calling The crypto SDK may not have this function, causing a TypeError on startup. This adds a runtime check to gracefully handle missing verification support. Fixes #2901 --- extensions/matrix/src/matrix/monitor/index.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/matrix/src/matrix/monitor/index.ts b/extensions/matrix/src/matrix/monitor/index.ts index 0a203be41..2df7ba762 100644 --- a/extensions/matrix/src/matrix/monitor/index.ts +++ b/extensions/matrix/src/matrix/monitor/index.ts @@ -250,10 +250,14 @@ export async function monitorMatrixProvider(opts: MonitorMatrixOpts = {}): Promi // If E2EE is enabled, trigger device verification if (auth.encryption && client.crypto) { try { - // Request verification from other sessions - const verificationRequest = await client.crypto.requestOwnUserVerification(); - if (verificationRequest) { - logger.info("matrix: device verification requested - please verify in another client"); + // Request verification from other sessions (if supported by SDK) + if (typeof client.crypto.requestOwnUserVerification === "function") { + const verificationRequest = await client.crypto.requestOwnUserVerification(); + if (verificationRequest) { + logger.info("matrix: device verification requested - please verify in another client"); + } + } else { + logger.debug("matrix: device verification not supported by current crypto SDK version"); } } catch (err) { logger.debug({ error: String(err) }, "Device verification request failed (may already be verified)");