-
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
[HOLD for payment 2023-11-22] [$500] Workspace - Error page appears for a second after deleting a Workspace #30100
Comments
Triggered auto assignment to @stephanieelliott ( |
Job added to Upwork: https://www.upwork.com/jobs/~014d827f6ca9cff8a3 |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @hoangzinh ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Error page appears for a second after deleting a Workspace What is the root cause of that problem?When we confirm delete App/src/pages/workspace/WorkspaceInitialPage.js Lines 77 to 83 in bf8b849
As a result PolicyUtils.isPendingDeletePolicy(props.policy) becomes true
But at this point the animation is not over yet What changes do you think we should make in order to solve the problem?I think the easiest way to fix this is
What alternative solutions did you explore? (Optional)An alternative might be that we would first navigate and then call Policy.deleteWorkspace Or in Since we will no longer be able to reopen the workspace |
ProposalPlease re-state the problem that we are trying to solve in this issue.Error page appears for a second and then navigated back to the chat details What is the root cause of that problem?In here, we'll show not found page if the workspace is pending delete. So right after we delete the workspace here, it will show not found page briefly. What changes do you think we should make in order to solve the problem?We should not show the not found page in the case of "now the workspace is pending delete, but it's not before", because that means the user just deleted the page and we're pending the navigation. We can update this line to
And use the I also notice another issue, when we open the workspace initial page in 2 tabs, then we delete the workspace in 1 tab, it will show Not Found page in the other tab. In both tabs it should return back to the Workspace List page IMO because if not it will cause confusion for the user. If we want to fix this, we should remove this line and rely on the policy state (if the policy was not deleted and now it's deleted) to navigate instead
(for deleting workspace in 1 device, it syncs to another device, it will require a bit more fix, but as far as I know we consider dynamic updates across devices as bugs now) What alternative solutions did you explore? (Optional)Using page focus status: will cause Not Found page to not show up when transitioning in "real" Not Found case. |
@hoangzinh, @stephanieelliott Whoops! This issue is 2 days overdue. Let's get this updated quick! |
reviewing today. |
@samilabud Thanks for your proposal #30100 (comment). You pointed out which line of code causes this issue. But your proposal is vague to me. The RCA section should clearly point out what is truly the root cause of this issue, and the solution should be clear enough on how it will solve the issue. |
@dukenv0307 Thanks for your proposal #30100 (comment). Your proposal pointed out a correct RC. But your solution is not strong enough for me. It depends on the |
@hoangzinh thanks for the review!
@hoangzinh can you clarify what you mean by this? |
Proposal@hoangzinh this was what I meant, please verify again |
@hoangzinh, @stephanieelliott Huh... This is 4 days overdue. Who can take care of this? |
Hey @hoangzinh can you review this updated proposal when you get a chance: #30100 (comment) |
@samilabud Thanks for updates. I think your solution might cause a regression bug when the user accesses a not found workspace case from the beginning. Because your check is only triggered when the user leaves the page (or unmount component). |
@dukenv0307, I mean it's possible that while in animation transition time, there is another prop is updated in that component, it could make your condition here |
@ZhenjaHorbach Thanks for your proposal. Your RCA is correct. But your solution causes a regression bug for a real not found workspace case => when the screen is wiped out, the Workspace setting screen is displayed Screen.Recording.2023-10-31.at.15.33.27.mov |
@hoangzinh const navigation = useNavigation(); Screen.Recording.2023-10-31.at.09.54.49.mov |
@hoangzinh The PR is ready for review. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.99-0 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 2023-11-22. 🎊 After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.
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:
|
Issue not reproducible during KI retests. (First week) |
👋 checklist time, @hoangzinh! |
BugZero Checklist:
|
Yep, agree this was caught by Applause when executing the "core" steps of deleting a workspace. Okay, payments are as follows by my calculations:
No urgency bonuses apply as the PR was created after the Oct 24th cutoff. Sent you both offers! |
I haven't received the offer yet, could you check again @trjExpensify? Thanks |
@dukenv0307 - paid! @hoangzinh hm, interesting. Let me check. |
Okay, how about now? :) |
Accepted. Thanks @trjExpensify |
Nice one, paid. Closing! |
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: 1.3.87-10
Reproducible in staging?: Yes
Reproducible in production?: Yes
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
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Expected Result:
You will be navigated back to the chat details
Actual Result:
Error page appears for a second and then navigated back to the chat details
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
Windows: Chrome
Bug6244780_1697826660099.Error.mp4
MacOS: Desktop
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: