-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[$325] Android - Profile - Add contact method flow resumes at magic code page after killing app #48498
Comments
Triggered auto assignment to @roryabraham ( |
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
|
NAB, demoting. |
For posterity, this was likely introduced in this checklist. |
Job added to Upwork: https://www.upwork.com/jobs/~017a6ead314da0c17b |
Triggered auto assignment to @bfitzexpensify ( |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Edited by proposal-police: This proposal was edited at 2024-09-03 22:23:02 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Android - Profile - Add contact method flow resumes at magic code page after killing app What is the root cause of that problem?The NewContactMethodPage redirects to SETTINGS_CONTACT_METHOD_VALIDATE_ACTION when pendingContactAction?.validateCodeSent is true. Once the code is sent, pendingContactAction?.validateCodeSent is set to true. Additionally, when the app is closed, the App/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx Lines 56 to 62 in cdc52ea
What changes do you think we should make in order to solve the problem?
useEffect(() => {
User.clearUnvalidatedNewContactMethodAction();
}, []);
What alternative solutions did you explore? (Optional)We can add a What alternative solutions did you explore? (Optional) 2
Result |
Proposal Updated
|
ProposalPlease re-state the problem that we are trying to solve in this issue.Add contact method flow resumes at magic code page instead of new contact method input page after killing app What is the root cause of that problem?When we kill the app the cleanup function here isn't triggered then if we requested the magic code before killing the App, this App/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx Lines 56 to 62 in ec8a5d9
What changes do you think we should make in order to solve the problem?
OPTIONAL: we can also change the cleanup function here to clear the pending contact method whenever the App/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx Lines 56 to 62 in ec8a5d9
What alternative solutions did you explore? (Optional) |
Analyzing the correct behaviour... |
IMO the behaviour should be as follows:
What do you think @Krishna2323 @nkdengineer ? |
@parasharrajat, yep, that sounds accurate to me. I think my alternative solution 2 will fix the issue with the expected behaviour. Then we can also remove this and this code. |
Agree with @parasharrajat's analysis of the expected behavior |
Let's go with @Krishna2323's alternative solution 2 for this, then. let's keep the cleanup login on the back button press. We might have to handle a case.
@Krishna2323 thoughts. |
I am heading out of office until September 21st, so assigning a buddy to watch over this in my absence. Current status: working through proposals |
@parasharrajat, I think dismissing the modal will clear the data and the validate code page won't be shown when directly visiting. I agree to keep the clear cleanup login. |
OK. What about the page refresh? If we keep the cleanup logic as it is now, How will it work in that case? Can you please explain the behaviour of all cases as mentioned in #48498 (comment) after applying your solution? |
@parasharrajat, according to the above point and my testing, the cleanup function will not run when we refresh the page, so we will land on the same validate code if we refresh.
|
Did you try it twice? Does this this work for each page refresh?
What if user does not start the flow via new Contact Button, we do that directly via the URL. Will this work? |
Yes, it will work.
I think we should show the validate code page in this case also. Monosnap.screencast.2024-09-09.14-11-26.mp4 |
It should be as follows:
Does that make sense? |
@parasharrajat, sorry I still couldn't understand what do you mean. Are you trying to say that we want to initiate a new flow when the user closes the web page on the validate code page and opens it again with the url? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
I am saying that we initiate the new flow when the user closes the page via a back button or dismisses the modal (Any other actions that indicate that the user has closed the flow themselves). But page refresh is not one of them. Refreshing the page continues the same flow. |
I agree with that and that's what I tried to show in the video below. Refreshing the page continues the same flow. Monosnap.screencast.2024-09-09.14-11-26.mp4 |
that's good. Now what happens if you close the modal by clicking outside the modal and then directly open the URL? |
@CortneyOfstad, @parasharrajat, @bfitzexpensify, @roryabraham Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@Krishna2323 Any thoughts? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@CortneyOfstad @parasharrajat @bfitzexpensify @roryabraham this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
@Krishna2323 — bump @parasharrajat's comment above — thanks! |
@CortneyOfstad, @parasharrajat, @bfitzexpensify, @roryabraham Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Upwork job price has been updated to $325 |
regression from #48541 (comment) @hungvu193 @getusha |
Thanks for the ping @rushatgabhane. |
I can confirm it's fixed. We can close this issue: Screen.Recording.2024-09-20.at.09.25.51.mov |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.0.28-1
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): applausetester+kh010901@applause.expensifail.com
Issue reported by: Applause - Internal Team
Action Performed:
Expected Result:
Add contact method flow will restart. App will open new contact method input page
Actual Result:
Add contact method flow resumes at magic code page instead of new contact method input page after killing app
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6592010_1725385884722.1725384996537_Screen_Recording_20240904_003949_New_Expensify.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @parasharrajatThe text was updated successfully, but these errors were encountered: