-
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
[$1000] Money request page crash after sign in #23420
Comments
Triggered auto assignment to @JmillsExpensify ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.The app crash when opening the money request page after signing in What is the root cause of that problem?The crash happens because in App/src/components/TextInputWithCurrencySymbol.js Lines 23 to 24 in b7d17e0
The selectedCurrencyCode is passed down from MoneyRequestAmountPage with the value from props.iou.currency (Onyx IOU). We have a defaultProps that set the currency to USD.App/src/pages/iou/steps/MoneyRequestAmountPage.js Lines 67 to 72 in b7d17e0
defaultProps will be used if iou is undefined. The problem is, Onyx IOU itself has a default value.Lines 31 to 39 in b7d17e0
So, when we sign in, we have an IOU object of {loading, error} which will ignore the defaultProps in MoneyRequestAmountPage , thus the currency is undefined.This issue is a regression of my PR here #17964. Previously, we use lodashGet to get the currency and default to USD. Here is the commit of using the lodashGet https://github.com/Expensify/App/pull/17964/commits/4fdf587c1fca3cc147f7184c1bf765bcd2cf5ee5#diff-879f243892ee617d3ea9b[…]91d2bec3eb12b90f09aac6a05abut somehow I remove it in a later commit. What changes do you think we should make in order to solve the problem?I think that's okay to not use Lines 36 to 39 in b7d17e0
Both loading and error are not being used anywhere. What alternative solutions did you explore? (Optional)Make |
Bug0 Triage Checklist (Main S/O)
|
In any case, I think that's largely a detail given that it's consistent with your video. I'm going to triage as a result. |
Job added to Upwork: https://www.upwork.com/jobs/~01c96f9a061c08188b |
Current assignee @JmillsExpensify is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allroundexperts ( |
Hello, If you need my help to fix this task, so please let me know. Thank you Upwork profile: https://www.upwork.com/freelancers/~01ef98c02265da3b6f |
📣 @MuhammadASif011! 📣
|
Hello, we can solve the issue by modifying this code |
📣 @kayowakmelese! 📣
|
Contributor details |
|
Contributor details |
|
Contributor details |
✅ Contributor details stored successfully. Thank you for contributing to Expensify! |
Contributor details |
It is snap to fix it I think. |
📣 @flyingmorrow! 📣
|
The RCA and solution mentioned in @bernhardoj's proposal looks good to me. 🎀 👀 🎀 C+ reviewed |
📣 @allroundexperts Please request via NewDot manual requests for the Reviewer role ($1000) |
📣 @bernhardoj 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
📣 @bernhardoj 🎉 An offer has been automatically sent to your Upwork account for the Reporter role 🎉 Thanks for contributing to the Expensify app! |
Can't log in to the app. I think there is a log in problem. |
PR is ready for review cc: @allroundexperts |
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. |
🎯 ⚡️ Woah @allroundexperts / @bernhardoj, great job pushing this forwards! ⚡️ The pull request got merged within 3 working days of assignment, so this job is eligible for a 50% #urgency bonus 🎉
On to the next one 🚀 |
I don't think this was the current fix correct fix was done here - #23636 (comment) we can revert the PR in this issue |
It is the correct fix. Quoting from the linked issue:
The reason the currency is undefined is because the default props are not applied. That is because we initialized the IOU props to be {errors, loading}. The PR removes that because it is unused. The IOU currency props won't be undefined anymore. |
@JmillsExpensify I think this is ready for payment. |
@JmillsExpensify bump for payment |
👋 @JmillsExpensify can you reduce the payment for @bernhardoj by 50% when you pay this please? We missed a regression here and I already settled up. Thanks! |
@JmillsExpensify Waiting for the payment summary so I can request payment in ND! |
@JmillsExpensify hi, is there any update on the payment? |
@JmillsExpensify waiting for the payment |
Apologies, circling back to this now. |
Payment summary:
I'll issue an offer to @bernhardoj based on this amount. Please comment on this issue if you feel that's incorrect. |
Then @allroundexperts looks like you owe us a BZ checklist on this issue, including suggestion on regression test. |
Alright, Upwork offers are paid out. I'm going to close this issue but I'll still keep tabs on follow-up since I'll have to process a payment for C+ via NewDot. |
Checklist
Regression test
Do we 👍 or 👎 ? |
That seems like a pretty basic regression test. I think it's already covered given that we are testing requesting before each deploy. |
$1,500 payment approved for @allroundexperts based on summary above. |
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:
Expected Result:
App crash
Actual Result:
App should not crash
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.44-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
Notes/Photos/Videos: Any additional supporting documentation
Screen.Recording.2023-07-22.at.17.04.45.mov
Recording.1320.mp4
Expensify/Expensify Issue URL:
Issue reported by: @bernhardoj
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690017033035589
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: