-
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
[HOLD for payment 2024-10-24] [$250] Expensify Card -App returns to card feed selection page after issuing card from member profile #50243
Comments
Triggered auto assignment to @Christinadobrzyn ( |
We think that this bug might be related to #wave-collect - Release 2 |
@Christinadobrzyn 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 |
Edited by proposal-police: This proposal was edited at 2024-10-04 14:45:09 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Expensify Card -App returns to card feed selection page after issuing card from member profile What is the root cause of that problem?The
What changes do you think we should make in order to solve the problem?we should change the back to the workspace member detail page Navigation.navigate(ROUTES.WORKSPACE_EXPENSIFY_CARD_ISSUE_NEW.getRoute(policyID, ROUTES.WORKSPACE_MEMBER_DETAILS.getRoute(policyID, accountID))); What alternative solutions did you explore? (Optional)Another solution would be to add backTo to this route, and then use it here. However, I don't think we should do that, since this route is only navigated to once in the code, so we can confidently hardcode the backTo |
ProposalPlease re-state the problem that we are trying to solve in this issue.App returns to card feed selection page after issuing card from member profile What is the root cause of that problem?We always return the backTo parameter after a new card is created
In this scenario, the navigation stack will be: IssueNewCardPage > WorkspaceMemberNewCardPage > WorkspaceMemberDetailsPage. Therefore, the backTo parameter for IssueNewCardPage will be WorkspaceMemberNewCardPage, then the app to navigate back to WorkspaceMemberNewCardPage What changes do you think we should make in order to solve the problem?We shouldn't navigate to backTo when the user submits a new card; the backTo parameter should only be used when users click the back button We should check if users create a card in WorkspaceMemberDetailsPage, and if so, navigate them back to that page after creating the new card by checking the backTo parameter.
What alternative solutions did you explore? (Optional)Alternatively, we can use the background screen from "state.FullScreenNavigator" to determine which page to navigate to when the user submits a card. If the background screen is the Expensify Card Page, we will navigate to that page.
|
I'm not sure if this needs to be a backend but since we have a proposal let's start with External |
Job added to Upwork: https://www.upwork.com/jobs/~021843172551777303100 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @paultsimura ( |
Reviewing soon 👀 |
The proposal by @abzokhattab looks good to me. 🎀👀🎀 C+ reviewed |
Triggered auto assignment to @mountiny, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@paultsimura The selected proposal will break the back button behaviors |
@cretadn22 when making such claims, please attach corresponding recordings. |
On the assignee step page, when we reload and hit the back button, the navigation should take us to the WorkspaceMemberNewCardPage as determined by the backTo route. As such, I don't think we should alter the backTo parameter in this case. |
It doesn't work like this now, does it? |
There's another issue here: after reloading the page, we’re navigating to the Expensify Card in the background, it should remain on the Member Page as expected. After reloading and clicking the back button, the navigation should go to the WorkspaceMemberNewCardPage |
Overall, I don’t think the selected proposal is a good pattern for our app. Consider this chain of navigation: A -> B -> C. When we navigate to a new page (C), the backTo parameter should reference the previous page (B), not the page before that (A). Setting it to A can be confusing and may lead to unintended side effects. |
This is a common pattern for deeply nested scenarios when we pass the 'backTo' param from one page to another to be able to eventually navigate back to the root point of the flow. e.g. here: App/src/pages/workspace/categories/CategorySettingsPage.tsx Lines 117 to 123 in 273e751
|
@koko57 @VickyStash can you look at the proposals? I think this must be regression from adding the select feed option |
@mountiny @paultsimura I agree with @paultsimura - @abzokhattab proposal looks good. We're using this pattern quite frequently and it doesn't cause any problems with normal back button behaviour. @cretadn22 could you please add some evidence (screen recording) that it doesn't work as expected and breaks the navigation? |
Agree with @paultsimura - that's why backTo was introduced - we have a lot of pages which may start the same workflows from different starting point. And when user comes to the last step of the workflow - navigation should move them back to the initial screen |
@abzokhattab can you please raise the PR? thanks! |
📣 @abzokhattab 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@abzokhattab I've seen you actively posting new proposals while this issue has been pending a PR for 2 days now. Please prioritize opening a PR here ASAP. |
Thanks for the feedback. And sorry i was working on other PRs Noted. will work on it today. |
Looks like the PR is in staging so we're getting close! #50597 |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.49-2 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-10-24. 🎊 For reference, here are some details about the assignees on this issue:
|
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:
|
Regression Test ProposalPrecondition:
Test:
Do we agree 👍 or 👎 |
Payment coming in a few days so I'm going to move this to daily so I don't miss it |
Prepping for payment...
Regression test - https://github.com/Expensify/Expensify/issues/438129 |
Payment day! Paid out based on this summary - #50243 (comment) Closing |
@mountiny @Christinadobrzyn Be sure to fill out the Contact List! |
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.44-7
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers): applausetester+pso@applause.expensifail.com
Issue reported by: Applause Internal Team
Action Performed:
Precondition:
Expected Result:
App will return to member profile page after issuing card from member profile.
Actual Result:
App returns to card feed selection page after issuing card from member profile.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6624197_1728034246752.20241004_171833.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @ChristinadobrzynThe text was updated successfully, but these errors were encountered: