internetarchive / internetarchive/openlibrary
Edition table filter doesn't correctly do diacritic folding
- Dominant language
- Python
- Stars
- 6.7k
- Forks
- 2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 126
Description
### Problem
As stated in title
Search "germenes"

Search "gérmenes"

### Reproducing the bug
1. Go to https://openlibrary.org/works/OL276558W
2. Click "Afficher les 58 éditions"
3. Type "armas" in the Search field
4. Note the 15 editions and their titles
5. Replace "armas" with "germenes" and note how the the list changes to just 6 editions
6. Replace "germenes" with "gérmenes" and note that the list now consists of 8 different editions
* Expected behavior: Both search terms match the same set of 14 diacritic folded titles
* Actual behavior: Titles have to match exactly (probably including Unicode normalizatin form, I suspect)
### Context
- Browser (Chrome, Safari, Firefox, etc): Chrome
- OS (Windows, Mac, etc): Mac
- Logged in (Y/N): Y
- Environment (prod, dev, local): prod
### Breakdown
#### Requirements Checklist
* [ ]
#### Related files
*
#### Stakeholders
*
#### Instructions for Contributors
- Please [run these commands](https://github.com/internetarchive/openlibrary/wiki/Git-Cheat-Sheet#working-on-your-branch) to ensure your repository is up to date **before** [creating a new branch](https://github.com/internetarchive/openlibrary/wiki/Git-Cheat-Sheet#making-changes-and-creating-a-pull-request) to work on this issue and **each time after** pushing code to Github, because the pre-commit bot may add commits to your PRs upstream.
Contributor guide
Research direction
Start with the reproduction on the work's edition table and trace the implementation of its Search field and title matching. Confirm the behavior with both “germenes” and “gérmenes”; done means both terms return the same 14 diacritic-folded titles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100