mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-12-02 17:57:00 +00:00
0109b17483
In I1ccda3878a658d4251429ae65ebee04c09d81243, core decided to technically allow temp. users to have watchlist access, but have it disabled on permission level (viewmywatchlist / editmywatchlist) instead of by isNamed() checks. Minerva expects the watchlist permissions to be assigned to everyone, but actual watchlist access to be available only to named user. This is an incorrect assumption. Make a clear difference between "page is watchable" concept (watch icon should show) and "user has permission to watch" (if not, CTA to log in should show). There is one additional step to fix, which is ensure temp users receive the T330518 drawer. That is not a bug in MinervaNeue, but in core -- mediawiki.page.watch.ajax.js uses e.stopPropagating(), which means Minerva's CtaDrawer doesn't get a say. Ideally, mediawiki.page.watch.ajax.js would know whether the user has permissions to edit their watchlist. Alternatively, it could have an interface to allow extensions to add their own error handling. See T344925 for details. Bug: T344870 Change-Id: Id1757fb4fb433fe39cf4d5c6e1e9c65ab5abae14
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
/**
|
|
* This setups the Minerva skin.
|
|
* It should run without errors even if MobileFrontend is not installed.
|
|
*/
|
|
var ms = require( 'mobile.startup' ),
|
|
addPortletLink = require( './addPortletLink.js' );
|
|
|
|
function init() {
|
|
var permissions = mw.config.get( 'wgMinervaPermissions' ) || {},
|
|
// eslint-disable-next-line no-jquery/no-global-selector
|
|
$watch = $( '#page-actions-watch' );
|
|
|
|
if ( permissions.watch ) {
|
|
require( './watchstar.js' ).init( $watch );
|
|
}
|
|
|
|
addPortletLink.init();
|
|
mw.hook( 'util.addPortletLink' ).add(
|
|
addPortletLink.hookHandler
|
|
);
|
|
|
|
// Setup Minerva with MobileFrontend
|
|
if ( ms && !ms.stub ) {
|
|
require( './initMobile.js' )();
|
|
} else {
|
|
// MOBILEFRONTEND IS NOT INSTALLED.
|
|
// setup search for desktop Minerva at mobile resolution without MobileFrontend.
|
|
require( './searchSuggestReveal.js' )();
|
|
}
|
|
|
|
// This hot fix should be reviewed and possibly removed circa January 2021.
|
|
// It's assumed that Apple will prioritize fixing this bug in one of its next releases.
|
|
// See T264376.
|
|
if ( navigator.userAgent.match( /OS 14_[0-9]/ ) ) {
|
|
document.body.classList.add( 'hotfix-T264376' );
|
|
}
|
|
}
|
|
|
|
init();
|
|
|
|
module.exports = {
|
|
// Version number allows breaking changes to be detected by other extensions
|
|
VERSION: 1
|
|
};
|