From c7321a46aff020ab0ccf204dca35f756daf240e8 Mon Sep 17 00:00:00 2001 From: Michael Nahkies Date: Mon, 26 Feb 2024 21:17:13 +0000 Subject: [PATCH 1/2] fix!: enrolledFactors rather than enrolledFactor the typescript definitions specify it as `enrolledFactors` reflecting that it is an array, but the javascript was actually setting it as `enrolledFactor` at runtime. ref: - typings: https://github.com/invertase/react-native-firebase/blob/main/packages/auth/lib/index.d.ts#L568 - android: https://github.com/invertase/react-native-firebase/blob/main/packages/auth/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java#L2476 - ios: https://github.com/invertase/react-native-firebase/blob/main/packages/auth/ios/RNFBAuth/RNFBAuthModule.m#L1681 - web sdk: https://github.com/firebase/firebase-js-sdk/blob/master/packages/auth/src/mfa/mfa_user.ts#L34 BREAKING CHANGE: runtime MFA user property renamed from `enrolledFactor` to `enrolledFactors` and now matches typescript types --- packages/auth/lib/multiFactor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/auth/lib/multiFactor.js b/packages/auth/lib/multiFactor.js index 889f01b617..91f00bd01c 100644 --- a/packages/auth/lib/multiFactor.js +++ b/packages/auth/lib/multiFactor.js @@ -14,7 +14,7 @@ export class MultiFactorUser { user = auth.currentUser; } this._user = user; - this.enrolledFactor = user.multiFactor.enrolledFactors; + this.enrolledFactors = user.multiFactor.enrolledFactors; } getSession() { From 2457a551369fae2c072ceb878b62f08494208b5a Mon Sep 17 00:00:00 2001 From: Michael Nahkies Date: Sat, 9 Mar 2024 07:23:51 +0000 Subject: [PATCH 2/2] fix: make backwards compatible --- packages/auth/lib/multiFactor.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/auth/lib/multiFactor.js b/packages/auth/lib/multiFactor.js index 91f00bd01c..e1bc0e4f37 100644 --- a/packages/auth/lib/multiFactor.js +++ b/packages/auth/lib/multiFactor.js @@ -15,6 +15,8 @@ export class MultiFactorUser { } this._user = user; this.enrolledFactors = user.multiFactor.enrolledFactors; + // @deprecated kept for backwards compatibility, please use enrolledFactors + this.enrolledFactor = user.multiFactor.enrolledFactors; } getSession() {