-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[Due for payment 2025-04-17] [$250] Room - Infinite loading when user is removed from room while in RHP #58235
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
Comments
Triggered auto assignment to @lydiabarclay ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Using device back button after deleting workspace, leads to "It´s not here" page What is the root cause of that problem?After we delete the workspace, we'll navigate to Lines 522 to 524 in b239a9b
What changes do you think we should make in order to solve the problem?We should use Navigation.goBack(ROUTES.SETTINGS_WORKSPACES); What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?None What alternative solutions did you explore? (Optional)Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job. |
ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
App/src/pages/home/ReportScreen.tsx Lines 542 to 546 in 67cb4c1
App/src/pages/home/ReportScreen.tsx Line 741 in 67cb4c1
Eventually, the "It's not here" message appears in the report detail. What changes do you think we should make in order to solve the problem?
const currentRoute = navigationRef.getCurrentRoute();
const isReportDetailOpenInRHP =
isTopMostReportId &&
[...Object.values(SCREENS.REPORT_DETAILS), ...Object.values(SCREENS.REPORT_SETTINGS), ...Object.values(SCREENS.PRIVATE_NOTES)].includes(currentRoute?.name ?? '') &&
reportIDFromRoute === currentRoute?.params?.reportID;
// Early return if the report we're passing isn't in a focused state. We only want to navigate to Concierge if the user leaves the room from another device or gets removed from the room while the report is in a focused state.
// Prevent auto navigation for report in RHP
if ((!isFocused && !isReportDetailOpenInRHP) || isInNarrowPaneModal) { What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
What alternative solutions did you explore? (Optional)
const isReportDetailOpenInRHP =
isTopMostReportId &&
[...Object.values(SCREENS.REPORT_DETAILS), ...Object.values(SCREENS.REPORT_SETTINGS), ...Object.values(SCREENS.PRIVATE_NOTES)].includes(currentRoute?.name ?? '') &&
reportIDFromRoute === currentRoute?.params?.reportID; can be simplified by dropping the route name check: [...Object.values(SCREENS.REPORT_DETAILS), ...Object.values(SCREENS.REPORT_SETTINGS), ...Object.values(SCREENS.PRIVATE_NOTES)].includes(currentRoute?.name ?? '') This way, as long as the RHP screen has a reportID param matching the reportID of the removed report, we ensure the navigation to Concierge isn’t skipped.
|
Waiting for some clarification in slack before proceeding with triage (possibly update "expected result" section) |
|
Job added to Upwork: https://www.upwork.com/jobs/~021900277799378678085 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allroundexperts ( |
@lydiabarclay In the case of a large device, when the user opens the RHP, which report will be visible in the background? |
@thelullabyy can you clarify your question a little? for example, are you asking whether the removed user should see the "it's not here" screen on both desktop and mobile? I'm a little confused by what you mean by "which report." |
Prerequisite:Two accounts, each logged into a different device or environment.
In this bug, since the opening screen is the report detail, the report screen just remains in the background. As a result, User B isn’t redirected to the Concierge report when removed by User A. I think we could leverage the existing behavior (redirecting the user to the Concierge report when they’re removed from a room) to fix this bug too. What do you think, @lydiabarclay? |
@allroundexperts Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@shawnborton could you advise on the above suggestion? |
cc @Expensify/design for viz |
Yeah I agree with Shawn. I would expect to go back to the LHN after that screen, but also agree that if we have an established pattern let's just stick with it. |
@thelullabyy confirmed above! |
@thelullabyy will you update your proposal if needed? |
@allroundexperts will you review proposals? |
Triggered auto assignment to @mountiny, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @thelullabyy 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@allroundexperts Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@thelullabyy could you please update the issue on when we can expect a PR to be ready for review |
@lydiabarclay Sorry about the delay, it'll be ready today |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.25-4 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 2025-04-17. 🎊 For reference, here are some details about the assignees on this issue:
|
@allroundexperts @lydiabarclay @allroundexperts 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] |
@allroundexperts will you please complete the checklist? Thanks so much! |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test ProposalPrecondition:
Test:
Verify that the removed User should see the "It's not here" screen, and then tapping on the back button at the top of that screen should return them to their chat/LHN. Do we agree 👍 or 👎 |
Payment SummaryContributor: @thelullabyy paid $250 via Upwork ... Paid, regression test filed: https://github.com/Expensify/Expensify/issues/491128 |
Uh oh!
There was an error while loading. Please reload this page.
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.1.11-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Yes, reproducible on both
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/5725070&group_by=cases:section_id&group_order=asc&group_id=296763
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Device used: Motorola MotoG60 - Android 12 - Chrome / Windows 10 - Chrome
App Component: Other
Action Performed:
Prerequisite: Have two accounts, opened in two different devices or environments.
Expected Result:
Removed User should see the "It's not here" screen, and then tapping on the back button at the top of that screen should return them to their chat/LHN.
Actual Result:
Removed User taps on the back button at the top of the "It's not here" screen, and infinite loading is experienced when returning to chat/LHN.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6767494_1741702674511.Not_Here.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @lydiabarclayThe text was updated successfully, but these errors were encountered: