-
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 2024-02-07] [$500] Web - Chat- Hmm it's not here page displayed on reloading page after selecting Request money #33990
Comments
Job added to Upwork: https://www.upwork.com/jobs/~01356e28bc3ed07d0f |
Triggered auto assignment to @adelekennedy ( |
Bug0 Triage Checklist (Main S/O)
|
Triggered auto assignment to Contributor-plus team member for initial proposal review - @cubuspl42 ( |
Proposalfrom: @unicorndev-727 Please re-state the problem that we are trying to solve in this issue.Chat- Hmm it's not here page displayed on reloading page after selecting Request money. What is the root cause of that problem?The root cause is that we use new
App/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts Lines 31 to 33 in dc3e19b
What changes do you think we should make in order to solve the problem?We should check if report exists regardless reportId is valid here and if report doesn't exist, we shouldn't return that reportId. App/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts Lines 30 to 32 in dc3e19b
to
screen-capture.4.webmWhat alternative solutions did you explore?N/A |
ProposalPlease re-state the problem that we are trying to solve in this issue.Hmm... it's not here page displayed on reloading page after selecting Request money What is the root cause of that problem?When creating money request via FAB, we'll generate a random reportID and put in the route. When reloading we're unable to find the report associated with that reportID so this issue happens. What changes do you think we should make in order to solve the problem?If we're on the request money/split bill/related route, and we cannot find any report matching We can optionally optimistically create the report for those reportID as well, with the What alternative solutions did you explore? (Optional)NA |
ProposalPlease re-state the problem that we are trying to solve in this issue.Hmm... it's not here page displayed on reloading page after selecting Request money What is the root cause of that problem?When we create money request via FAB, we generate a random What changes do you think we should make in order to solve the problem?We need to compare if (route?.params?.reportID === reportID) { What alternative solutions did you explore? (Optional)Screen.Recording.2024-01-05.at.7.02.48.AM.mov |
ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
const getTopMostReportIDFromRHP = (state: State): string => {
if (!state) {
return '';
}
const topmostRightPane = state.routes.filter((route) => route.name === NAVIGATORS.RIGHT_MODAL_NAVIGATOR).at(-1);
if (topmostRightPane?.state) {
return getTopMostReportIDFromRHP(topmostRightPane.state);
}
const topmostRoute = state.routes.at(-1);
+ if (topmostRoute?.params && topmostRoute.params.iouType === "request") {
+ return '';
+ }
if (topmostRoute?.state) {
return getTopMostReportIDFromRHP(topmostRoute.state);
}
if (topmostRoute?.params && 'reportID' in topmostRoute.params && typeof topmostRoute.params.reportID === 'string' && topmostRoute.params.reportID) {
return topmostRoute.params.reportID;
}
return '';
}; What alternative solutions did you explore? (Optional)
|
@cubuspl42, @adelekennedy Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@cubuspl42 it looks like there are a few proposals to review! |
@unicorndev-727
Consider how? I don't understand your solution, sorry.
What's the UX of this solution? Does the "random" report ID stay in the URL bar?
This brings garbage collection challenges... Do you think this is a realistic option? Anything goes "wrong" (the user closes a tab, whatever) and we're left with garbage in this solution, right? I think we have a different understanding what a deeplink is. In the context of this Web-specific issue, you probably just mean "URL".
You stick to the example, but what's the logic of the suggested solution? I guess that it's something like "when te report ID in the URL points to a non-existing report, we...", but you didn't state this explicitly. Examples are good, but they can't be the only thing describing a solution.
You said "can". Is it an optional part of the solution? Let's focus on the code diff now. First, a nit. Isn't Leaving nits aside... From the proposal itself, I don't think it's clear how the first change (not adding a route with invalid report ID to |
We need to add a new condition here if report with this reportId exists.
So if report doesn't exist, we can set lase accessed report id from |
@cubuspl42 |
@unicorndev-727 So, what actually happens after the reload in the proposed solution, as I understand it:
Is this correct? |
Now it is. |
This is a bit work-aroundish, if not hacky, to present some "garbage" from the URL, just because it makes the implementation easier. |
Everyone, I do not understand one important high-level thing here. Wy do we include the report ID in the URL, if this is not a persisted entity? Why... Also, what is |
That is
|
@cubuspl42 I updated proposal based on your comment |
@DylanDylann Oh, I misunderstood your proposal structure. The second bullet is the implementation of the idea from the first one. This changes a lot. Again, nit: Isn't this equivalent to Also, what's the UX of this solution? How does the URL behave from user's perspective? Does the "old" random ID stay in the URL bar? |
What is "this" here?
Yes. Because when user opens |
Still active discussion |
clearing the overdue - still discussion above |
Hmm - I'm not sure why the overdue didn't clear. testing. |
Let's assign @DylanDylann. We'll change the app behavior to always present the last visited report in the central pane, regardless of the @DylanDylann persistently presented the benefits of his idea and got it approved by the internal engineer. C+ reviewed 🎀 👀 🎀 |
Triggered auto assignment to @francoisl, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
📣 @cubuspl42 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @DylanDylann 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@cubuspl42 PR #35210 is ready to review |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.33-5 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-02-07. 🎊 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:
|
|
@adelekennedy Were the payments processed? |
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.22-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:
2.Go to any 1:1 DM
Expected Result:
Previous opened chat history should display on reloading page after selecting Request money options
Actual Result:
Hmm... it's not here page displayed on reloading page after selecting Request money
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6332682_1704414716168.New_video.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: