Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.52k stars 2.88k forks source link

[HOLD for payment 2024-09-06] [$250] iOS - Wallet - Wallet page freezes after deleting bank account #48298

Closed IuliiaHerets closed 1 month ago

IuliiaHerets commented 2 months ago

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: v9.0.26-3 Reproducible in staging?: Y Reproducible in production?: N Email or phone of affected tester (no customers): applausetester+ck829@applause.expensifail.com Issue reported by: Applause Internal Team

Action Performed:

  1. Launch New Expensify app & create a new account
  2. Naviagate to Settings >> Wallet >> Add bank account
  3. Go through the Plaid flow (Choose Chase bank)
  4. Once user navigate back to ND app, select Plaid Saving account option
  5. Tap on continue button on Personal bank account added modal & go back to wallet page
  6. Tap on 3 dot menu >> delete option >> confirm delete bank account (Note: bank account gets dfeleted)
  7. Tap on + add bank account or enable wallet or try clicking the back button

Expected Result:

Wallet page should not freeze on deleting the bank account Tapping on either add bank account, enable wallet should open plaid flow & clicking back button navigate to settings page

Actual Result:

Wallet page freezes after deleting bank account. Nothing happens on tapping add bank account or enable wallet or the back button

Note: User has force kill app for the options to work in Wallet page

Workaround:

Unknown

Platforms:

Screenshots/Videos

https://github.com/user-attachments/assets/f014f3c7-26a7-4495-9033-a4152d444f2c

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01390fdf36b89f8f00
  • Upwork Job ID: 1829450116473018676
  • Last Price Increase: 2024-08-30
  • Automatic offers:
    • eh2077 | Reviewer | 103754230
    • allgandalf | Contributor | 103754233
Issue OwnerCurrent Issue Owner: @CortneyOfstad
melvin-bot[bot] commented 2 months ago

Triggered auto assignment to @Beamanator (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

melvin-bot[bot] commented 2 months ago

Triggered auto assignment to @CortneyOfstad (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

github-actions[bot] commented 2 months ago

:wave: 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:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.
Beamanator commented 2 months ago

Looks front-end only b/c it's not reproducible in web & it freezes iOS even when deleting offline

Beamanator commented 2 months ago

This is reproducible in multiple workflows - the point is that you have to open the 3-dot menu, then click "Delete" to open the "Are you sure" modal -> after that, if you cancel or delete or press away, the app "freezes"

I believe the problem is that the first modal hasn't been closed somehow

daledah commented 2 months ago

Proposal

Please re-state the problem that we are trying to solve in this issue.

Wallet page freezes after deleting bank account

What is the root cause of that problem?

When we click the delete option, we don't wait for the current modal to hide first before displaying the next modal

What changes do you think we should make in order to solve the problem?

Make sure that the previous modal is closed before displaying the next modal

Modal.close(() => setIsDeleteModalVisible(true))

What alternative solutions did you explore? (Optional)

In this PR we introduce new prop called shouldCallAfterModalHide. We can wait for this PR to be merged and then use the new props.

mountiny commented 2 months ago

@daledah lets CP the fix now and let that PR go through the normal process. Can you raise a PR please?

melvin-bot[bot] commented 2 months ago

Job added to Upwork: https://www.upwork.com/jobs/~01390fdf36b89f8f00

melvin-bot[bot] commented 2 months ago

πŸ“£ @daledah You have been assigned to this job! Please apply to the Upwork job and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review πŸ§‘β€πŸ’» Once you apply to this job, your Upwork ID will be stored and you will be automatically hired for future jobs! Keep in mind: Code of Conduct | Contributing πŸ“–

melvin-bot[bot] commented 2 months ago

Triggered auto assignment to Contributor-plus team member for initial proposal review - @eh2077 (External)

daledah commented 2 months ago

@mountiny I have a minor problem on Android emulator, will try to open PR in 1 hour. Thanks

daledah commented 2 months ago

@allgandalf Sorry, your PR fix this issue too?

allgandalf commented 2 months ago

@allgandalf Sorry, your PR fix this issue too?

Just raising the PR for faster process, @daledah can you check this comment please

daledah commented 2 months ago

@allgandalf i have answered you here, please check

Beamanator commented 2 months ago

PR was CP'd, testing on staging now

Beamanator commented 2 months ago

Fixed on staging - just tested iOS native & web πŸ‘

melvin-bot[bot] commented 2 months ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.26-6 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-09-06. :confetti_ball:

For reference, here are some details about the assignees on this issue:

melvin-bot[bot] commented 2 months ago

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

allgandalf commented 2 months ago

Can someone assign me here please πŸ™‡

melvin-bot[bot] commented 2 months ago

πŸ“£ @eh2077 πŸŽ‰ An offer has been automatically sent to your Upwork account for the Reviewer role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job

melvin-bot[bot] commented 2 months ago

πŸ“£ @allgandalf πŸŽ‰ An offer has been automatically sent to your Upwork account for the Contributor role πŸŽ‰ Thanks for contributing to the Expensify app!

Offer link Upwork job Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review πŸ§‘β€πŸ’» Keep in mind: Code of Conduct | Contributing πŸ“–

allgandalf commented 2 months ago

thanks @Beamanator 🍻

CortneyOfstad commented 2 months ago

Hello! Just getting confirmation on payment as I have not had two PRs tied to the same bug/issue with two different creators. Will follow up and get payment out ASAP once this is confirmed by the team. Thanks for your patience!

CortneyOfstad commented 2 months ago

Thanks for your patience! So it was decided to award the following amounts:

@daledah β€” $125 for creating a PR that laid the ground work for the solution to be implemented via another PR @allgandalf β€” $250 for creating the PR that solved the issue @eh2077 β€” $250 for reviewing (to be paid via NewDot)

I am going to send out the manual requests now via Upwork for the two PRs πŸ‘

CortneyOfstad commented 2 months ago

@eh2077 β€” looks like a contract was created for you in Upwork automatically by mistake, but I have cancelled that in favor of you being paid via NewDot. Thanks!

CortneyOfstad commented 2 months ago

Payment Summary

@allgandalf β€” paid $250 via Upwork @daledah β€” to be paid $125 via Upwork (waiting for you to accept offer) @eh2077 β€” to be paid $250 via NewDot

daledah commented 2 months ago

@CortneyOfstad Offer accepted thx

JmillsExpensify commented 1 month ago

$250 approved for @eh2077

CortneyOfstad commented 1 month ago

Updated Payment Summary

@allgandalf β€” paid $250 via Upwork @daledah β€” paid $125 via Upwork @eh2077 β€” paid $250 via NewDot