This task lists all bugs found when reviewing Lingua Libre v3
Deployment:
- [x] Toolforge > deployment thanks to Pushkar, Aditya and Yug.
### UI, i18n, others
Low hanging fruits to fix -> Aditya :
- [x] #1 [medium] Step 0 : Login, intermediate message page [[ https://gitlab.wikimedia.org/search?search=Do%20not%20refresh%20or&nav_source=navbar&project_id=1678&group_id=2992&search_code=true&repository_ref=main | front-end/src/views/OauthSuccesReditect.vue ]] : replace text by [spinner page template](https://jsfiddle.net/hugolpz/dr2k8nf6/) (see also [legacy spinner](https://github.com/search?q=org%3Alingua-libre%20spin&type=code))
- [x] #2 [high] Step 1 > Licenses selector appeared only ~20px width -> add `min-width:10em` ?
- [x] #3 [medium] Step 1 > Place field needs an hint. Wikimedia Codex textInput has [:start-icon](https://doc.wikimedia.org/codex/latest/components/demos/text-input.html#form-field), try [cdxIconMapPin](https://doc.wikimedia.org/codex/latest/icons/all-icons.html#cdxIconMapPin)
- [x] #4 [low] Step 1 >Languages rows need limit to empty creation.
- [ ] #5 [high] Step 4 > List generator [LocalListDialog.vue](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/front-end/src/components/Generators/LocalListDialog.vue) should be prefilled with `List:{iso3}/`
- [ ] #14 Step 4: Nearby generator fails. Replace hard coded `en` by user's i18n picked iso2 in [here](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/front-end/src/components/Generators/NearbyDialog.vue?ref_type=heads#L137-142) Must account for when `item.labels.en.value` or `item.labels.{iso2}.value` or `title` are empty strings so the script don't crash but skip.
- #6 [high] Step 4 > Lexeme generator : shows Qid, should show label in the active UI's language. Two halves:
- [x] 1) Use `fetchLabelForWikidataItem()`
- [ ] 2) use variable for active language's `iso2` as argument.
- [ ] #17 [medium] Step 4 > <skip to the next word> button shows blank screen on last word
- [x] #7 [medium] Step 5 > CSS on ticked box is misaligned.
- [x] #8 [high] Commons > Uploaded file titles are `{title}`, should be `{{title}}`, fix [here](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/upload_batches/management/commands/upload2commons.py#L360-375).
- [x] #16 [i18n first demo](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/commit/98dc005c8f1b0f5bf0437d9dc6dea77c5581d582), spread i18n with the assistance of AI agent.
- Realign i18n translation keys ([d6d925](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/commit/d6d925353011bb58fa8d5a300f9fb308e7c96881))
- [x] #18 [medium] Nearby generator crashes when label in active language is missing, move to skip. ([827a33](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/commit/827a33bc10ffc8cdeb815b983370f2a5a0259ffb))
{F62821910}
{F62766838}
{F62766801}
{F62766802}
### Postponed
- [ ] #9 [low] Step 1 > Place search input field should not show non-places items, possibility to refine ([current query](https://www.wikidata.org/w/api.php?action=wbsearchentities&format=json&origin=*&search=Orx&language=en&uselang=en&limit=7)) ? (not critical, could be hard! = pass)
{F62766800}
{F62766799}
### Deeper issues -> Pushkar
-- #10 Step 6, after click on "Publish!" :
- [ ] #10a Batch upload pending, not uploading, see [#01](https://lingua-libre.toolforge.org/my-upload-batches/1),[#07](https://lingua-libre.toolforge.org/my-upload-batches/07),[#08](https://lingua-libre.toolforge.org/my-upload-batches/08),[#09](https://lingua-libre.toolforge.org/my-upload-batches/09),[#11](https://lingua-libre.toolforge.org/my-upload-batches/11) ; Pushkar advice: run `python ./manage.py upload2commons {recordingId}`
- [ ] 10b Uploader's counter is incorrect, see screen below.
- [ ] 10c Batch logs shows upload pending for ALL recordings, should be only selected ones. See screens below and logs in [#15](https://lingua-libre.toolforge.org/my-upload-batches/15)
- [ ] #11 Videos miniatures appear as audio [here](https://commons.wikimedia.org/w/index.php?title=Special:ListFiles/Pushkar7077). See [T312554#8782255](https://phabricator.wikimedia.org/T312554#8782255) and [ee86f4ea](https://github.com/lingua-libre/RecordWizard/commit/ee86f4ea03d8978891fc71c2d55e0de28ed322da). It uses FFMPEG server side.
- [ ] #17 Step 6 uploader counter is incorrect ; batch logs shows upload pending for ALL recordings, should be only selected ones.
- [ ] #12 [Yug] T397834 : Genders
- [ ] #13 [Yug] Step 4 (List) > Button "Exclude words you have already recorded" and "Remove words already recorded" needs new API request and code. Inspiration : [n⁰1](https://jsfiddle.net/hugolpz/3bd4L02e/5/)
{F63034167}
{F63034128}
### Other
- [x] #15 Clean up toolforge : `~/www/js/` <repository> seems useless and could be remove. Indeed :
- `~/www/python/src/` is the MariaDB + Django instance
- `~/www/python/src/front-end/dist/` is the front-end, deployed by [gitlab-ci.yml](https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre/-/blob/main/.gitlab-ci.yml?ref_type=heads#L109-121)
- test : move `/js/`'s content.