OutputPage::getScriptsForBottomQueue sets state=loading if $wgUseSiteJs = true, and adds result of calling makeResourceLoaderLink() to the $scripts list.
However there is a case where makeResourceLoaderLink() will return an empty string (instead of a script tag loading the scripts of the site module) - namely the filter loop in makeResourceLoaderLink() rejects it, which is the case on pages like SpcialJavaScriptTest, SpecialPreferences and others that disallow modules from the user land.
Version: 1.21.x
Severity: normal