From eeeecaeb8a463bf51bcd535d2be488e554e23a7d Mon Sep 17 00:00:00 2001 From: Robin Genz Date: Sun, 28 Aug 2022 08:03:13 +0200 Subject: [PATCH] fix(authentication): retain `authStateChangeEvent` until consumed (#186) --- .changeset/twelve-crabs-fetch.md | 5 +++++ .../authentication/FirebaseAuthenticationPlugin.java | 6 +----- .../ios/Plugin/FirebaseAuthenticationPlugin.swift | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 .changeset/twelve-crabs-fetch.md diff --git a/.changeset/twelve-crabs-fetch.md b/.changeset/twelve-crabs-fetch.md new file mode 100644 index 00000000..3701900c --- /dev/null +++ b/.changeset/twelve-crabs-fetch.md @@ -0,0 +1,5 @@ +--- +"@capacitor-firebase/authentication": patch +--- + +fix: retain `authStateChangeEvent` until consumed on Android and iOS diff --git a/packages/authentication/android/src/main/java/io/capawesome/capacitorjs/plugins/firebase/authentication/FirebaseAuthenticationPlugin.java b/packages/authentication/android/src/main/java/io/capawesome/capacitorjs/plugins/firebase/authentication/FirebaseAuthenticationPlugin.java index 7c85a177..788e4b7f 100644 --- a/packages/authentication/android/src/main/java/io/capawesome/capacitorjs/plugins/firebase/authentication/FirebaseAuthenticationPlugin.java +++ b/packages/authentication/android/src/main/java/io/capawesome/capacitorjs/plugins/firebase/authentication/FirebaseAuthenticationPlugin.java @@ -441,10 +441,6 @@ public void startActivityForResult(PluginCall call, Intent intent, String callba super.startActivityForResult(call, intent, callbackName); } - public void notifyListeners(String eventName, JSObject data) { - super.notifyListeners(eventName, data); - } - @Override protected void handleOnActivityResult(int requestCode, int resultCode, Intent data) { super.handleOnActivityResult(requestCode, resultCode, data); @@ -456,7 +452,7 @@ private void updateAuthState() { JSObject userResult = FirebaseAuthenticationHelper.createUserResult(user); JSObject result = new JSObject(); result.put("user", userResult); - notifyListeners(AUTH_STATE_CHANGE_EVENT, result); + notifyListeners(AUTH_STATE_CHANGE_EVENT, result, true); } @ActivityCallback diff --git a/packages/authentication/ios/Plugin/FirebaseAuthenticationPlugin.swift b/packages/authentication/ios/Plugin/FirebaseAuthenticationPlugin.swift index 7669d024..d4ece3cf 100644 --- a/packages/authentication/ios/Plugin/FirebaseAuthenticationPlugin.swift +++ b/packages/authentication/ios/Plugin/FirebaseAuthenticationPlugin.swift @@ -329,7 +329,7 @@ public class FirebaseAuthenticationPlugin: CAPPlugin { let userResult = FirebaseAuthenticationHelper.createUserResult(user) var result = JSObject() result["user"] = userResult - notifyListeners(authStateChangeEvent, data: result) + notifyListeners(authStateChangeEvent, data: result, retainUntilConsumed: true) } private func firebaseAuthenticationConfig() -> FirebaseAuthenticationConfig {