stripe-react-native icon indicating copy to clipboard operation
stripe-react-native copied to clipboard

The payment sheets flickers when closing iOS 18 Beta 8

Open aziryasin opened this issue 1 year ago • 14 comments

Describe the bug When closing the payment sheet or dismissing it by pressing outside the modal, the sheet closed and pop ups again and then closes.

To Reproduce Steps to reproduce the behavior:

  1. initPaymentSheet
  2. Open payment sheet using presentPaymentSheet
  3. Close or press outside the sheet to dismiss
  4. See the flickering

Expected behavior The sheet should be closed without flickering

Screenshots https://github.com/user-attachments/assets/05715492-a17c-4d0c-9fb0-4004d279bfd1

Smartphone:

  • Device: [e.g. iPhone6] iPhone SE 3rd Generation
  • OS: iOS 18 Beta 8
  • Version stripe-react-native v0.38.4 react-native v0.70.8

Additional context Only happening in iOS 18

aziryasin avatar Sep 03 '24 13:09 aziryasin

same issue

kele-leanes avatar Sep 04 '24 16:09 kele-leanes

same issue when user confirm the payment

nicolasdevienne avatar Sep 19 '24 09:09 nicolasdevienne

same here too, i was actually having the issue on IOS 17.6.1. and on IOS 18. The flicker is for sure there. It works on simulator for both IOS and Android on my side. Just physical devices give me the issue.

0rtbo avatar Sep 20 '24 18:09 0rtbo

Same issue here. Confirmed happening on iOS 18.0, and confirmed it's still present on iOS 18.1 beta 4. Our team would really appreciate someone taking a look into it since it downgrades the customer experience of our production application, thank you!

mikkoseppa avatar Sep 27 '24 20:09 mikkoseppa

Thanks for reporting this. Can you provide logs when the dismiss happens? It seems like an autolayout constraint is breaking.

yuki-stripe avatar Oct 04 '24 05:10 yuki-stripe

Thanks for reporting this. Can you provide logs when the dismiss happens? It seems like an autolayout constraint is breaking.

This is the only log entry when I dismiss. Nothing about autolayout / constraint errors. LOG ANALYTICS: mc_dismiss - [(key: "pay_var", value: "legacy"), (key: "ocr_type", value: "none"), (key: "apple_pay_enabled", value: 1)]

I also checked the "Debug view hierarchy" in Xcode for any runtime constraint warnings, and there is nothing meaningful for this issue.

mikkoseppa avatar Oct 04 '24 06:10 mikkoseppa

Hrmm thank you. I can't repro on iOS 18 & Xcode 16, simulator or device. We'll need to try React Native; I can't see anything in the React Native SDK that would cause this, though (eg this code)

There's an similar animation glitch that can occur on iOS 18 when a TextField takes focus when PaymentSheet dismisses and the keyboard is toggled (eg "Toggle Software Keyboard" in the simulator), but that doesn't seem to be happening here.

yuki-stripe avatar Oct 04 '24 21:10 yuki-stripe

Same issue here. Breaks on iOS 18. Same code works fine without the flickering on iOS 17.4 Both compiled using Xcode 16

   "expo": "~50.0.14",
   "@stripe/stripe-react-native": "^0.38.6",
   "react-native": "0.73.6",
  • Simulator for iOS 18: iPhone 16 Pro
  • Simulator for iOS 17.4 iPhone 15 Pro

I haven't tested it in a real device yet.

hot2eatorg avatar Oct 05 '24 10:10 hot2eatorg

Same issue, On real device (iPhone 15 Pro Max) with iOS 17 is ok, but iOS 18 have problem.

"@stripe/stripe-react-native": "^0.37.0",
"react-native": "0.73.4",

stalkerlifehack avatar Oct 07 '24 11:10 stalkerlifehack

Same issue. Occurs on a real device with iOS 18

v-kravchuk avatar Oct 09 '24 07:10 v-kravchuk

Same issue here!

"react-native": "0.74.1",
"@stripe/stripe-react-native": "^0.38.6",

cesarbarone avatar Oct 15 '24 12:10 cesarbarone

I'm having the same issue on my React Native app. I've verified that it's related to iOS 18 (simulator or device). It works fine on iOS 17. Closing the payment sheet closes it, but then it pops, sweeps down the screen, and disappears. See video.

I'm using "@stripe/stripe-react-native": "^0.39.0".

https://github.com/user-attachments/assets/a6d266d4-abbc-4ecf-85e9-c232dedfe5f9

sigaits avatar Oct 16 '24 21:10 sigaits

same issue with ios 18

tieumainhi avatar Oct 17 '24 02:10 tieumainhi

Same issue here, fine in iOS 17, but in iOS 18 the sheet flickers.

enmanuel-mctekk avatar Oct 21 '24 15:10 enmanuel-mctekk

Makes our app look bad.

melyux avatar Oct 22 '24 09:10 melyux

same issue here with ios 18

konstmar-ion avatar Oct 22 '24 09:10 konstmar-ion

Hrmm thank you. I can't repro on iOS 18 & Xcode 16, simulator or device. We'll need to try React Native; I can't see anything in the React Native SDK that would cause this, though (eg this code)

There's an similar animation glitch that can occur on iOS 18 when a TextField takes focus when PaymentSheet dismisses and the keyboard is toggled (eg "Toggle Software Keyboard" in the simulator), but that doesn't seem to be happening here.

Here’s the environment and the specific logs that appear when I open and close the Payment Sheet:

Environment: React Native Version: 0.74.5 Expo SDK Version: ~51.0.37 Stripe SDK Version: @stripe/stripe-react-native: 0.37.2 Device: Physical iPhone running iOS 18.0.1 & iPhone 16 Pro Max on IOS. 18.0 Build Setup: I built the app using Xcode for my physical device to gather the logs. Logs: On Opening the Payment Sheet:

-[RemoteTextInput] -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID. inputModality = Keyboard, inputOperation = <null selector>, customInfoType = UIEmojiSearchOperations

On Closing the Payment Sheet: -[RemoteTextInput] -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID. inputModality = Keyboard, inputOperation = <null selector>, customInfoType = UIEmojiSearchOperations I see this error both when the sheet is opened and when it is dismissed. I haven’t seen any specific autolayout constraint warnings in the logs so far. This is the first time seeing this log besides the normal

Not sure if this is any help, Thanks!

0rtbo avatar Oct 22 '24 15:10 0rtbo

same issue for us

erik-lissen avatar Oct 22 '24 21:10 erik-lissen

hi @davidme-stripe I can see this has been fixed in the ios SDK - I'm unfamiliar with the release processes here, how long does it usually take for the RN SDK to be updated and released with the new ios fix?

thanks a lot

erik-lissen avatar Oct 23 '24 17:10 erik-lissen

I’m experiencing the same issue in latest SDK on iOS 18 where the payment sheet flickers upon closing. This persists despite using the latest versions of the SDK:

@stripe/stripe-react-native version: 0.39.0

iOS : Podfile.lock

Stripe (23.30.0): - StripeApplePay (= 23.30.0) - StripeCore (= 23.30.0) - StripePayments (= 23.30.0) - StripePaymentsUI (= 23.30.0) - StripeUICore (= 23.30.0)

XTSKatz avatar Oct 29 '24 06:10 XTSKatz

same issue with ios 18.0

vogdev avatar Oct 29 '24 12:10 vogdev

hi @davidme-stripe I can see this has been fixed in the ios SDK - I'm unfamiliar with the release processes here, how long does it usually take for the RN SDK to be updated and released with the new ios fix?

thanks a lot

i think we're just waiting for them to increment the version

the latest version of React native stripe being 39.0 which had

  • Updated stripe-ios to 23.30.*

The push that has the fix is on

  • stripe-ios 23.32

just adding this comment so we can get the fix

0rtbo avatar Nov 03 '24 18:11 0rtbo

same issue

GezimVeliu avatar Nov 20 '24 21:11 GezimVeliu

Hi @charliecruzan-stripe is it possible to bump up stripe-ios ?

0rtbo avatar Nov 25 '24 20:11 0rtbo

same issue

fekajin avatar Nov 27 '24 11:11 fekajin

Same here

JohnKesko avatar Nov 28 '24 11:11 JohnKesko

Same here, waiting for the update release

glopez-askit avatar Dec 03 '24 21:12 glopez-askit

Same issue in iOS simulator with iOS v18.1, v18.2

Env:

"react-native": "0.72.5",
"@stripe/stripe-react-native": "^0.40.0",

dgreasi avatar Dec 10 '24 11:12 dgreasi

The same issue in iOS simulator with iOS v18.1

victorious85 avatar Dec 10 '24 18:12 victorious85

The same issue on iOS 18 only.

endyinthesun avatar Dec 10 '24 21:12 endyinthesun