diff --git a/Resources.php b/Resources.php index d3ef436a..bcab4bde 100644 --- a/Resources.php +++ b/Resources.php @@ -117,10 +117,6 @@ $wgResourceModules['ext.uls.interface'] = array( 'position' => 'top', ) + $resourcePaths; -// Anonymous users need 'jquery.jStorage' module for client side preference persistence. -$wgResourceModules['ext.uls.interface.anon'] = $wgResourceModules['ext.uls.interface']; -$wgResourceModules['ext.uls.interface.anon']['dependencies'][] = 'jquery.jStorage'; - $wgResourceModules['ext.uls.languagesettings'] = array( 'scripts' => 'resources/js/ext.uls.languagesettings.js', 'styles' => 'resources/css/ext.uls.languagesettings.css', @@ -138,10 +134,7 @@ $wgResourceModules['ext.uls.preferences'] = array( 'dependencies' => array( 'mediawiki.user', 'mediawiki.api', - 'jquery.json', - // This is quite a big module and only needed for anons. - // Loaded conditionally in ext.uls.interface(.anon). - //'jquery.jStorage', + 'jquery.jStorage', ), ) + $resourcePaths; diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index fecb441e..8de93f25 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -67,11 +67,7 @@ class UniversalLanguageSelectorHooks { if ( self::isToolbarEnabled( $out->getUser() ) ) { // Enable UI language selection for the user. - if ( $out->getUser()->isAnon() ) { - $out->addModules( 'ext.uls.interface.anon' ); - } else { - $out->addModules( 'ext.uls.interface' ); - } + $out->addModules( 'ext.uls.interface' ); } return true; diff --git a/resources/js/ext.uls.preferences.js b/resources/js/ext.uls.preferences.js index 5edde741..f0cbb5fa 100644 --- a/resources/js/ext.uls.preferences.js +++ b/resources/js/ext.uls.preferences.js @@ -115,14 +115,13 @@ * Initialize */ init: function () { - var options; - if ( this.isAnon ) { - this.preferences = $.jStorage.get( this.preferenceName ) || {}; + this.preferences = $.jStorage.get( this.preferenceName ); } else { - options = mw.user.options.get( this.preferenceName ); - this.preferences = $.parseJSON( options ) || {}; + var options = mw.user.options.get( this.preferenceName ); + this.preferences = $.parseJSON( options ); } + this.preferences = this.preferences || {}; }, /** @@ -158,6 +157,7 @@ $.jStorage.set( this.preferenceName, this.preferences ); callback.call( this, true ); } else { + // Logged in user. Use MW APIs to change preferences saveOptionsWithToken( { action: 'options',