-
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
[HOLD for payment 2023-09-08] Web - App Crashes when reloading after editing the Merchant #26181
Comments
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open
|
Triggered auto assignment to @MariaHCD ( |
Merchant cannot be empty thats backend restriction, we probably need to add a validation here |
ProposalPlease re-state the problem that we are trying to solve in this issue.Not validating the merchant field to be required(not reproducing crash on the dev env) What is the root cause of that problem?We don't have any validation to restrict empty value for the merchant. Reason for a crash: When we refresh the money request report we receive incorrect structure by ReconnectApi call for
What changes do you think we should make in order to solve the problem?Add App/src/pages/EditRequestMerchantPage.js Lines 43 to 45 in 3f9f1e6
App/src/pages/iou/MoneyRequestMerchantPage.js Lines 121 to 123 in 3f9f1e6
Same needs to be done for Provide the default value in the lodashGet |
cc: @koko57 Please let us know what you find, thanks! |
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results. If a regression has occurred and you are the assigned CM follow the instructions here. If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future. |
I am able to reproduce the crash locally also due to incorrect orders bcoz whenever we refresh the money request report we won't get |
That makes sense, thanks @Pujan92. One thing about your proposal:
Do you mean we first need to check for |
Sorry, I made a mistake in thinking. We need to provide a default value for specific pendingFields considering the above reason bcoz we need to greyed out in any condition. I will update my proposal. - {lodashGet(transaction, 'pendingFields.amount') || lodashGet(transaction, 'pendingAction')}
+ {lodashGet(transaction, 'pendingFields.amount', null) || lodashGet(transaction, 'pendingAction')} |
looks like it doesn't see parentReportAction here |
Something fishy seems to be here, after a moment App/src/components/ReportActionItem/MoneyRequestView.js Lines 176 to 181 in 3f9f1e6
|
@parasharrajat I could reproduce it locally on main when I switched to using staging server |
and yeah, I agree with @Pujan92 that it should be checked on the BE as it happens not only for removing the merchant but also when editing other fields |
Even if we try to Save by clearing the input, it passes the previousValue(not the empty value) and returns some error message in response( App/src/libs/TransactionUtils.js Lines 211 to 213 in 4675db5
I think we are showing based on the optimistic onyx data. Screen.Recording.2023-08-29.at.20.10.33.mov |
Triggered auto assignment to @trjExpensify ( |
Bug0 Triage Checklist (Main S/O)
|
@daveSeife Yes $250 |
@mountiny Okay. Thank you! |
Created a PR which will not allow empty merchants |
Cool, so confirming after that PR is merged we'll pay the reporting bonus of $250 for this issue only? |
@trjExpensify I think we can already pay out the reporting bonus $250, the crash is fixed now |
Okay, perfect. @daveSeife I've sent you an offer. |
@trjExpensify Accepted the offer. Thank You! |
Perfect, paid! |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.61-3 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-09-08. 🎊 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:
As a reminder, here are the bonuses/penalties that should be applied for any External 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:
|
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Notice 'removed the merchant (previously "Request")' message appears
Expected Result:
The app does not crash
Actual Result:
App crashes
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.58.0
Reproducible in staging?: y
Reproducible in production?: n
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
Notes/Photos/Videos: Any additional supporting documentation
T131.Appchrash-1.mp4
Recording.4065.mp4
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1693277798912359
View all open jobs on GitHub
The text was updated successfully, but these errors were encountered: