-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[$1000] Workspace -User needs to tap ‘Back’ twice to return to previous screen from ‘Connect BA' offline #21277
Comments
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open
|
Triggered auto assignment to @hayata-suenaga ( |
was able to reproduce RPReplay_Final1687390272.MP4 |
so weird only happens when the device is offline... |
I edited the Action Performed section of OP because the selection of current doesn't matter for reproduction of the issue here is the video without the currency warning. the same issue is present even when the current is a default one. RPReplay_Final1687391044.MP4 |
the issue is also present on web Screen.Recording.2023-06-21.at.4.47.24.PM.mov |
Triggered auto assignment to @adelekennedy ( |
Bug0 Triage Checklist (Main S/O)
|
The bug doesn't prevent the usage of NewDot, and the problem only happens offline. I don't believe this is a deploy blocker. Removing I'll keep assigning myself for the internal engineer assignment when the proposal is accepted. |
ProposalPlease re-state the problem that we are trying to solve in this issue.We need to back twice from Connect Bank Account if we open it while offline. What is the root cause of that problem?When we navigate back, the page will be re-rendered, even though technically no props/state is changed. After digging around and with the help of WDYR, I found that App/src/pages/workspace/withPolicy.js Lines 87 to 103 in 6183609
What happens when the page is re-rendered? App/src/pages/ReimbursementAccount/ReimbursementAccountPage.js Lines 156 to 171 in a777544
As you can notice, we already prevent it if App/src/pages/ReimbursementAccount/ReimbursementAccountPage.js Lines 202 to 219 in a777544
Line 21 in a777544
Because App/src/pages/ReimbursementAccount/ReimbursementAccountPage.js Lines 225 to 241 in a777544
That's why we can close it the 2nd time because currentStepRouteParam value is now BankAccountStep .
Why it doesn't happen while online?
In summary, What changes do you think we should make in order to solve the problem?We should prevent the re-rendering when going back. As explained in the root cause, the re-render happens because the navigation state changes. App/src/pages/workspace/withPolicy.js Lines 87 to 103 in 6183609
If we look at the code, the purpose of the navigation state is to retrieve the policyID from route params. There are 2 concerns with this:
So, I suggest reworking the logic: App/src/pages/workspace/withPolicy.js Lines 116 to 123 in 6183609
This means we can simply get the policy id through props.policy.id and remove useNavigationState .
What alternative solutions did you explore? (Optional)I put this as an alternative because looks like it's intentional to have an empty Instead of empty App/src/libs/actions/ReimbursementAccount/navigation.js Lines 21 to 23 in a777544
Lines 373 to 375 in a777544
However, I don't know if it's intended to pass an empty App/src/libs/actions/BankAccounts.js Lines 294 to 300 in a777544
When we open the page, it will call the API with empty stepToOpen .
|
Looks like something related to As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our Feel free to drop a note in #expensify-open-source with any questions. |
This issue is reproducible. making this issue @bernhardoj thank you so much for the detailed review. If you have time, can you check if this ongoing navigation refactoring will affect your solution? We might need to put a hold on this cc: @Santhosh-Sellavel |
Job added to Upwork: https://www.upwork.com/jobs/~01bb0f281e371868b5 |
Triggered auto assignment to @isabelastisser ( |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @Santhosh-Sellavel ( |
@ArekChr do we have a proposal that we can go with? |
It looks like this is still reproducible, @ArekChr do you have an opinion on any of the proposals above |
@ArekChr kindly bumping 🙇 |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
bumpbed @ArekChr in the #contributor-plus channel |
Proposal from @bernhardoj looks good to me #21277 (comment) |
Current assignee @hayata-suenaga is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new. |
@hayata-suenaga will review the proposal above (please Melvin, it was the weekend!) |
@ArekChr, @adelekennedy, @hayata-suenaga Whoops! This issue is 2 days overdue. Let's get this updated quick! |
ah that's a very simple solution if we can get the ID from the Onyx data we already subscribe. Let's go with @bernhardoj 🚀 |
📣 @bernhardoj 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Now I'm unable to reproduce it anymore after this PR. Do we still want to fix the |
if the issue has been fixed, I don't think we need to create a PR for this. @adelekennedy please check if the issue reporter needs to be paid 🙇 Otherwise this PR can be closed |
Hey hey - I made a mistake in paying a reporter bounty of $50. It was for this other issue, but was tied to this job in upwork. No action required, just leaving a paper trail. |
This was applause internal so no payments due - @peterdbarkerUK @bernhardoj I'm going to end the contract but will not request a refund (I think the $50 doesn't require a refund here) |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
User moves to previous screen
Actual Result:
The user remained on the same screen. To go to the previous screen user needs tap 'Back' again
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.30.3
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Bug6102064_WS-offline-back-2times.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: