This fixes list is complementary and inspired from T375653 .
### Mislenaous (I)
See also T375653 .
- ✅ Fix Keyboard controls (H)
- ✅ T399388: Add UI language selector (P), make it a component with persistent memory (H)
- ✅ Make switchLocale effective on left-side menus (H)
- ✅ Replace `LookupWithFetch` by `LocationSearch`
- ✅ Upgrade SiteNotice and AppNotice for i18n support. (H)
- ✅ T354569 Add metrics js service Matomo (H)
- ✅ Fix stalemate at Step 1. Was tricky !! Vue's `ref()` and `computed()` are different. (H)
{F66144635}
{F66698515}
- ✅ Keyboard navigation to fix in LocutorStep.vue and LanguagesStep.vue. Hint: could be form field ids in cause)
{F66144634}
### Mislenaous (II)
- [ ] Oauth 2.0 via Commons to test
- T405919 Oauth related url are hardcoded
- ✅ T397834 When user switch UI language, refetch and refresh wikidata-sourced labels
- ✅ Input field LocationsSearch.vue
- ✅ Input field LanguageSearch.vue
- ✅ Labels
- ✅ T399390 Step 1: Set speaker's license as required
- ✅ Step 1: LanguageSelector with [[ https://github.com/hugolpz/Sparql2Data/blob/main/data/WD-Lingualibre_App-i18n.json | autonyms ]]
- [ ] Review file naming convention, restore :
- `LL-Q150 (fra)-Fabricio Cardenas (Culex)-ablueront.wav`
- `LL-{qid} ({iso639_3})-{locutor.name} ({username})-{item}.wav`
- [ ] Prevent SDC duplication : if file on Commons has SDC, upload2commons.py must not push SDC again nor create duplication. See [example > click on "Structured data"](https://commons.wikimedia.org/wiki/File:LL-Q150%E2%80%94Yug%E2%80%94%C3%AAtre.wav), [api data](https://commons.wikimedia.org/w/api.php?action=wbgetentities&sites=enwiki&titles=File:Q150%E2%80%94Yug%E2%80%94%C3%AAtre.wav&languages=en&utf8=true)
- [ ] Hide 'Exclude items you have already recorded'
- [ ] T384833 Refactor lists' preprocessing functions
- [ ] T399400 Step 4: LocalListDialog.vue input placeholder as `List:{iso3}/`
- [ ] T400552 Step 5: Fix audio overlap
- [ ] T372069 Step 4: SPARQL generator also accept ?definition
- 🔴 T384833 Refactor lists' preprocessing functions
### Cleaning MRs backlog
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/65 | MR!65]] by Aditya : clean up .env & related.
- ✅ [closed] [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/70 | MR!70 ]] by an external dev : feat: Added bulk upload endpoint for multiple recordings
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/72 | MR!72 ]] Accessibility: Use CdxField wherever possible ▶️ has built-in accessibility such as LTR / RTL.
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/73 | MR!73 ]] by Tacsipacsi, merged with edits !
- ✅ Handle [[ https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/74 | MR!74 ]] by Aditya, merged !
- [#81](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/81) [[diffs](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/81/diffs)] Add warning for LocutorStep's name
- [#82](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/82) [[diffs](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/82/diffs)] Add warning for LocutorStep's year_of_birth
- [#84](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/84) [[diffs](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/merge_requests/84/diffs)] Consolidate languages data : review of the SPARQL queries, update data, add update script
### Medium and major
- ✅ T344221 "Remove words previously recorded by this locutor" (P)
- ✅ Retry failed uploads when staled (A)
- [ ] T384826 Mariadb database fails on Chinese characters
- [ ] Prevent SDC duplication : if file on Commons has SDC, upload2commons.py must not push SDC again nor create duplication. See [file > "Structured data"](https://commons.wikimedia.org/wiki/File:LL-Q150%E2%80%94Yug%E2%80%94%C3%AAtre.wav), [api data](https://commons.wikimedia.org/w/api.php?action=wbgetentities&sites=enwiki&titles=File:Q150%E2%80%94Yug%E2%80%94%C3%AAtre.wav&languages=en&utf8=true)
### Consolidation
Not for this cycle.
- [ ] T399379: Ensure resilient uploads server side
### Migration
- ✅ Prepare locutors migration, align proficiencies