Page MenuHomePhabricator

Termbox v2 uses the wrong list of languages
Closed, ResolvedPublic5 Estimated Story Points

Description

In WikibaseRepo there are two types of content languages: term languages and monolingual text languages. In the frontend code, Termbox currently consumes the monolingual text languages when it should be using term languages. This only affects Termbox v2 (mobile).

Technical Notes:
In the PHP code, there is WikibaseContentLanguages::getContentLanguages() to get either term languages or monolingual text languages. Confusingly in the frontend there is also a WikibaseContentLanguages but it only manages monolingual text languages. It would make a lot of sense to align the two implementations so that a mistake like this is less likely to happen again.

Relevant line in Termbox: https://github.com/wikimedia/wikibase-termbox/blob/48e17a328e1695d127363899bccf978097a04890/src/client-entry.ts#L39

Acceptance Criteria:

  • Termbox v2 consumes the list of term languages and not the list of monolingual text languages

Event Timeline

From task inspection:

  • turn the JS implementation of WikibaseContentLanguages into something that gets a list of languages injected in the constructor instead of loading the languages directly
  • create a factory function to get either a WikibaseContentLanguages object with term languages or monolingual text languages
  • use the new factory function for term languages in termbox
  • use the new factory function for monolingual text languages wherever WikibaseContentLanguages was used previously in the legacy UI

Change 672352 had a related patch set uploaded (by Jakob; owner: Jakob):
[wikibase/termbox@master] Use WikibaseContentLanguages.getTermLanguages

https://gerrit.wikimedia.org/r/672352

Change 672353 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Wikibase@master] WikibaseContentLanguages: replace constructor with static methods

https://gerrit.wikimedia.org/r/672353

Change 672357 had a related patch set uploaded (by Jakob; owner: Jakob):
[wikibase/termbox@master] Rename getAllPairs to getLanguageNameMap

https://gerrit.wikimedia.org/r/672357

Change 672358 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Wikibase@master] Rename getAllPairs to getLanguageNameMap

https://gerrit.wikimedia.org/r/672358

Change 672352 merged by jenkins-bot:
[wikibase/termbox@master] Use WikibaseContentLanguages.getTermLanguages

https://gerrit.wikimedia.org/r/672352

Change 672357 merged by jenkins-bot:
[wikibase/termbox@master] Rename getAllPairs to getLanguageNameMap

https://gerrit.wikimedia.org/r/672357

Change 672353 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] WikibaseContentLanguages: replace constructor with static methods

https://gerrit.wikimedia.org/r/672353

Change 672358 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Rename getAllPairs to getLanguageNameMap

https://gerrit.wikimedia.org/r/672358

Change 672659 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Wikibase@master] languageLabelDescriptionAliases: use getLanguageNameByCode

https://gerrit.wikimedia.org/r/672659

Change 672692 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Wikibase@master] WikibaseContentLanguages: throw when instantiated without languages

https://gerrit.wikimedia.org/r/672692

@Jakob_WMDE : Can you share a link (mobile?) where to test or is this just code changes?

@amy_rc Sorry, this is indeed not user-facing for now so there is nothing to verify. Moving it to done!

The two patches that are still open are just small code improvements so I think it's ok to just call this resolved.

Change 672659 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] languageLabelDescriptionAliases: use getLanguageNameByCode

https://gerrit.wikimedia.org/r/672659

Change 673108 had a related patch set uploaded (by Ladsgroup; owner: Jakob):
[mediawiki/extensions/Wikibase@wmf/1.36.0-wmf.35] languageLabelDescriptionAliases: use getLanguageNameByCode

https://gerrit.wikimedia.org/r/673108

Change 673108 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@wmf/1.36.0-wmf.35] languageLabelDescriptionAliases: use getLanguageNameByCode

https://gerrit.wikimedia.org/r/673108

Mentioned in SAL (#wikimedia-operations) [2021-03-18T13:23:47Z] <ladsgroup@deploy1002> Synchronized php-1.36.0-wmf.35/extensions/Wikibase/repo: [[gerrit:673108|languageLabelDescriptionAliases: use getLanguageNameByCode]] (T275611 T277722) (duration: 01m 14s)

Change 672692 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] WikibaseContentLanguages: throw when instantiated without languages

https://gerrit.wikimedia.org/r/672692