-
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-07-17] [$1000] App changes emoji tax number to actual number, causing confusion for user during manual bank account connection #21065
Comments
ProposalCombined proposal from #21062 (comment) to fix Zip Code issue. Please re-state the problem that we are trying to solve in this issue.App changes emoji tax number to actual number What is the root cause of that problem?The root cause of this issue is that, in method App/src/libs/ValidationUtils.js Lines 434 to 436 in bee8fd3
We call "0️⃣9️⃣0️⃣9️⃣0️⃣9️⃣0️⃣9️⃣0️⃣".replace(/\D/g, '') outputs What changes do you think we should make in order to solve the problem?After checking other similar validation use cases in ValidationUtils, like isValidDebitCard and isValidSecurityCode, I find that they're not doing stripping out non-digit characters before testing regex pattern. So, in this case, I think also shouldn't strip out non-digit characters before testing regex. To fix this issue, we can change this line App/src/libs/ValidationUtils.js Line 435 in bee8fd3
to return taxID && CONST.REGEX.TAX_ID.test(taxID); What alternative solutions did you explore? (Optional)N/A |
Triggered auto assignment to @sonialiap ( |
Bug0 Triage Checklist (Main S/O)
|
😂 that is odd behavior, let's throw an error. Triaging to external |
Job added to Upwork: https://www.upwork.com/jobs/~018839cf0c086e82de |
Current assignee @sonialiap is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
I propose we expand this issue's scope to prevent emoji entry (i.e. throw an error) into any of the bank form fields |
Entering an emoji in a field is not an issue. If a field does not support emoji, it should show an error below the field. We don't want to prevent the user from entering anything. |
Do we only want the numbers in Tax Id field? |
Hi @parasharrajat , from Slack discussion, the team suggested to fix ZIP and Tax ID together. I think they're similar but their root causes are different technically speaking. Do you agree to fix them together in this issue? If you do, then I'll be also happy to fix them together by combining my proposal from the other issue. cc @sonialiap |
Ah, thanks for pointing out that the root causes are different @eh2077, I don't have insight into the code part of the problem so that wasn't something I was aware of. |
@parasharrajat US Tax ID numbers and US zipcodes consist of only numbers. When you type a letter into both fields in NewDot now, it throws an error about unsupported input. US tax IDs and zipcodes definitely do not consist of emojis so we should be throwing an error if a user enters an emoji. Throwing errors is more in line with our existing practices than preventing input, so I think throwing an error is the way to go with this one. To clarify, the tax ID and zip code fields should only accept numerals |
I'm actually not sure if we want to accept the dash. While the dash can be present in both the tax ID and the zipcode, some systems request that the data is input without the dash. I'm not sure if we accept the dash on the back end but unless we're actively blocking it now, it's probably fine to include in the accepted symbols for both of these fields. |
Regarding expanding the scope of this issue to throw an error for emoji input for all bank fields, unless you're this guy, you most likely don't have emojis as part of your banking details so I expect emojis to not be valid input for any of the fields. If we don't want to throw an error for emojis in these fields in general, fine by me, but we definitely don't want to accept emojis in tax ID and zip code. |
@sonialiap Below are the current formats expected to be save to the backend FYI Tax ID: consists of 9 digits only |
ProposalPlease re-state the problem that we are trying to solve in this issue.App changes emoji tax number to actual number, causing confusion for user during manual bank account connection What is the root cause of that problem?We are have no validation for emojis in bank input fields What changes do you think we should make in order to solve the problem?As @sonialiap mentioned we should throw an error whenever the user enters an emoji in the input field. To achieve this we can add an emoji check where we are validating. We already have an emojis regex in CONST.js we can use it to validate bank input fields we can do this for the fields we want to set emoji check. In this way we are not messing up with already created regex. Results here I have only added validation in taxid and zipcode Screen.Recording.2023-06-23.at.6.44.31.AM.movWhat alternative solutions did you explore? (Optional) |
Sorry for the delay. Yeah, @eh2077 We should fix both fields together there. These issues are related and we have done the same in the past where we take a holistic approach to target root causes. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Hey, @parasharrajat thoughts on #21065 (comment)? |
📣 @eh2077 You have been assigned to this job! |
📣 @tewodrosGirmaA 🎉 An offer has been automatically sent to your Upwork account for the Reporter role 🎉 Thanks for contributing to the Expensify app! |
@parasharrajat The PR #22280 is ready for review, thanks! |
🎯 ⚡️ Woah @parasharrajat / @eh2077, 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 🚀 |
Hey @parasharrajat @eh2077 curious if you think this issue will be resolved with this PR? Issue: when entering an account number "XXX868713" the 'X' is accepted as a number. |
Hi @Christinadobrzyn , this PR can't fix the issue you mentioned because their root causes are different. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.3.38-7 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-07-17. 🎊 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.
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:
|
Friendly bump @sonialiap This is ready for payment |
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:
Regression Test Steps
Do you agree 👍 or 👎 ? |
Apologies for the delay! Somehow I missed this issue 🙈 @eh2077 offer sent for fix (+bonus) - paid ✔️ |
@sonialiap Accepted the offer thanks |
Upwork paid and request to add regression test submitted, closing |
Payment requested 1500. |
Reviewed details for @parasharrajat. This is accurate based on summary from Business Reviewer and approved for payment in NewDot. |
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:
The app should differentiate the emoji number in the tax number field from the actual numbers and display a relevant error message if an incorrect format is entered. The app should not change the emoji number to the actual number; instead, it is preferable to display an error message initially.
Actual Result:
The app changes the emoji number in the tax number field to the actual number, causing confusion for the user.
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.29.2
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
Notes/Photos/Videos: Any additional supporting documentation
screen-capture.82.1.webm
Recording.775.1.mp4
Expensify/Expensify Issue URL:
Issue reported by: @tewodrosGirmaA
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686476984591029
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: