-
Notifications
You must be signed in to change notification settings - Fork 525
WIP - [Issue #408] iOS app freeze with <PaymentCardTextField /> v6 #418
Conversation
@theohdv Are you using this currently? If so, any issues? |
@briangonzalez i'm not using the fix in production but when I've tried it it was working well. But removing these lines break the E2E tests, so i think it was here just for testing purpose (To be able to focus the input maybe ?). |
@cybergrind what do you think ? |
@theohdv Probably it was here only for testing purposes but I believe that we need working tests to change these lines anyway. |
@cybergrind why do you think it is related to RN upgrade ? Because with the same version of RN (0.57.9), it works with 5.6 but not with 6.*. |
@theohdv https://itunes.apple.com/us/app/calvert-woodley/id1325616215?mt=8 here is one our app that is using tipsi-stripe 6.1.2 but ours RN is 0.52 |
What is the status of this PR, I am having the same "freezing" issue which this PR fixes. We get an error along the lines of "can't find keyplane that supports..." in our xcode logs. Note this only happens when using a physical device, or a simulator with the embedded keyboard (if you attach the hardware keyboard the error doesn't happen). |
@PvanHengel it's pending, i've found what's causing the app freeze but removing the lines affects the E2E tests. So now we have to find how to fix that without breaking the tests (or rewrite new tests). According to @cybergrind it's due to RN upgrade. But it is not so obvious for me. |
Thanks, just for fun I tried downloading the app that @cybergrind sent a link to and it also freezes for me on my iPhone. so not sure it’s related to the rn version but the iOS version or device? When you debug in the simulator you get a keyboard type error (not at my computer now so I dont have the exact error). I think that’s the biggest clue, I don’t see the relationship between the commented code and that. Also interesting finding is if you have other input fields on the same screen as the card input they also freeze up the app, but if you comment out the card input those fields work fine. That leads me to believe perhaps there is a change made on the R.N. or iOS side to how input field events are attached and perhaps that’s the missing link. Should prob take a look at some recent release notes and see if any changes were made there. P |
@PvanHengel could you please tell us what is your device and current ios version? |
iPhone X, iOS v12.1.2
… On Jan 7, 2019, at 8:01 AM, Kirill Pinchuk ***@***.***> wrote:
@PvanHengel could you please tell us what is your device and current ios version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@PvanHengel thank you! seems it will be fixed sooner than expected =) |
@PvanHengel is it the error you've seen ?
And for your previous comment, indeed if you have other input in the same screen and once that
is instantiated, the |
Yes that is the error I see in the logs.
P
… On Jan 7, 2019, at 8:46 AM, Theo de Villeneuve ***@***.***> wrote:
@PvanHengel is it the error you've seen ?
Can't find keyplane that supports type 11 for keyboard iPhone-Portrait-NumberPad; using 20587_Portrait_iPhone-Simple-Pad_Default
And for your previous comment, indeed if you have other input in the same screen and once that
[[NSNotificationCenter defaultCenter]
addObserver:self
***@***.***(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:self.window];
is instantiated, the keyboardWillShow event will make the app freezing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
I'm also having this issue with version |
@LRNZ09 right now removing focus from CC field before navigating anywhere should help. |
We have the same problem with React native |
What's the easiest way to remove focus from the input field? We are implementing a custom component to scan a card and then inject those details into this component, however the focus freeze is definitely a blocker. |
@ashfurrow the reason is that my PR was breaking appium e2e test. I think test expects input to be focused at render time. i have some time today so i'm going to check if i can change that. Any help is appreciated :) |
Okay, thanks! I've taken a look through the code and the biggest question for me is: why is the code resigning first responder when the keyboard shows? I've looked through the git history but it seems this is just the way that |
Just want to +1 this issue, happens to me a lot in my project. |
@theohdv did you ever find a fix for it ? |
Yes this PR was fixing the bug |
what about the keyboard then it doesn't close at all on the card input at all ??? Any solution for that ?? |
Okay how can we move this along? I have to update to RN 0.59 to get the 64 bit support and now tipsi-stripe is broken due to the issue this fixes. |
I have other input in the same screen, currently switch to then will have a error: use 8.0.0-beta.6 |
Issue :- Can't find keyplane that supports type 11 for keyboard iPhone-PortraitChoco-NumberPad; using 25686_PortraitChoco_iPhone-Simple-Pad_Default app goes to freeze
Only happens in iOS, in android work well Code :- If issues is still there why ticket is closed ? Any one can help me to resolved this one |
Thank you @theohdv for a great fix! But it seems this PR is still not available in master. So the production version 7.5.1 still has this issue. |
Proposed changes
Since tipsi-stripe v6.*,
<PaymentCardTextField />
freeze iOS app (#408 ).I found that it could be related to the
NSNotificationCenter
used inTPSCardField.m
, because by removing it, the bug seems to be fixed.In addition, I don't know why
NSNotificationCenter
was used for because there was no observer for this kind of event (if I'm wrong I would like to understand what this part of code was used for).Types of changes
What types of changes does your code introduce to
tipsi-stripe
?Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! Next steps are a reminder of what we are going to look at before merging your code.Further comments
This PR is in
WIP
status because I would like to be sure that removing those lines of code won't affect other part of this lib.