Page MenuHomePhabricator

Language selector broken: Uncaught TypeError: mw.uls.isNamed is not a function
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

What happens?:
jQuery.Deferred exception: mw.uls.isNamed is not a function userCanChangeLanguage@https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022 line 10 > Function:8:162

Uncaught TypeError: mw.uls.isNamed is not a function

userCanChangeLanguage https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022 line 10 > Function:8
initLanguageChangeUndoTooltip https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022 line 10 > Function:13
init https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022 line 10 > Function:16
jQuery 12
runScript https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022:11
execute https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022:13
doPropagation https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022:5
setAndPropagate https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022:6
impl https://en.wikipedia.beta.wmflabs.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022:19
<anonymous> jQuery

What should have happened instead?:
Language selector should work and no error should be thrown

Event Timeline

New code from https://gerrit.wikimedia.org/r/c/mediawiki/extensions/UniversalLanguageSelector/+/947853, but there is compatibility code for when user.isNamed is not defined, but this is about the wrapper function.
There is a dependency on mediawiki.user for all the changed modules.

Forgot to mention: error happens both when logged in and not logged in.

Change 951507 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@master] ext.uls.interface.js: Inline isNamed() method

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

Change 951507 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ext.uls.interface.js: Inline isNamed() method

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

abi_ triaged this task as High priority.

Change 951487 had a related patch set uploaded (by Abijeet Patro; author: Abijeet Patro):

[mediawiki/extensions/UniversalLanguageSelector@wmf/1.41.0-wmf.23] ext.uls.interface.js: Inline isNamed() method

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

Change 951487 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@wmf/1.41.0-wmf.23] ext.uls.interface.js: Inline isNamed() method

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

Mentioned in SAL (#wikimedia-operations) [2023-08-25T10:14:22Z] <kartik@deploy1002> Started scap: Backport for [[gerrit:951487|ext.uls.interface.js: Inline isNamed() method (T344635)]]

Mentioned in SAL (#wikimedia-operations) [2023-08-25T10:15:45Z] <kartik@deploy1002> abi and kartik: Backport for [[gerrit:951487|ext.uls.interface.js: Inline isNamed() method (T344635)]] synced to the testservers mwdebug2002.codfw.wmnet, mwdebug2001.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug1001.eqiad.wmnet, and mw-debug kubernetes deployment (accessible via k8s-experimental XWD option)

Mentioned in SAL (#wikimedia-operations) [2023-08-25T10:28:29Z] <kartik@deploy1002> Finished scap: Backport for [[gerrit:951487|ext.uls.interface.js: Inline isNamed() method (T344635)]] (duration: 14m 06s)