App icon indicating copy to clipboard operation
App copied to clipboard

[HOLD for payment 2024-12-07] [$250] Pay Someone - Wallet page opens when refreshing in "Validate your account" page

Open lanitochka17 opened this issue 1 year ago β€’ 35 comments

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 9.0.45-2 Reproducible in staging?: Y Reproducible in production?: Y 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): [email protected] Issue reported by: Applause - internal Team

Action Performed:

  1. Go to staging.new.expensify.com
  2. Log in with a new Gmail account
  3. Complete the onboarding
  4. Open DM with any user
  5. Click + >. Pay someone
  6. Select currency in USD, enter amount and click Next
  7. Click Pay with Expensify
  8. Refresh the page

Expected Result:

Wallet page is not opened. DM chat is shown

Actual Result:

The DM chat page changes to Wallet page after refreshing in "Validate your account" page

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • [ ] Android: Native
  • [x] Android: mWeb Chrome
  • [ ] iOS: Native
  • [ ] iOS: mWeb Safari
  • [x] MacOS: Chrome / Safari
  • [x] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/2c314e63-0923-4717-b089-5256946e56c1

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021845915923804552896
  • Upwork Job ID: 1845915923804552896
  • Last Price Increase: 2024-10-21
  • Automatic offers:
    • alitoshmatov | Reviewer | 104631143
Issue OwnerCurrent Issue Owner: @slafortune

lanitochka17 avatar Oct 05 '24 15:10 lanitochka17

