-
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
[Payment 2025-02-05] [$250] Start chat - User's name containing accent not shown in results if no accent in search query #53671
Comments
Triggered auto assignment to @strepanier03 ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.The problem is that when users search for a term like Alex, it does not return results like Álex, even though Álex exists in the DB. This happens because the search is treating accented and non-accented characters as distinct What is the root cause of that problem?The root cause is that we are not accounting for accented characters. When a user types a query like Alex, it does not match with Álex or other similar variants with accents, since the comparison is done exactly as typed, without normalizing for accent differences. What changes do you think we should make in order to solve the problem?Frontend Changes: We should deaccent the input query before sending it to the backend. This can be done using the normalize() method in JavaScript, which will convert accented characters (e.g., Á) into their unaccented versions (e.g., A). App/src/components/Search/SearchRouter/SearchRouterList.tsx Lines 391 to 393 in 840c227
as:
Backend Changes: The backend should also be updated to handle accent-insensitive searches |
Edited by proposal-police: This proposal was edited at 2024-12-06 05:19:16 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Start chat - User's name containing accent not shown in results if no accent in search query What is the root cause of that problem?We don't sanitize the search term to removes diacritical marks like we did in the country selector and we don't sanitize the data during the filter
App/src/libs/OptionsListUtils.ts Lines 1630 to 1665 in 840c227
What changes do you think we should make in order to solve the problem?Sanitize the search term and the data while filtering Change this code to the following See updated code
Also we need to update the BE accordingly as well, and sanitize the POC New-Expensify.36.mp4What alternative solutions did you explore? (Optional)Same solution as the main solution, but use |
@strepanier03 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
I am having a hard time confirming the expected behavior as well on Mac/Chrome. I created an account with the name Álex Timón D'artgnan.
|
@strepanier03 Eep! 4 days overdue now. Issues have feelings too... |
@strepanier03 Still overdue 6 days?! Let's take care of this! |
Job added to Upwork: https://www.upwork.com/jobs/~021869454978810524666 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @c3024 ( |
@strepanier03 @c3024 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! |
There seems to be a problem with logging in now. I will check the proposals later and update. |
We need to sanitize the text in the returned results to ensure they appear correctly in the search results for the search text. @nyomanjyotisa 's RCA and proposal LGTM for the frontend! Backend needs to normalize accents and send relevant results too! 👀 🎀 👀 C+ reviewed. |
🎀 👀 🎀 |
Triggered auto assignment to @MonilBhavsar, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@strepanier03, @MonilBhavsar, @c3024 Whoops! This issue is 2 days overdue. Let's get this updated quick! |
📣 @nyomanjyotisa 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
@nyomanjyotisa it would be great to add automated tests for this use case |
This went out in the deploy but I do want to highlight the fact that it wasn't working for our QA team: #55698 (comment) So there might be some revisiting necessary in this issue. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.90-6 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 2025-02-05. 🎊 For reference, here are some details about the assignees on this issue:
|
@c3024 @strepanier03 @c3024 The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
@nyomanjyotisa and @c3024 - Can one of you check on Yuwen's comment here and confirm if there's anything more that needs to happen here? If not, feel free to complete the checklist and I'll handle the reg test if you suggest one. Then I'll handle payment. |
When the contact is not available on the client, it is searched for on the server. A backend fix is required for that, as specified here. When the contact is available on the client, the filtering works fine, as seen in the initial part of the video shared. So, I think there is nothing left to be handled on the frontend here. cc: @strepanier03 |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test ProposalPrecondition:Test:
Do we agree 👍 or 👎 |
Payment Summary
|
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: 9.0.72.0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Yes, reproducible on both
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Action Performed:
precondition: there is a user with a name containing an accent mark e.g. Álex, Timón, D'artgnan
Expected Result:
User is displayed in the search results
Actual Result:
User is not displayed in the the search results unless the accent mark is entered. However, when setting an address in Profile, countries that have diacritics are shown when searching without them.
Workaround:
Unknown
Platforms:
Screenshots/Videos
bug.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @strepanier03The text was updated successfully, but these errors were encountered: