FormidableLabs / react-native-app-auth

React native bridge for AppAuth - an SDK for communicating with OAuth2 providers
https://commerce.nearform.com/open-source/react-native-app-auth
MIT License
2.04k stars 441 forks source link

Bottom sheet modal overflows and content is missing on iOS 18.0.0 simulator. #1026

Open shonie2xx opened 2 months ago

shonie2xx commented 2 months ago

Issue

It seems the authorize method uses a modal, as the login page slides up from the bottom of the screen. On iOS 18.0.0, this modal is not displaying the content of the page and is not fitting within the screen. Below is a screenshot from the simulator:

simulator_screenshot_ABCB2A82-9ABC-4E83-A904-45FC72F0D22E

Environment

Simulator iOS: 18.0.0 Simulator Device: iPhone 15 Pro, iPhone 16 Pro Xcode: 16.0 macOS: Sequila 15.0 react-native: ^0.72.5 react-native-app-auth: 7.2.0 (also occurs on 8.0.0)

sasha-maliauka commented 2 months ago

We're having the same issue. Works fine on iOS 17.x.x/Xcode 15.x.x, not working on iOS 18/Xcode 16.

brampono commented 2 months ago

I can also reproduce this issue: Xcode: 16.0 Simulator: iPhone 16 Pro | iOS 18 react-native: 0.74.5 react-native-app-auth: 8.0.0

I can fix the issue by running simulator: iPhone 15 Pro | iOS 17.5

Seems like it could be an issue with iOS 18.0

ashosipyan commented 2 months ago

Have the same issue with Xcode16 and iOS18 simulator, the interesting thing is that it works in production build on real device.

Update: also tested dev build on real device and it's working as well

roshanShendre13 commented 1 month ago

Yes I am also facing the same issue on Xcode16 and iOS18 simulator

KhadeevRV commented 1 month ago

Same issue

Anaezsh commented 1 month ago

Same

m0hamad commented 1 month ago

Hi @shonie2xx, I've been looking into this and have not been able to replicate it yet with iOS 18.0 & Xcode 16. Would you be able to provide a reproducible example that I could take a look at? Thank you.

ashosipyan commented 1 month ago

Hi @shonie2xx, I've been looking into this and have not been able to replicate it yet with iOS 18.0 & Xcode 16. Would you be able to provide a reproducible example that I could take a look at? Thank you.

hi @m0hamad, the main problem is with ios18 simulator, did you test on real device?

shonie2xx commented 1 month ago

Hi @m0hamad, the issue is happening only on simulator and not physical device. iOS 18.0 Simulator & XCode 16. How can I further help you?

m0hamad commented 1 month ago

@ashosipyan @shonie2xx Apologies for not being more specific. I tested on an iOS 18.0 simulator (16/16 Plus/16 Pro/16 Pro Max) with various react-native versions combined with different versions of react-native-app-auth and haven't had any luck replicating the issue yet. Are you also using Expo?

bogrees commented 1 month ago

I can reproduce the issue with:

ashosipyan commented 1 month ago

@m0hamad hi, thank you for clarification,

we are using:

if I try on simulator with iOS 17.5 and Xcode16 everything works fine, so for me the only issue is iOS18 simulator

m0hamad commented 1 month ago

@m0hamad hi, thank you for clarification,

we are using:

  • react-native 0.72.14
  • Xcode 16
  • iOS 18 simulator iPhone 16 pro
  • we are not using expo
  • latest version of react-native-app-auth

if I try on simulator with iOS 17.5 and Xcode16 everything works fine, so for me the only issue is iOS18 simulator

Hi @ashosipyan,

I am still trying to replicate the issue. I noticed that there was a MacOS Sequoia re-release today and an update to the iOS 18 simulator along with the dev tools. Can you try updating and seeing if the issue persists afterwards? Thank you.

shonie2xx commented 1 month ago

@m0hamad hi, thank you for clarification, we are using:

  • react-native 0.72.14
  • Xcode 16
  • iOS 18 simulator iPhone 16 pro
  • we are not using expo
  • latest version of react-native-app-auth

if I try on simulator with iOS 17.5 and Xcode16 everything works fine, so for me the only issue is iOS18 simulator

Hi @ashosipyan,

I am still trying to replicate the issue. I noticed that there was a MacOS Sequoia re-release today and an update to the iOS 18 simulator along with the dev tools. Can you try updating and seeing if the issue persists afterwards? Thank you.

I tried it out this morning doesn't fix the issue. Could it be something from the cocoapods version? We're running COCOAPODS: 1.15.2

m0hamad commented 1 month ago

@m0hamad hi, thank you for clarification, we are using:

  • react-native 0.72.14
  • Xcode 16
  • iOS 18 simulator iPhone 16 pro
  • we are not using expo
  • latest version of react-native-app-auth

if I try on simulator with iOS 17.5 and Xcode16 everything works fine, so for me the only issue is iOS18 simulator

Hi @ashosipyan, I am still trying to replicate the issue. I noticed that there was a MacOS Sequoia re-release today and an update to the iOS 18 simulator along with the dev tools. Can you try updating and seeing if the issue persists afterwards? Thank you.

I tried it out this morning doesn't fix the issue. Could it be something from the cocoapods version? We're running COCOAPODS: 1.15.2

@shonie2xx I also have the same COCOAPODS version (can see the version in the Podfile.lock file). I believe the best way to move forward would be for you to submit a reproducible example, I have not had any luck yet with reproducing this issue. Thank you.

veselignome commented 1 month ago

I'm also experiencing this issue after several years of successful usage with this IDP, only simulator issue as described. Tested locally so dangerouslyAllowInsecureHttpRequests is used.

usage: authorize({ issuer:"http://192.168.1.1:9000/auth/realms/authprovider/", clientId:"XXX_myClientId_XXX", redirectUrl:"myapp://callback", scopes:[ "MyAuthProviderAuthorization", "directory", "openid", "profile", "email", "offline_access", "id" ], additionalParameters:{ prompt:"login" }, dangerouslyAllowInsecureHttpRequests:true })

Reproduction steps:

Expected result:

Actual result:

Thanks.

DanushkaPerusinghe commented 1 month ago

Same issue in iOS simulator. Any update on this.

Works fine in real device with iOS 18

Simulator Screenshot - iPhone 16 Pro - 2024-10-09 at 14 04 34

carbonrobot commented 1 month ago

We are doing a little research around this issue, but it's going to be an upstream issue in either AppAuth-IOS or Xcode itself. This library only passes the data to AppAuth-IOS and has very little to do with the actual UI that is presented. So any fixes will likely need to be done in those codebases, not this one.

carbonrobot commented 1 month ago

Possibly related issues:

robwalkerco commented 1 month ago

I've partially replicated this issue using Xcode 16.1 Beta 3 and iOS 18.1 Simulator.

Interestingly - hitting the release icon at the top-right allows the content to load correctly.

I can't replicate the layout issue from the original report, but the content fails to load.

Once https://github.com/openid/AppAuth-iOS/pull/871 is merged and released, I can check that using the latest version of AppAuth-iOS in react-native-app-auth resolves this issue.