-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[HOLD for payment 2022-04-12] [$500] iOS - App freezes when try to delete PayPal payment #7768
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Triggered auto assignment to @tylerkaraszewski ( |
Seems like an issue to fix. Probably doable by an external contributor. |
Triggered auto assignment to @Christinadobrzyn ( |
Created job post in Upwork • Internal post - https://www.upwork.com/ab/applicants/1494155927379894272/job-details |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane ( |
Triggered auto assignment to @mountiny ( |
It looks like it has something to do with ConfirmPopover opening before the DeleteMenu Popover is closed. App/src/pages/settings/Payments/PaymentsPage/BasePaymentsPage.js Lines 318 to 324 in 4b04f73
This solves the issue but it might not be the best thing to do. It might help someone to find the solution.
|
You are correct @sobitneupane This is the real issue behind this problem. We have faced the same issue before. I was trying to solve it yesterday for one of the Deploy blocker issues. And I did something like your solution which worked but |
ProposalThis is a nasty bug with RN. It is somehow related to Modals. There are many related issues open to RN. Maybe upgrading the RN version will solve it. But I don't think that upgrading RN would be a safe or easier option. it could break many dependencies. When two modal instances are opened at the same time then App freezes in React Native. Basically, all of the app is functioning but a small transparent layer is left behind when the modal closes which blocks all the interactions. this also causes other types of issues like
Good read So to solve this we have to make sure that we don't open two modals at a time. Now there are two modals that open on this BasePaymentPage component. DeleteConfirm Modal and Password Modal. These modals are opened after Main Payment Menu.
To safely open these we can rely on So we will update Both onPress handlers to use it.
E.g. onPress={() => {
this.setState({
shouldShowDefaultDeleteMenu: false,
});
InteractionManager.runAfterInteractions(() => {
this.setState({
shouldShowPasswordPrompt: true,
passwordButtonText: this.props.translate('paymentsPage.setDefaultConfirmation'),
});
});
}} This will make sure that both are visible. But I saw one strange issue when we close the PasswordPopover via clicking the backdrop, the App froze. There is nothing in the code that tells me why this is happening only for PasswordPopover. So to fix this I used this snippet to close the modal. hidePasswordPrompt() {
this.setState({shouldShowPasswordPrompt: false});
// Only for iOS , no visible effect on UI
LayoutAnimation.configureNext(LayoutAnimation.create(50, LayoutAnimation.Types.easeInEaseOut, LayoutAnimation.Properties.opacity));
} Here Layoutshift causes hanged animation to flush. It fixes the issues. |
@mountiny Rajat doesn't need a C+ review, unassigning myself. |
I am very busy but I would like to test this via upgrading the RN version. Upgrading RN could be challenging. If this is an urgent issue, then I am happy to go with the above fix but I think we should wait till I test it on the newer RN version. |
@parasharrajat I dont think this is very urgent in terms of production since this should still be in beta. What would be your ETA for trying to update RN? |
Can't really tell. By weekend maybe. |
I think we can wait for you to try to update the RN version, it could be beneficial in other ways too and as mentioned this bug is still behind beta, so hopefully no problem. If it would become a bigger problem, we have a solution to deploy if the need be. |
@parasharrajat Any updates here? |
Updated the title and |
PR will be ready by EOD. |
I was facing many issues with MAC. I finally manage to fix the MAC and build setup. I will create the PR by tomorrow ⏲️ |
Thanks for keeping us updated @parasharrajat |
Issue not reproducible during KI retests. (First week) |
@mountiny I can't reproduce this issue anymore. Are you able to provide the steps? |
@parasharrajat that is good to hear it si not reproducible. The steps I followed were same as in the PR, would you be fine with holding the payment for the second week of retest by QA @mvtglobally so in 7 days and then if issue does not persist, the payment would be released? To follow the classic KI retest process? |
Sure. No problem. |
Updated the title to be one week from the first re-test. @mvtglobally once you confirm next week the issue is not reproducible we are good to close this one out 🙌 The steps which led to the problem noticed before:
Then the modal closed but the app froze. |
Issue not reproducible during KI retests. (Second week) |
@Christinadobrzyn This is good to be paid out to Rajat and closed then! Thanks! Thank you @mvtglobally |
Original job expired so created new one - https://www.upwork.com/ab/applicants/1514041584503480320/job-details Sent an offer to Rajat. I'll track and pay asap. |
Paid @parasharrajat and closed the job in Upwork. Closing this GH |
@Christinadobrzyn Reporting bonus was not paid for this issue. |
Amazing! Thank you! Let me reopen the job and hire you so I can pay you. @aswin-s I just sent an offer to this job - https://www.upwork.com/ab/applicants/1514123199221063680/job-details Thanks! |
@Christinadobrzyn Applied. Thanks. |
Thank you! just issued payment through the Upwork job. Thanks again for reaching out about that and sorry I missed that! |
Uh oh!
There was an error while loading. Please reload this page.
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Expected Result:
PayPal must be deleted and app should not freeze
Actual Result:
PayPal cannot be deleted and app freeze.
Workaround:
Unknown
Platform:
Where is this issue occurring?
Version Number: 1.1.39-1
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Bug5455298_Paypal_1502.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause @aswin-s
Slack conversation:
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: