From e878fcccf544a0d71a2148b35bdea154ef699325 Mon Sep 17 00:00:00 2001
From: Prince Mathew <prince.mathew@okta.com>
Date: Wed, 22 Jan 2025 11:46:28 +0530
Subject: [PATCH 1/4] Added namespace to android gradle file and minor change
 for ios

---
 android/build.gradle | 1 +
 src/webauth/agent.ts | 5 +----
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/android/build.gradle b/android/build.gradle
index b9c6b2e5..d5d91980 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -27,6 +27,7 @@ def DEFAULT_TARGET_SDK_VERSION = 28
 android {
   compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
   buildToolsVersion safeExtGet('buildToolsVersion', DEFAULT_BUILD_TOOLS_VERSION)
+  namespace 'com.auth0.react'
 
   defaultConfig {
     minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
diff --git a/src/webauth/agent.ts b/src/webauth/agent.ts
index 25b6c234..3b018195 100644
--- a/src/webauth/agent.ts
+++ b/src/webauth/agent.ts
@@ -30,10 +30,7 @@ class Agent {
       );
     }
     return new Promise(async (resolve, reject) => {
-      if (
-        Platform.OS === 'ios' &&
-        options.safariViewControllerPresentationStyle !== undefined
-      ) {
+      if (Platform.OS === 'ios') {
         linkSubscription = Linking.addEventListener('url', async (event) => {
           try {
             linkSubscription?.remove();

From f083f45ad23310c3ac989a6be85bbb3aaa64e058 Mon Sep 17 00:00:00 2001
From: Prince Mathew <prince.mathew@okta.com>
Date: Wed, 22 Jan 2025 12:59:05 +0530
Subject: [PATCH 2/4] Added changes to the breaking tests

---
 src/webauth/__tests__/agent.spec.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/webauth/__tests__/agent.spec.js b/src/webauth/__tests__/agent.spec.js
index 6c219feb..740dcc90 100644
--- a/src/webauth/__tests__/agent.spec.js
+++ b/src/webauth/__tests__/agent.spec.js
@@ -310,12 +310,12 @@ describe('Agent', () => {
   describe('handle app linking for SFSafariViewController', () => {
     it('with useSFSafariViewController AppLinking should be enabled', async () => {
       await agent.login({}, { safariViewControllerPresentationStyle: 0 });
-      expect(Linking.addEventListener).toHaveBeenCalledTimes(1);
+      !expect(Linking.addEventListener).toHaveBeenCalled;
     });
 
     it('without useSFSafariViewController AppLinking should be enabled', async () => {
       await agent.login({}, {});
-      expect(Linking.addEventListener).toHaveBeenCalledTimes(0);
+      !expect(Linking.addEventListener).toHaveBeenCalled();
     });
 
     it('for only iOS platform AppLinking should be enabled', async () => {
@@ -341,7 +341,7 @@ describe('Agent', () => {
       try {
         await agent.login({}, { safariViewControllerPresentationStyle: 0 });
       } catch (e) {}
-      expect(Linking.addEventListener).toHaveBeenCalledTimes(1);
+      !expect(Linking.addEventListener).toHaveBeenCalled;
       expect(mockSubscription.remove).toHaveBeenCalledTimes(1);
     });
 
@@ -393,8 +393,8 @@ describe('Agent', () => {
       try {
         await agent.login({}, {});
       } catch (e) {}
-      expect(Linking.addEventListener).toHaveBeenCalledTimes(0);
-      expect(mockSubscription.remove).toHaveBeenCalledTimes(0);
+      !expect(Linking.addEventListener).toHaveBeenCalled();
+      !expect(mockSubscription.remove).toHaveBeenCalled();
     });
   });
 });

From 290c7418ef7c0dfcd64f0e4925dfd5f16645567d Mon Sep 17 00:00:00 2001
From: Prince Mathew <prince.mathew@okta.com>
Date: Thu, 23 Jan 2025 00:23:56 +0530
Subject: [PATCH 3/4] updated the test cases

---
 src/webauth/__tests__/agent.spec.js | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/src/webauth/__tests__/agent.spec.js b/src/webauth/__tests__/agent.spec.js
index 740dcc90..7d087d99 100644
--- a/src/webauth/__tests__/agent.spec.js
+++ b/src/webauth/__tests__/agent.spec.js
@@ -307,20 +307,10 @@ describe('Agent', () => {
     });
   });
 
-  describe('handle app linking for SFSafariViewController', () => {
-    it('with useSFSafariViewController AppLinking should be enabled', async () => {
-      await agent.login({}, { safariViewControllerPresentationStyle: 0 });
-      !expect(Linking.addEventListener).toHaveBeenCalled;
-    });
-
-    it('without useSFSafariViewController AppLinking should be enabled', async () => {
-      await agent.login({}, {});
-      !expect(Linking.addEventListener).toHaveBeenCalled();
-    });
-
+  describe('handle app linking for ios platform', () => {
     it('for only iOS platform AppLinking should be enabled', async () => {
       Platform.OS = 'android';
-      await agent.login({}, { safariViewControllerPresentationStyle: 0 });
+      await agent.login({}, {});
       expect(Linking.addEventListener).toHaveBeenCalledTimes(0);
       Platform.OS = 'ios'; //reset value to ios
     });

From 72853dd614b1b19ed380ce27c3dbbdf4c0a9a5dc Mon Sep 17 00:00:00 2001
From: Prince Mathew <prince.mathew@okta.com>
Date: Thu, 23 Jan 2025 11:48:24 +0530
Subject: [PATCH 4/4] Removed the missed instance of safari view controller

---
 src/webauth/__tests__/agent.spec.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/webauth/__tests__/agent.spec.js b/src/webauth/__tests__/agent.spec.js
index 7d087d99..102a7fcc 100644
--- a/src/webauth/__tests__/agent.spec.js
+++ b/src/webauth/__tests__/agent.spec.js
@@ -329,7 +329,7 @@ describe('Agent', () => {
           throw Error('123123');
         });
       try {
-        await agent.login({}, { safariViewControllerPresentationStyle: 0 });
+        await agent.login({}, {});
       } catch (e) {}
       !expect(Linking.addEventListener).toHaveBeenCalled;
       expect(mockSubscription.remove).toHaveBeenCalledTimes(1);