-
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
[$500] Web - When a user changes their profile status, the app brings you to the end of the conversation. #33110
Comments
Triggered auto assignment to @puneetlath ( |
Job added to Upwork: https://www.upwork.com/jobs/~017a47704cf8762519 |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.When a user changes their profile status, the app brings you to the end of the conversation. What is the root cause of that problem?Currently we are App/src/pages/home/sidebar/AvatarWithOptionalStatus.js Lines 32 to 39 in 904cf56
so the page is unnecessarily reloading and the report screen is scrolled to bottom creating a disturbing user experience and I think we should avoid this unnecessary reloading. What changes do you think we should make in order to solve the problem?We should use App/src/pages/home/sidebar/AvatarWithOptionalStatus.js Lines 32 to 39 in 904cf56
The necessity of saving it in onyx is to make it work perfectly on page refresh. otherwise, we can also use global variable just similar to What alternative solutions did you explore? (Optional) |
ProposalPlease re-state the problem that we are trying to solve in this issue.If we open another chat, then open the status page from the sidebar (settings) avatar, and then close it, a new chat will open. What is the root cause of that problem?When we open the status page from the sidebar avatar, we set App/src/pages/home/sidebar/AvatarWithOptionalStatus.js Lines 38 to 39 in 3a44f77
Then, on pressing back/save, we call
If both App/src/libs/Navigation/Navigation.ts Lines 146 to 152 in 3a44f77
So, the current report is also popped out from the stack, and a new one will be added. What changes do you think we should make in order to solve the problem?I would like to propose a quite different solution. First of all, I think we shouldn't use If we open the status page from the sidebar avatar, Because it's still true if we open the status page from the profile page and press back, it will pop out all screens, even though it should go back to the profile page. So, the solution I would like to propose is to have a different route path for the status page, depending on where we open it. If we open it from the sidebar avatar, we will navigate to App/src/pages/home/sidebar/AvatarWithOptionalStatus.js Lines 38 to 39 in 3a44f77
Then, based on the current route, we can decide whether we need the fallback route or not.
Here is how you add the new route
|
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
|
Current assignee @puneetlath is eligible for the Engineering assigner, not assigning anyone new. |
ProposalPlease re-state the problem that we are trying to solve in this issue.Web - When a user changes their profile status, the app brings you to the end of the conversation. What is the root cause of that problem?After save status will Navigation.goBack at function What changes do you think we should make in order to solve the problem?We have to check the current state has const routesHistory = useNavigationState((state) => state.routes || []);
const navigateBackToPreviousScreen = useCallback(() => {
const topmostReportId = Navigation.getTopmostReportId();
if (topmostReportId && routesHistory.length === 1 && !routesHistory[0].path) {
Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(topmostReportId));
} else {
Navigation.goBack(ROUTES.SETTINGS_PROFILE, false, true)
}
}, [routesHistory]); POC 33110_2.mp4What alternative solutions did you explore? (Optional) |
@lanitochka17 Is this still reproducible? I can't seem to be able to reproduce this. Screen.Recording.2023-12-18.at.12.29.55.AM.mov |
@FitseTLT I don't think so. The linked commit is not merged, but used as a part of the proposal. |
@mananjadhav Now it is opening another report when I save status. Before 3 days it was reloading the current report. Odd!! |
@mananjadhav it still reproduce by click on a status icon on the left of avatar, the description is missed step click on the icon next to avatar. you can view a video attachment in description |
I am able to reproduce it @mananjadhav. However, I don't think this needs to be a deploy blocker. |
@DylanDylann |
@suneox Oh sorry because I did not mention the expected behavior. Here is the steps:
Actual: The profile modal opens |
@DylanDylann I don't know your reference issue the Expected result is In my video seconds from 18-23s still match the expected behavior |
|
The reproduce step do not include reload step.
And now your expected behavior is the same for reload case, I think you not fair when you raise regression and then you update the current behavior is a regression, so how about your the expected behavior on you issue has linked when reload? |
I mentioned it in step 4
I think the expected is: clicking on back button will bring user to the previous screen |
The expected behavior in #33002 after reload is |
@mananjadhav what are your thoughts on this issue? |
I checked the PR, but I'll check all the comments today. |
@mananjadhav bump! |
Was unwell past few days, will get to this by tomorrow. |
@mananjadhav any update? |
I went through the PR and the comments discussion. There was substantial delay from my side to review the comments. But I don't think this is still reproducible anymore. We don't have a Profile modal, we have the Profile page. Opening the status shows the Profile page, moving away from the report page. Reloading the page should go back to the Profile page, so I think this is working as expected. @lanitochka17 Can you confirm if this is still reproducible at your end? web-status-profile-reload.mov |
Since the page goes to profile, it resets back to the bottom. If the expectation is to reset, than issue is no longer applicable, |
@puneetlath What should we do here? |
I think we should close this out. The original bug isn't there anymore and I think what is shown in @mvtglobally's video is fine. Thanks for your input everyone! |
Reopening this since the work was completed, so there should be some payment made. Being discussed here: https://expensify.slack.com/archives/C02NK2DQWUX/p1713323524607299 |
Hi @puneetlath, I believe that fair compensation is warranted for the time I spent investigating solutions, creating and updating the PR. This is because another contributor raised a regression issue that was not clearly communicated. Additionally, this contributor made multiple updates without notifying others after my solution works he also continued to update, and the reviewer also delayed reviewing the PR. |
Ok, I've reviewed the thread/PR and I think that @suneox is due compensation since they did do the work they were hired for, though we didn't end up using it. I think @mananjadhav is due 50% compensation since they did partial work, but did not review/test the PR. Payment summary: @suneox can you please send me a link to your upwork profile? |
Thanks @puneetlath. Agreed with the assessment. |
@puneetlath Thanks for recognizing the effort put into our work, here is my upwork profile |
$250 approved for @mananjadhav |
Np y'all. Thanks for your patience. @suneox offer is here: https://www.upwork.com/nx/wm/offer/102163593 Please ping me on the issue when you've accepted it. |
@puneetlath I have accepted an offer. Thank you! |
Ok all paid. Thanks y'all! |
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: 1.4.13.0
Reproducible in staging?: Y
Reproducible in production?: Y
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:
When a user changes their profile status, the app should stay in the same conversation position
Actual Result:
When a user changes their profile status, the app brings you to the end of the conversation
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6313458_1702578893863.Recording__5707.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: