diff --git a/src/crypto/verification/SAS.ts b/src/crypto/verification/SAS.ts index a7119d899..806b4bf5e 100644 --- a/src/crypto/verification/SAS.ts +++ b/src/crypto/verification/SAS.ts @@ -217,7 +217,7 @@ const MAC_SET = new Set(MAC_LIST); const SAS_SET = new Set(SAS_LIST); function intersection(anArray: T[], aSet: Set): T[] { - return anArray instanceof Array ? anArray.filter(x => aSet.has(x)) : []; + return Array.isArray(anArray) ? anArray.filter(x => aSet.has(x)) : []; } export enum SasEvent { diff --git a/src/sliding-sync-sdk.ts b/src/sliding-sync-sdk.ts index 5b02ca0c5..ed7ef9cb5 100644 --- a/src/sliding-sync-sdk.ts +++ b/src/sliding-sync-sdk.ts @@ -82,7 +82,7 @@ class ExtensionE2EE implements Extension { const unusedFallbackKeys = data["device_unused_fallback_key_types"] || data["org.matrix.msc2732.device_unused_fallback_key_types"]; this.crypto.setNeedsNewFallback( - unusedFallbackKeys instanceof Array && + Array.isArray(unusedFallbackKeys) && !unusedFallbackKeys.includes("signed_curve25519"), ); } diff --git a/src/sync.ts b/src/sync.ts index 658b502db..5f5e2e13a 100644 --- a/src/sync.ts +++ b/src/sync.ts @@ -1482,7 +1482,7 @@ export class SyncApi { const unusedFallbackKeys = data["device_unused_fallback_key_types"] || data["org.matrix.msc2732.device_unused_fallback_key_types"]; this.opts.crypto.setNeedsNewFallback( - unusedFallbackKeys instanceof Array && + Array.isArray(unusedFallbackKeys) && !unusedFallbackKeys.includes("signed_curve25519"), ); } diff --git a/src/utils.ts b/src/utils.ts index 237d1279e..c70ac914d 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -232,7 +232,7 @@ export function deepCompare(x: any, y: any): boolean { } // the object algorithm works for Array, but it's sub-optimal. - if (x instanceof Array) { + if (Array.isArray(x)) { if (x.length !== y.length) { return false; }