Triggered auto assignment to @slafortune (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.

melvin-bot[bot] avatar Oct 05 '24 15:10 melvin-bot[bot]

@slafortune FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

lanitochka17 avatar Oct 05 '24 15:10 lanitochka17

Edited by proposal-police: This proposal was edited at 2024-10-05 16:08:40 UTC.

Proposal

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

The DM chat page changes to Wallet page after refreshing in "Validate your account" page

What is the root cause of that problem?

  • We are navigating to RHN settings/wallet/verify in:

https://github.com/Expensify/App/blob/99f280b0edae75ff59614a1c5e98c47b39800aa5/src/components/SettlementButton/index.tsx#L193

which will be mapped to wallet page.

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

  • We can create a new route for the pages/settings/Wallet/VerifyAccountPage, can be settings/verify like we did in there for categories page, there for tags page and there for wallet and expensify card page.
  1. In there, add:
    VERIFY_ACCOUNT: {route: 'settings/verify', getRoute: (backTo?: string) => getUrlWithBackToParam('settings/verify', backTo)},
  1. In there, add:
   VERIFY_ACCOUNT: {
        VERIFY_ACCOUNT_ROOT: 'Verify_Account_Root,
    },
  1. In there create new navigator:
const VerifyAccountModalStackNavigator = createModalStackNavigator({
    [SCREENS.VERIFY_ACCOUNT_ROOT]: () => require<ReactComponentModule>('../../../../pages/settings/Wallet/VerifyAccountPage').default,

  1. In there add:
                   <Stack.Screen
                        name={SCREENS.RIGHT_MODAL.VERIFY_ACCOUNT}
                        component={ModalStackNavigators.VefiryAccountModalStackNavigator}
                    />
  1. In there, add:
 [SCREENS.RIGHT_MODAL.VERIFY_ACCOUNT]: {
                    screens: {
                        [SCREENS.VERIFY_ACCOUNT.VERIFY_ACCOUNT_ROOT]: ROUTES.VERIFY_ACCOUNT.route,
                    },
                },
  1. In there, use:
                Navigation.navigate(ROUTES.VERIFY_ACCOUNT.getRoute());

instead.

What alternative solutions did you explore? (Optional)

truph01 avatar Oct 05 '24 15:10 truph01

regression from https://github.com/Expensify/App/pull/50169 https://github.com/Expensify/App/issues/49523 @ikevin127 @cretadn22

twilight2294 avatar Oct 05 '24 16:10 twilight2294

IMO, I don't think this issue is a regression from that PR, as the issue is more of an improvement, and we can't reproduce the same behavior in production for comparison.

truph01 avatar Oct 05 '24 16:10 truph01

Proposal updated

truph01 avatar Oct 05 '24 16:10 truph01

Proposal

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

Page behind RHP changes to wallet page after refresh while on the wallet verify account page.

What is the root cause of that problem?

By default, wallet verify account page is mapped to the wallet page. https://github.com/Expensify/App/blob/99f280b0edae75ff59614a1c5e98c47b39800aa5/src/libs/Navigation/linkingConfig/CENTRAL_PANE_TO_RHP_MAPPING.ts#L28-L40

So, refreshing it will show the matching route, that is the wallet page.

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

We can pass backTo when opening the wallet verify account page, https://github.com/Expensify/App/blob/99f280b0edae75ff59614a1c5e98c47b39800aa5/src/components/SettlementButton/index.tsx#L193

Navigation.navigate(ROUTES.SETTINGS_WALLET_VERIFY_ACCOUNT.getRoute(Navigation.getActiveRoute()));

so it will be used as the matching screen. In our case, the backTo is the pay someone confirm page which will return a report screen as the matching screen. https://github.com/Expensify/App/blob/99f280b0edae75ff59614a1c5e98c47b39800aa5/src/libs/Navigation/linkingConfig/getAdaptedStateFromPath.ts#L112-L125

But there is currently another bug where the backTo as the matching screen doesn't work which should be handled here.

bernhardoj avatar Oct 06 '24 08:10 bernhardoj

Proposal updated

truph01 avatar Oct 06 '24 09:10 truph01

@slafortune Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

melvin-bot[bot] avatar Oct 08 '24 18:10 melvin-bot[bot]

@lanitochka17 Did you verify the account?

image

how did you refresh?

I'm not surprised that you land back on the wallet page - since you requested to pay someone but don't have anything to pay them with - you need to enter it.

slafortune avatar Oct 09 '24 15:10 slafortune

Issue is still reproducible The account has not been verified.

https://github.com/user-attachments/assets/add3892b-a131-4370-8237-7a4180bada81

lanitochka17 avatar Oct 09 '24 18:10 lanitochka17

@slafortune Huh... This is 4 days overdue. Who can take care of this?

melvin-bot[bot] avatar Oct 14 '24 18:10 melvin-bot[bot]

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

melvin-bot[bot] avatar Oct 14 '24 19:10 melvin-bot[bot]

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

melvin-bot[bot] avatar Oct 14 '24 19:10 melvin-bot[bot]

@slafortune, @alitoshmatov Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

melvin-bot[bot] avatar Oct 18 '24 18:10 melvin-bot[bot]

@alitoshmatov did you have a chance to review the proposals?

slafortune avatar Oct 18 '24 18:10 slafortune

@slafortune @alitoshmatov 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!

melvin-bot[bot] avatar Oct 19 '24 18:10 melvin-bot[bot]

πŸ“£ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? πŸ’Έ

melvin-bot[bot] avatar Oct 21 '24 16:10 melvin-bot[bot]

@slafortune, @alitoshmatov Still overdue 6 days?! Let's take care of this!

melvin-bot[bot] avatar Oct 22 '24 18:10 melvin-bot[bot]

@alitoshmatov bump - did you have a chance to review the proposals?

slafortune avatar Oct 23 '24 18:10 slafortune

@slafortune, @alitoshmatov Now this issue is 8 days overdue. Are you sure this should be a Daily? Feel free to change it!

melvin-bot[bot] avatar Oct 24 '24 18:10 melvin-bot[bot]

Thank you @truph01 and @bernhardoj for proposals. I think @bernhardoj 's proposal is much simpler and gets the job done rather than creating a new route.

alitoshmatov avatar Oct 27 '24 16:10 alitoshmatov

We can go with @bernhardoj 's proposal

C+ reviewed πŸŽ€ πŸ‘€ πŸŽ€

alitoshmatov avatar Oct 27 '24 16:10 alitoshmatov

Triggered auto assignment to @bondydaa, see https://stackoverflow.com/c/expensify/questions/7972 for more details.

melvin-bot[bot] avatar Oct 27 '24 16:10 melvin-bot[bot]

πŸ“£ @alitoshmatov πŸŽ‰ 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] avatar Oct 28 '24 17:10 melvin-bot[bot]

But there is currently another bug where the backTo as the matching screen doesn't work which should be handled https://github.com/Expensify/App/issues/50155.

it looks that issue is closed so has this been resolved already?

bondydaa avatar Oct 28 '24 17:10 bondydaa

it looks that issue is closed so has this been resolved already?

Yes, that issue has been resolved.

PR is ready

cc: @alitoshmatov

bernhardoj avatar Oct 29 '24 06:10 bernhardoj

Reviewing label has been removed, please complete the "BugZero Checklist".

melvin-bot[bot] avatar Nov 30 '24 13:11 melvin-bot[bot]

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

  • https://github.com/Expensify/App/pull/51630

If no regressions arise, payment will be issued on 2024-12-07. :confetti_ball:

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

  • @bernhardoj requires payment through NewDot Manual Requests
  • @alitoshmatov requires payment automatic offer (Reviewer)

melvin-bot[bot] avatar Nov 30 '24 13:11 melvin-bot[bot]

@alitoshmatov @slafortune @alitoshmatov The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

melvin-bot[bot] avatar Nov 30 '24 13:11 melvin-bot[bot]