-
Notifications
You must be signed in to change notification settings - Fork 3k
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] Split bill - When delete Split Bill report from attendee DM & go back - Error page showing #29497
Comments
Triggered auto assignment to @twisterdotcom ( |
Bug0 Triage Checklist (Main S/O)
|
ProposalPlease re-state the problem that we are trying to solve in this issue.When there is only 1 transaction is available in a IOU report, if the IOU transaction get deleted from the Transaction View page, it is deleted and user is routed to 1:1 DM page. Then, when user click on back button, it routes to a Not here error page. What is the root cause of that problem?When the last transaction in IOU report is deleted, the current logic will delete the transaction as well as IOU report, per Currently there is a Lines 2133 to 2137 in fe282b4
However, when user is in IOU Report > Transaction View page, that would only pop the route for Transaction View page. What changes do you think we should make in order to solve the problem?When user is deleting the last IOU transaction from Transaction View page, we need to pop both IOU Report and Transaction View routes from the Navigation stack, because both pages are deleted and no longer be accessible. An example of how it can be done, by changing: Lines 2134 to 2135 in fe282b4
to if (isSingleTransactionView) {
// Pop the deleted Transaction View screen
Navigation.goBack(ROUTES.HOME);
}
// Pop the deleted Report Screen
Navigation.goBack(ROUTES.HOME); Note: when validating my proposed fix, I realised in order to validate the end-to-end fix, I will need to apply additional fixes similar to #29183 (comment) but in If the app crash bug has not been reported elsewhere or fixed before PR for this issue is raised, then I will include changes for What alternative solutions did you explore? (Optional)I have also considered using doing it like so if (isSingleTransactionView) {
Navigation.pop(2);
} else {
Navigation.pop(1);
} where |
Job added to Upwork: https://www.upwork.com/jobs/~01ac48abac656adba3 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Just a note @lanitochka17 that if it's reproducable already, feel free to add |
ProposalPlease re-state the problem that we are trying to solve in this issue."Hmm... It's not here" error page appears after deleting money request and go back What is the root cause of that problem?If the money request is the only one in the IOU report, the IOU report will also be deleted after the money request is deleted. In here, we only go back once, so the IOU report screen still remains in the navigation structure. So when we click go back, it will show not found page. What changes do you think we should make in order to solve the problem?In here, if the page before the current transaction page is the IOU report page, we'll call another
To check this, we can add a method to get the previous route report id (which uses the similar logic to
Then check the previous route report id against the IOU report id
We cannot rely on the After the above change, the app crashes because in What alternative solutions did you explore? (Optional)Instead of the |
ProposalPlease re-state the problem that we are trying to solve in this issue.404like page loads after deleting the money request What changes do you think we should make in order to solve the problem?This, but the if should not be made on the chat report ID which may still exist, but on the whole chatReport Object, like in the code below this one: if (shouldDeleteIOUReport) {
/*in this if im checking the reportID, which may not be null, so it should check the whole chatReport Object
to see that if it has been deleted and if it is now null/undefined it should go back to home screen / chatlist */
if (iouReport.chatReportID == null || iouReport.chatReportID == undefined) {
Navigation.goBack(ROUTES.HOME);
Navigation.goBack(ROUTES.HOME);
//it should go back to the home screen / ChatList screen without loading the deleted report
}
else{
Navigation.goBack(ROUTES.HOME);
Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(iouReport.chatReportID));
}
} So the 2nd if should be something like: if(!chatReportExists(iouReport.chatReportID)){
Navigation.goBack(ROUTES.HOME);
Navigation.goBack(ROUTES.HOME);
//it should go back to the home screen / ChatList screen without loading the deleted report
} ...
function chatReportExists( chatReportID ){ ... } |
📣 @imbngy! 📣
|
@tienifr your proposal is same as mine. As mentioned in my proposal, the code example is an example, what is relevant is getting the root cause right and propose acceptable solution approach for the issue reported. We should not fixate on code changes in proposal stage. When it is time to develop fix for the bug, the actual code changes in the PR can be reduced to simplify implementation, or increased to cover additional edge cases discovered during validation on all supported platforms. |
Reviewing... |
@honnamkuan let's keep discussion to minimal and wait for the C+ review. For your concern, my solution is clearly different from yours, it will rely on the navigation state rather than checking
I also didn't suggest any detailed code change here, I only gives my recommendation on the solution. |
@parasharrajat intrigued for your take here please. |
Sure. Give me sometime to get back to it. |
@twisterdotcom, @parasharrajat Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Bump here @parasharrajat |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
I understood the root cause but I still need more info on how will reliably check if the last report was IOUreport or ExpenseReport. |
@twisterdotcom @parasharrajat this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
Still waiting on proposals then I suppose. |
@parasharrajat I've updated the proposal to clarify my approach for this. Hope it's clearer now.
|
@twisterdotcom, @parasharrajat Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Bump here @parasharrajat. |
@twisterdotcom, @parasharrajat Eep! 4 days overdue now. Issues have feelings too... |
I will review it in 2 hours. |
@twisterdotcom @parasharrajat this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks! |
Can we assign @tienifr? |
Triggered auto assignment to @iwiznia, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
hmmmmm this seems like a duplicate of #26569 which will be fixed by #26498 |
Seems like a dupe |
@iwiznia, @twisterdotcom, @parasharrajat Whoops! This issue is 2 days overdue. Let's get this updated quick! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@s77rt has taken over as the C+ of the issue. He has more information about the issue. |
@parasharrajat This is a dupe and #26498 will fix it |
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.3.83-5
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:
User should be landed on LHN or 1:1 DM
Actual Result:
"Hmm... It's not here" error page appears
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Android: Native
Bug6234969_1697142018642.az_recorder_20231012_210513.mp4
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @parasharrajatThe text was updated successfully, but these errors were encountered: