Lucas Werkmeister (WMDE) has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/405904 )
Change subject: Don’t load gadget when not in edit mode
......................................................................
Don’t load gadget when not in edit mode
If Wikibase is not in edit mode – for example, because we’re on a diff
page, or on an older revision – don’t show constraint reports either.
(Note that wbIsEditView is a page-wide property, independent of user
permissions: if a registered user lacks permissions to edit a protected
page, it still makes sense to show them constraint violations, since
they can at least alert others to them on talk pages or project chat.)
Bug: T184623
Change-Id: Ic169e8e34ae2a291f24b17c6fab680af161be6e7
---
M modules/gadget-skip.js
M modules/gadget.js
M src/WikibaseQualityConstraintsHooks.php
3 files changed, 6 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseQualityConstraints refs/changes/04/405904/1
diff --git a/modules/gadget-skip.js b/modules/gadget-skip.js
index 3921674..cdc2b58 100644
--- a/modules/gadget-skip.js
+++ b/modules/gadget-skip.js
@@ -1 +1 @@
-return !mw.config.exists( 'wbEntityId' ) || mw.config.get( 'wgMFMode' );
+return !mw.config.exists( 'wbEntityId' ) || mw.config.get( 'wgMFMode' ) || !mw.config.get( 'wbIsEditView' );
diff --git a/modules/gadget.js b/modules/gadget.js
index da4d542..0983a7d 100644
--- a/modules/gadget.js
+++ b/modules/gadget.js
@@ -291,8 +291,8 @@
entityId = mw.config.get( 'wbEntityId' );
- if ( entityId === null || mw.config.get( 'wgMFMode' ) ) {
- // no entity or mobile frontend, skip
+ if ( entityId === null || mw.config.get( 'wgMFMode' ) || !mw.config.get( 'wbIsEditView' ) ) {
+ // no entity, mobile frontend, or not editing (diff, oldid, …) – skip
return;
}
diff --git a/src/WikibaseQualityConstraintsHooks.php b/src/WikibaseQualityConstraintsHooks.php
index 1dd1de7..71f32af 100644
--- a/src/WikibaseQualityConstraintsHooks.php
+++ b/src/WikibaseQualityConstraintsHooks.php
@@ -132,6 +132,9 @@
if ( !$out->getUser()->isLoggedIn() ) {
return;
}
+ if ( !$out->getJsConfigVars()['wbIsEditView'] ) {
+ return;
+ }
if ( self::isGadgetEnabledForUserName( $out->getUser()->getName(), time() ) ) {
$out->addModules( 'wikibase.quality.constraints.gadget' );
--
To view, visit https://gerrit.wikimedia.org/r/405904
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic169e8e34ae2a291f24b17c6fab680af161be6e7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseQualityConstraints
Gerrit-Branch: master
Gerrit-Owner: Lucas Werkmeister (WMDE) <lucas.werkmeister@wikimedia.de>
_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
Change subject: Don’t load gadget when not in edit mode
......................................................................
Don’t load gadget when not in edit mode
If Wikibase is not in edit mode – for example, because we’re on a diff
page, or on an older revision – don’t show constraint reports either.
(Note that wbIsEditView is a page-wide property, independent of user
permissions: if a registered user lacks permissions to edit a protected
page, it still makes sense to show them constraint violations, since
they can at least alert others to them on talk pages or project chat.)
Bug: T184623
Change-Id: Ic169e8e34ae2a291f24b17c6fab680af161be6e7
---
M modules/gadget-skip.js
M modules/gadget.js
M src/WikibaseQualityConstraintsHooks.php
3 files changed, 6 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseQualityConstraints refs/changes/04/405904/1
diff --git a/modules/gadget-skip.js b/modules/gadget-skip.js
index 3921674..cdc2b58 100644
--- a/modules/gadget-skip.js
+++ b/modules/gadget-skip.js
@@ -1 +1 @@
-return !mw.config.exists( 'wbEntityId' ) || mw.config.get( 'wgMFMode' );
+return !mw.config.exists( 'wbEntityId' ) || mw.config.get( 'wgMFMode' ) || !mw.config.get( 'wbIsEditView' );
diff --git a/modules/gadget.js b/modules/gadget.js
index da4d542..0983a7d 100644
--- a/modules/gadget.js
+++ b/modules/gadget.js
@@ -291,8 +291,8 @@
entityId = mw.config.get( 'wbEntityId' );
- if ( entityId === null || mw.config.get( 'wgMFMode' ) ) {
- // no entity or mobile frontend, skip
+ if ( entityId === null || mw.config.get( 'wgMFMode' ) || !mw.config.get( 'wbIsEditView' ) ) {
+ // no entity, mobile frontend, or not editing (diff, oldid, …) – skip
return;
}
diff --git a/src/WikibaseQualityConstraintsHooks.php b/src/WikibaseQualityConstraintsHooks.php
index 1dd1de7..71f32af 100644
--- a/src/WikibaseQualityConstraintsHooks.php
+++ b/src/WikibaseQualityConstraintsHooks.php
@@ -132,6 +132,9 @@
if ( !$out->getUser()->isLoggedIn() ) {
return;
}
+ if ( !$out->getJsConfigVars()['wbIsEditView'] ) {
+ return;
+ }
if ( self::isGadgetEnabledForUserName( $out->getUser()->getName(), time() ) ) {
$out->addModules( 'wikibase.quality.constraints.gadget' );
--
To view, visit https://gerrit.wikimedia.org/r/405904
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic169e8e34ae2a291f24b17c6fab680af161be6e7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseQualityConstraints
Gerrit-Branch: master
Gerrit-Owner: Lucas Werkmeister (WMDE) <lucas.werkmeister@wikimedia.de>
_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits