[MediaWiki-commits] [Gerrit] [Bugfix] use alreadySeenReceiver instance variable - change (pywikibot...xqbot)

2015-11-18 Thread Xqt (Code Review)
Xqt has submitted this change and it was merged.

Change subject: [Bugfix] use alreadySeenReceiver instance variable
..


[Bugfix] use alreadySeenReceiver instance variable

Change-Id: Iedbc1dfdad8aea32582244ed79729f2789f8999f
---
M vandalism.py
1 file changed, 7 insertions(+), 3 deletions(-)

Approvals:
  Xqt: Verified; Looks good to me, approved



diff --git a/vandalism.py b/vandalism.py
index fcc35a0..cc70b87 100644
--- a/vandalism.py
+++ b/vandalism.py
@@ -185,7 +185,11 @@
 
 changed to 25 // 20150309
 """
-user = pywikibot.User(self.site, username)
+try:
+user = pywikibot.User(self.site, username)
+except pywikibot.InvalidTitle:
+pywikibot.exception()
+return False
 return user.editCount() >= self.useredits
 
 def translate(self, string):
@@ -469,11 +473,11 @@
 
 # memo that this user has already been contacted
 self.alreadySeenReceiver.append((defendant, timestamp))
-while len(alreadySeenReceiver) > 50:
+while len(self.alreadySeenReceiver) > 50:
 # clean up the list
 pywikibot.output('remove %s out of the list of seen Receiver'
  % self.alreadySeenReceiver[0][0])
-self.alreadySeenReceiver.remove(alreadySeenReceiver[0])
+self.alreadySeenReceiver.remove(self.alreadySeenReceiver[0])
 
 # is the accuser an IP?
 if (isIn(accuser,

-- 
To view, visit https://gerrit.wikimedia.org/r/254114
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iedbc1dfdad8aea32582244ed79729f2789f8999f
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/bots/xqbot
Gerrit-Branch: master
Gerrit-Owner: Xqt 
Gerrit-Reviewer: Xqt 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] [Bugfix] use alreadySeenReceiver instance variable - change (pywikibot...xqbot)

2015-11-18 Thread Xqt (Code Review)
Xqt has uploaded a new change for review.

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

Change subject: [Bugfix] use alreadySeenReceiver instance variable
..

[Bugfix] use alreadySeenReceiver instance variable

Change-Id: Iedbc1dfdad8aea32582244ed79729f2789f8999f
---
M vandalism.py
1 file changed, 7 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/bots/xqbot 
refs/changes/14/254114/1

diff --git a/vandalism.py b/vandalism.py
index fcc35a0..cc70b87 100644
--- a/vandalism.py
+++ b/vandalism.py
@@ -185,7 +185,11 @@
 
 changed to 25 // 20150309
 """
-user = pywikibot.User(self.site, username)
+try:
+user = pywikibot.User(self.site, username)
+except pywikibot.InvalidTitle:
+pywikibot.exception()
+return False
 return user.editCount() >= self.useredits
 
 def translate(self, string):
@@ -469,11 +473,11 @@
 
 # memo that this user has already been contacted
 self.alreadySeenReceiver.append((defendant, timestamp))
-while len(alreadySeenReceiver) > 50:
+while len(self.alreadySeenReceiver) > 50:
 # clean up the list
 pywikibot.output('remove %s out of the list of seen Receiver'
  % self.alreadySeenReceiver[0][0])
-self.alreadySeenReceiver.remove(alreadySeenReceiver[0])
+self.alreadySeenReceiver.remove(self.alreadySeenReceiver[0])
 
 # is the accuser an IP?
 if (isIn(accuser,

-- 
To view, visit https://gerrit.wikimedia.org/r/254114
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iedbc1dfdad8aea32582244ed79729f2789f8999f
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/bots/xqbot
Gerrit-Branch: master
Gerrit-Owner: Xqt 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] diamond: Handle no sessions in sshsessions collector - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: diamond: Handle no sessions in  sshsessions collector
..

diamond: Handle no sessions in  sshsessions collector

This handles blank outputs and blank lines properly

Bug: T118827
Change-Id: I89ab40b7d63df30660fb26a95736dbd3947a916e
---
M modules/diamond/files/collector/sshsessions.py
1 file changed, 3 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/13/254113/1

diff --git a/modules/diamond/files/collector/sshsessions.py 
b/modules/diamond/files/collector/sshsessions.py
index 7ed019f..d5747f8 100644
--- a/modules/diamond/files/collector/sshsessions.py
+++ b/modules/diamond/files/collector/sshsessions.py
@@ -22,4 +22,6 @@
 def collect(self):
 who_output = subprocess.check_output('/usr/bin/who').decode('utf-8')
 
-self.publish('open_sessions', len(who_output.strip().split("\n")))
+# weed out empty lines
+sessions = [l for l in who_output.split("\n") if l.strip() != ""]
+self.publish('open_sessions', len(sessions))

-- 
To view, visit https://gerrit.wikimedia.org/r/254113
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I89ab40b7d63df30660fb26a95736dbd3947a916e
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Make page issues and disambiguations native - change (apps...wikipedia)

2015-11-18 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review.

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

Change subject: Make page issues and disambiguations native
..

Make page issues and disambiguations native

Move the page issues and disambiguations' links from the WebView to
native Android Views.

* Keep the JavaScript parsing logic but send the issues and
  disambiguations payload when available instead of on link click.

* Extract "PageInfo" unmarshaller from PageInfoHandler, where info is
  issues and disambiguations, into a single responsibility class.
  "Handlers" often have nebulous responsibilities, as was the case for
  PageInfoHandler. Move the remainder of the logic to another handler,
  LeadImagesHandler, and delete PageInfoHandler.

* DRY up leadImagesHandler.beginLayout() logic. This required adding an
  inappropriate method to the PageLoadStrategy which has been marked for
  removal, and will be easier to do so in subsequent refactors.

* Annotate PageInfo with @NonNull where appropriate and add a couple
  helper methods.

* Move the lead image and lead image placeholder to
  ArticleHeaderImageView. Improve encapsulation but there are some
  obvious candidates for future improvement.

* Add a new toolbar class, ArticleMenuBarView, to replace the WebView
  links. The page issues and disambiguations come in after the image and
  title so changes are animated. This size could be kept constant but
  the padding doesn't look nice.

* Replace LeadImagesHandler.leadImagesEnabled state with method.

* Minor adjustments to padding offsets in LeadImagesHandler.

* Move intToHexStr() logic from MediaPlayerImplementation to StringUtil
  so it can be used elsewhere.

* All icons downloads as pngs from Google Material icons[0].

[0] https://www.google.com/design/icons/

Bug: T116122
Change-Id: Ia140f34310f4874d20295a925dfdda36b6f18c6e
---
M app/src/main/assets/bundle.js
M app/src/main/assets/preview.js
M app/src/main/java/org/wikipedia/media/MediaPlayerImplementation.java
M app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/page/PageInfo.java
M app/src/main/java/org/wikipedia/page/PageInfoDialog.java
D app/src/main/java/org/wikipedia/page/PageInfoHandler.java
A app/src/main/java/org/wikipedia/page/PageInfoUnmarshaller.java
M app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
M app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
M app/src/main/java/org/wikipedia/util/StringUtil.java
A app/src/main/java/org/wikipedia/views/ArticleHeaderImageView.java
M app/src/main/java/org/wikipedia/views/ArticleHeaderView.java
A app/src/main/java/org/wikipedia/views/ArticleMenuBarView.java
A app/src/main/res/drawable-hdpi/ic_call_split_black_24dp.png
A app/src/main/res/drawable-hdpi/ic_location_on_black_24dp.png
A app/src/main/res/drawable-hdpi/ic_warning_black_24dp.png
A app/src/main/res/drawable-mdpi/ic_call_split_black_24dp.png
A app/src/main/res/drawable-mdpi/ic_location_on_black_24dp.png
A app/src/main/res/drawable-mdpi/ic_warning_black_24dp.png
A app/src/main/res/drawable-xhdpi/ic_call_split_black_24dp.png
A app/src/main/res/drawable-xhdpi/ic_location_on_black_24dp.png
A app/src/main/res/drawable-xhdpi/ic_warning_black_24dp.png
A app/src/main/res/drawable-xxhdpi/ic_call_split_black_24dp.png
A app/src/main/res/drawable-xxhdpi/ic_location_on_black_24dp.png
A app/src/main/res/drawable-xxhdpi/ic_warning_black_24dp.png
A app/src/main/res/drawable-xxxhdpi/ic_call_split_black_24dp.png
A app/src/main/res/drawable-xxxhdpi/ic_location_on_black_24dp.png
A app/src/main/res/drawable-xxxhdpi/ic_warning_black_24dp.png
M app/src/main/res/layout/view_article_header.xml
A app/src/main/res/layout/view_article_header_image.xml
A app/src/main/res/layout/view_article_menu_bar.xml
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
M www/js/actions.js
M www/js/disambig.js
M www/js/issues.js
M www/js/sections.js
39 files changed, 654 insertions(+), 450 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/12/254112/1

diff --git a/app/src/main/assets/bundle.js b/app/src/main/assets/bundle.js
index 9363d53..f12034d 100644
--- a/app/src/main/assets/bundle.js
+++ b/app/src/main/assets/bundle.js
@@ -63,13 +63,7 @@
 var href = sourceNode.getAttribute( "href" );
 if ( href[0] === "#" ) {
 var targetId = href.slice(1);
-if ( "issues" === targetId ) {
-issuesClicked( sourceNode );
-} else if ( "disambig" === targetId ) {
-disambigClicked( sourceNode );
-} else {
-handleReference( targetId, util.ancestorContainsClass( 
sourceNode, "mw-cite-backlink" ) );
-}
+handleReference( targetId, util.ancestorContainsClass( 
sour

[MediaWiki-commits] [Gerrit] Improve docs for lag related DB functions - change (mediawiki/core)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Improve docs for lag related DB functions
..


Improve docs for lag related DB functions

* They can return false if replication is stopped.
* Also remove redundant related doc blocks.

Change-Id: I40a1cb2da2f23815b9da8f79195df45c5e510585
---
M includes/db/Database.php
M includes/db/DatabaseMysqlBase.php
M includes/db/IDatabase.php
3 files changed, 4 insertions(+), 33 deletions(-)

Approvals:
  Krinkle: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/db/Database.php b/includes/db/Database.php
index 05dc3d3..c0cf067 100644
--- a/includes/db/Database.php
+++ b/includes/db/Database.php
@@ -3773,19 +3773,6 @@
return true;
}
 
-   /**
-* Get the slave lag when the current transaction started
-* or a general lag estimate if not transaction is active
-*
-* This is useful when transactions might use snapshot isolation
-* (e.g. REPEATABLE-READ in innodb), so the "real" lag of that data
-* is this lag plus transaction duration. If they don't, it is still
-* safe to be pessimistic. In AUTO-COMMIT mode, this still gives an
-* indication of the staleness of subsequent reads.
-*
-* @return array ('lag': seconds, 'since': UNIX timestamp of BEGIN)
-* @since 1.27
-*/
public function getSessionLagStatus() {
return $this->getTransactionLagStatus() ?: 
$this->getApproximateLagStatus();
}
@@ -3798,7 +3785,7 @@
 * is this lag plus transaction duration. If they don't, it is still
 * safe to be pessimistic. This returns null if there is no transaction.
 *
-* @return array|null ('lag': seconds, 'since': UNIX timestamp of BEGIN)
+* @return array|null ('lag': seconds or false on error, 'since': UNIX 
timestamp of BEGIN)
 * @since 1.27
 */
public function getTransactionLagStatus() {
@@ -3810,7 +3797,7 @@
/**
 * Get a slave lag estimate for this server
 *
-* @return array ('lag': seconds, 'since': UNIX timestamp of estimate)
+* @return array ('lag': seconds or false on error, 'since': UNIX 
timestamp of estimate)
 * @since 1.27
 */
public function getApproximateLagStatus() {
@@ -3851,15 +3838,6 @@
return $res;
}
 
-   /**
-* Get slave lag. Currently supported only by MySQL.
-*
-* Note that this function will generate a fatal error on many
-* installations. Most callers should use LoadBalancer::safeGetLag()
-* instead.
-*
-* @return int Database replication lag in seconds
-*/
public function getLag() {
return 0;
}
diff --git a/includes/db/DatabaseMysqlBase.php 
b/includes/db/DatabaseMysqlBase.php
index 38aae58..1d9246d 100644
--- a/includes/db/DatabaseMysqlBase.php
+++ b/includes/db/DatabaseMysqlBase.php
@@ -620,13 +620,6 @@
 */
abstract protected function mysqlPing();
 
-   /**
-* Returns slave lag.
-*
-* This will do a SHOW SLAVE STATUS
-*
-* @return int
-*/
function getLag() {
if ( $this->lagDetectionMethod === 'pt-heartbeat' ) {
return $this->getLagFromPtHeartbeat();
diff --git a/includes/db/IDatabase.php b/includes/db/IDatabase.php
index 19eb126..4674c17 100644
--- a/includes/db/IDatabase.php
+++ b/includes/db/IDatabase.php
@@ -1369,7 +1369,7 @@
 * installations. Most callers should use LoadBalancer::safeGetLag()
 * instead.
 *
-* @return int Database replication lag in seconds
+* @return int|bool Database replication lag in seconds or false on 
error
 */
public function getLag();
 
@@ -1383,7 +1383,7 @@
 * safe to be pessimistic. In AUTO-COMMIT mode, this still gives an
 * indication of the staleness of subsequent reads.
 *
-* @return array ('lag': seconds, 'since': UNIX timestamp of BEGIN)
+* @return array ('lag': seconds or false on error, 'since': UNIX 
timestamp of BEGIN)
 * @since 1.27
 */
public function getSessionLagStatus();

-- 
To view, visit https://gerrit.wikimedia.org/r/254088
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I40a1cb2da2f23815b9da8f79195df45c5e510585
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 
Gerrit-Reviewer: Krinkle 
Gerrit-Reviewer: Parent5446 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] diamond: Add an sshsessions collector - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: diamond: Add an sshsessions collector
..


diamond: Add an sshsessions collector

Collects number of active ssh (and mosh!) sessions for all instances

Bug: T118827
Change-Id: I0e9d54f832db95fac7fdf38a3f398709cf92a1ce
---
M manifests/role/labs.pp
A modules/diamond/files/collector/sshsessions.py
2 files changed, 29 insertions(+), 0 deletions(-)

Approvals:
  Yuvipanda: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/labs.pp b/manifests/role/labs.pp
index 400e156..18eb658 100644
--- a/manifests/role/labs.pp
+++ b/manifests/role/labs.pp
@@ -204,5 +204,9 @@
 # icinga, so collect puppet freshness metrics via diamond/graphite
 diamond::collector::minimalpuppetagent { 'minimal-puppet-agent': }
 
+diamond::collector { 'SSHSessions':
+source => 'puppet:///modules/diamond/collector/sshsessions.py',
+}
+
 hiera_include('classes', [])
 }
diff --git a/modules/diamond/files/collector/sshsessions.py 
b/modules/diamond/files/collector/sshsessions.py
new file mode 100644
index 000..7ed019f
--- /dev/null
+++ b/modules/diamond/files/collector/sshsessions.py
@@ -0,0 +1,25 @@
+# coding=utf-8
+
+"""
+Collect number of open ssh / mosh sessions
+
+"""
+import subprocess
+import diamond.collector
+
+
+class SSHSessionsCollector(diamond.collector.Collector):
+def get_default_config(self):
+"""
+Returns the default collector settings
+"""
+config = super(SSHSessionsCollector, self).get_default_config()
+config.update({
+'method':   'Threaded',
+})
+return config
+
+def collect(self):
+who_output = subprocess.check_output('/usr/bin/who').decode('utf-8')
+
+self.publish('open_sessions', len(who_output.strip().split("\n")))

-- 
To view, visit https://gerrit.wikimedia.org/r/254111
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0e9d54f832db95fac7fdf38a3f398709cf92a1ce
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Yuvipanda 
Gerrit-Reviewer: coren 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] SquidUpdate doc cleanups - change (mediawiki/core)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: SquidUpdate doc cleanups
..


SquidUpdate doc cleanups

Change-Id: Ia5b8060e8a93f40a2e31272e043b225f59fb6d50
---
M includes/deferred/SquidUpdate.php
1 file changed, 5 insertions(+), 5 deletions(-)

Approvals:
  Krinkle: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/deferred/SquidUpdate.php 
b/includes/deferred/SquidUpdate.php
index bad91a5..d33e4a5 100644
--- a/includes/deferred/SquidUpdate.php
+++ b/includes/deferred/SquidUpdate.php
@@ -30,7 +30,7 @@
protected $urls = array();
 
/**
-* @param array $urlArr Collection of URLs to purge
+* @param string[] $urlArr Collection of URLs to purge
 */
public function __construct( array $urlArr ) {
// Remove duplicate URLs from list
@@ -41,7 +41,7 @@
 * Create a SquidUpdate from an array of Title objects, or a TitleArray 
object
 *
 * @param Traversable|array $titles
-* @param array $urlArr
+* @param string[] $urlArr
 * @return SquidUpdate
 */
public static function newFromTitles( $titles, $urlArr = array() ) {
@@ -77,7 +77,7 @@
 * (example: $urlArr[] = 'http://my.host/something')
 * XXX report broken Squids per mail or log
 *
-* @param array $urlArr List of full URLs to purge
+* @param string[] $urlArr List of full URLs to purge
 */
public static function purge( array $urlArr ) {
global $wgSquidServers, $wgHTCPRouting;
@@ -125,9 +125,9 @@
 * Send Hyper Text Caching Protocol (HTCP) CLR requests.
 *
 * @throws MWException
-* @param array $urlArr Collection of URLs to purge
+* @param string[] $urlArr Collection of URLs to purge
 */
-   protected static function HTCPPurge( $urlArr ) {
+   protected static function HTCPPurge( array $urlArr ) {
global $wgHTCPRouting, $wgHTCPMulticastTTL;
 
// HTCP CLR operation

-- 
To view, visit https://gerrit.wikimedia.org/r/254077
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia5b8060e8a93f40a2e31272e043b225f59fb6d50
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 
Gerrit-Reviewer: Krinkle 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] diamond: Add an sshsessions collector - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: diamond: Add an sshsessions collector
..

diamond: Add an sshsessions collector

Collects number of active ssh (and mosh!) sessions for all instances

Bug: T118827
Change-Id: I0e9d54f832db95fac7fdf38a3f398709cf92a1ce
---
M manifests/role/labs.pp
A modules/diamond/files/collector/sshsessions.py
2 files changed, 29 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/11/254111/1

diff --git a/manifests/role/labs.pp b/manifests/role/labs.pp
index 400e156..18eb658 100644
--- a/manifests/role/labs.pp
+++ b/manifests/role/labs.pp
@@ -204,5 +204,9 @@
 # icinga, so collect puppet freshness metrics via diamond/graphite
 diamond::collector::minimalpuppetagent { 'minimal-puppet-agent': }
 
+diamond::collector { 'SSHSessions':
+source => 'puppet:///modules/diamond/collector/sshsessions.py',
+}
+
 hiera_include('classes', [])
 }
diff --git a/modules/diamond/files/collector/sshsessions.py 
b/modules/diamond/files/collector/sshsessions.py
new file mode 100644
index 000..e38407b
--- /dev/null
+++ b/modules/diamond/files/collector/sshsessions.py
@@ -0,0 +1,25 @@
+# coding=utf-8
+
+"""
+Collect number of open ssh / mosh sessions
+
+"""
+import subprocess
+import diamond.collector
+
+
+class SSHSessionsCollector(diamond.collector.Collector):
+def get_default_config(self):
+"""
+Returns the default collector settings
+"""
+config = super(SSHSessionsCollector, self).get_default_config()
+config.update({
+'method':   'Threaded',
+})
+return config
+
+def collect(self):
+who_output = 
subprocess.check_output('/usr/bin/who').decode('utf-8').strip()
+
+self.publish('open_sessions', len(who_output))

-- 
To view, visit https://gerrit.wikimedia.org/r/254111
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0e9d54f832db95fac7fdf38a3f398709cf92a1ce
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] AceEditorWidget: Ensure loadingPromise is set when setupEdit... - change (mediawiki...VisualEditor)

2015-11-18 Thread Esanders (Code Review)
Esanders has uploaded a new change for review.

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

Change subject: AceEditorWidget: Ensure loadingPromise is set when setupEditor 
runs
..

AceEditorWidget: Ensure loadingPromise is set when setupEditor runs

Change-Id: I11d37b863f28bacd4c09992d6fcc180621766577
---
M modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
1 file changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/10/254110/1

diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
index 8ca30b8..24869c1 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
@@ -66,8 +66,11 @@
 ve.ui.MWAceEditorWidget.prototype.setup = function () {
if ( !this.loadingPromise ) {
this.loadingPromise = mw.loader.getState( 
'ext.codeEditor.ace.modes' ) ?
-   mw.loader.using( 'ext.codeEditor.ace.modes' ).then( 
this.setupEditor.bind( this ) ) :
+   mw.loader.using( 'ext.codeEditor.ace.modes' ) :
$.Deferred().reject().promise();
+   // Resolved promises will run synchronously, so ensure 
#setupEditor
+   // runs after this.loadingPromise is stored.
+   this.loadingPromise.done( this.setupEditor.bind( this ) );
}
 };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254110
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I11d37b863f28bacd4c09992d6fcc180621766577
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Revert "Move puppetmaster roles to manifests/role" - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: Revert "Move puppetmaster roles to manifests/role"
..

Revert "Move puppetmaster roles to manifests/role"

This results in:

Role class role::puppetmaster::frontend not found at 
/etc/puppet/manifests/site.pp:2116 on node palladium.eqiad.wmnet


This reverts commit 924ba41cc9af5855826324ee8466f9a8a0d7e8cd.

Change-Id: Ie318be8251ae24d77fcd841e61bb1f13dafc3a4d
---
R modules/role/manifests/puppetmaster/backend.pp
R modules/role/manifests/puppetmaster/frontend.pp
2 files changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/09/254109/1

diff --git a/manifests/role/puppetmaster/backend.pp 
b/modules/role/manifests/puppetmaster/backend.pp
similarity index 100%
rename from manifests/role/puppetmaster/backend.pp
rename to modules/role/manifests/puppetmaster/backend.pp
diff --git a/manifests/role/puppetmaster/frontend.pp 
b/modules/role/manifests/puppetmaster/frontend.pp
similarity index 100%
rename from manifests/role/puppetmaster/frontend.pp
rename to modules/role/manifests/puppetmaster/frontend.pp

-- 
To view, visit https://gerrit.wikimedia.org/r/254109
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie318be8251ae24d77fcd841e61bb1f13dafc3a4d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Revert "Move puppetmaster roles to manifests/role" - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: Revert "Move puppetmaster roles to manifests/role"
..


Revert "Move puppetmaster roles to manifests/role"

This results in:

Role class role::puppetmaster::frontend not found at 
/etc/puppet/manifests/site.pp:2116 on node palladium.eqiad.wmnet


This reverts commit 924ba41cc9af5855826324ee8466f9a8a0d7e8cd.

Change-Id: Ie318be8251ae24d77fcd841e61bb1f13dafc3a4d
---
R modules/role/manifests/puppetmaster/backend.pp
R modules/role/manifests/puppetmaster/frontend.pp
2 files changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Yuvipanda: Verified; Looks good to me, approved



diff --git a/manifests/role/puppetmaster/backend.pp 
b/modules/role/manifests/puppetmaster/backend.pp
similarity index 100%
rename from manifests/role/puppetmaster/backend.pp
rename to modules/role/manifests/puppetmaster/backend.pp
diff --git a/manifests/role/puppetmaster/frontend.pp 
b/modules/role/manifests/puppetmaster/frontend.pp
similarity index 100%
rename from manifests/role/puppetmaster/frontend.pp
rename to modules/role/manifests/puppetmaster/frontend.pp

-- 
To view, visit https://gerrit.wikimedia.org/r/254109
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie318be8251ae24d77fcd841e61bb1f13dafc3a4d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] [WIP] Add MessageBlobStoreTest - change (mediawiki/core)

2015-11-18 Thread Krinkle (Code Review)
Krinkle has uploaded a new change for review.

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

Change subject: [WIP] Add MessageBlobStoreTest
..

[WIP] Add MessageBlobStoreTest

Change-Id: I3239c45f0243eca1eaf85bc53fca736e4c9a209c
---
M tests/phpunit/ResourceLoaderTestCase.php
A tests/phpunit/includes/resourceloader/MessageBlobStoreTest.php
2 files changed, 92 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/08/254108/1

diff --git a/tests/phpunit/ResourceLoaderTestCase.php 
b/tests/phpunit/ResourceLoaderTestCase.php
index f22f4a1..6acef2e 100644
--- a/tests/phpunit/ResourceLoaderTestCase.php
+++ b/tests/phpunit/ResourceLoaderTestCase.php
@@ -60,6 +60,7 @@
 /* Stubs */
 
 class ResourceLoaderTestModule extends ResourceLoaderModule {
+   protected $messages = array();
protected $dependencies = array();
protected $group = null;
protected $source = 'local';
@@ -87,6 +88,10 @@
return $this->dependencies;
}
 
+   public function getMessages() {
+   return $this->messages;
+   }
+
public function getGroup() {
return $this->group;
}
diff --git a/tests/phpunit/includes/resourceloader/MessageBlobStoreTest.php 
b/tests/phpunit/includes/resourceloader/MessageBlobStoreTest.php
new file mode 100644
index 000..50ac414
--- /dev/null
+++ b/tests/phpunit/includes/resourceloader/MessageBlobStoreTest.php
@@ -0,0 +1,87 @@
+wanCache = new WANObjectCache( array(
+   'cache' => new HashBagOStuff(),
+   'pool' => 'test',
+   'relayer' => new EventRelayerNull( array() )
+   ) );
+   }
+
+   protected function makeModule( array $messages ) {
+   $module = new ResourceLoaderTestModule( array( 'messages' => 
$messages ) );
+   $module->setName( 'test.blobstore' );
+   return $module;
+   }
+
+   public function testGetBlob() {
+   $blobStore = $this->getMockBuilder( 'MessageBlobStore' )
+   ->setMethods( array( 'fetchMessage' ) )
+   ->getMock();
+   $blobStore->expects( $this->once() )
+   ->method( 'fetchMessage' )
+   ->will( $this->returnValue( 'Example' ) );
+
+   $module = $this->makeModule( array( 'foo' ) );
+   $blob = $blobStore->getBlob( $module, 'en' );
+
+   $this->assertEquals( '{"foo":"Example"}', $blob, 'Generated 
blob' );
+   }
+
+   public function testCacheHit() {
+   $module = $this->makeModule( array( 'example' ) );
+   $rl = new ResourceLoader();
+   $rl->register( $module->getName(), $module );
+
+   $blobStore = $this->getMockBuilder( 'MessageBlobStore' )
+   ->setMethods( array( 'fetchMessage' ) )
+   ->getMock();
+   $blobStore->expects( $this->once() )
+   ->method( 'fetchMessage' )
+   ->will( $this->onConsecutiveCalls( 'First', 'Second' ) 
);
+   $this->setHashCache( $blobStore );
+
+   $module = $this->makeModule( array( 'example' ) );
+   $blob = $blobStore->getBlob( $module, 'en' );
+   $this->assertEquals( '{"example":"First"}', $blob, 'Generated 
blob' );
+
+   
//var_dump(TestingAccessWrapper::newFromObject($blobStore->wanCache)->cache);
+
+   $module = $this->makeModule( array( 'example' ) );
+   $blob = $blobStore->getBlob( $module, 'en' );
+
+   $this->assertEquals( '{"example":"First"}', $blob, 'Cache hit' 
);
+   }
+
+   public function testCacheMiss() {
+   $module = $this->makeModule( array( 'example' ) );
+   $rl = new ResourceLoader();
+   $rl->register( $module->getName(), $module );
+
+   $blobStore = $this->getMockBuilder( 'MessageBlobStore' )
+   ->setConstructorArgs( array( $rl ) )
+   ->setMethods( array( 'fetchMessage' ) )
+   ->getMock();
+   $blobStore->expects( $this->any() )
+   ->method( 'fetchMessage' )
+   ->will( $this->onConsecutiveCalls( 'First', 'Second' ) 
);
+
+   $blob = $blobStore->getBlob( $module, 'en' );
+   $this->assertEquals( '{"example":"First"}', $blob, 'Generated 
blob' );
+
+   $blobStore->updateMessage( 'example' );
+
+   $module = $this->makeModule( array( 'example' ) );
+   $blob = $blobStore->getBlob( $module, 'en' );
+   $this->assertEquals( '{"example":"Second"}', $blob, 
'Regenerated blob' );
+   }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/254108
To unsubscribe, visit https://gerrit

[MediaWiki-commits] [Gerrit] Move puppetmaster roles to manifests/role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: Move puppetmaster roles to manifests/role
..


Move puppetmaster roles to manifests/role

Test to see if this works (as it should) before making a
bigger change (If4399349be3083397f7638427fae793065185fb3)

Change-Id: I1c95105c623eb50662881a5717b4cb9166f48b6c
---
R manifests/role/puppetmaster/backend.pp
R manifests/role/puppetmaster/frontend.pp
2 files changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Yuvipanda: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/role/manifests/puppetmaster/backend.pp 
b/manifests/role/puppetmaster/backend.pp
similarity index 100%
rename from modules/role/manifests/puppetmaster/backend.pp
rename to manifests/role/puppetmaster/backend.pp
diff --git a/modules/role/manifests/puppetmaster/frontend.pp 
b/manifests/role/puppetmaster/frontend.pp
similarity index 100%
rename from modules/role/manifests/puppetmaster/frontend.pp
rename to manifests/role/puppetmaster/frontend.pp

-- 
To view, visit https://gerrit.wikimedia.org/r/254107
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I1c95105c623eb50662881a5717b4cb9166f48b6c
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Yuvipanda 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Move puppetmaster roles to manifests/role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: Move puppetmaster roles to manifests/role
..

Move puppetmaster roles to manifests/role

Test to see if this works (as it should) before making a
bigger change (If4399349be3083397f7638427fae793065185fb3)

Change-Id: I1c95105c623eb50662881a5717b4cb9166f48b6c
---
R manifests/role/puppetmaster/backend.pp
R manifests/role/puppetmaster/frontend.pp
2 files changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/07/254107/1

diff --git a/modules/role/manifests/puppetmaster/backend.pp 
b/manifests/role/puppetmaster/backend.pp
similarity index 100%
rename from modules/role/manifests/puppetmaster/backend.pp
rename to manifests/role/puppetmaster/backend.pp
diff --git a/modules/role/manifests/puppetmaster/frontend.pp 
b/manifests/role/puppetmaster/frontend.pp
similarity index 100%
rename from modules/role/manifests/puppetmaster/frontend.pp
rename to manifests/role/puppetmaster/frontend.pp

-- 
To view, visit https://gerrit.wikimedia.org/r/254107
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1c95105c623eb50662881a5717b4cb9166f48b6c
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Move most of 'role' module to manifests/role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: Move most of 'role' module to manifests/role
..

Move most of 'role' module to manifests/role

- This is the right place for them
- All of these had classes named role:: and this
  keeps them in puppet autolayout
- Not touching the deployment classes yet since I would
  like to find a nice place for them that's not the top leve
  file/ or template/ folders

Change-Id: If4399349be3083397f7638427fae793065185fb3
---
R manifests/role/cache/1layer.pp
R manifests/role/cache/2layer.pp
R manifests/role/cache/base.pp
R manifests/role/cache/configuration.pp
R manifests/role/cache/kafka.pp
R manifests/role/cache/kafka/eventlogging.pp
R manifests/role/cache/kafka/statsv.pp
R manifests/role/cache/kafka/webrequest.pp
R manifests/role/cache/logging.pp
R manifests/role/cache/maps.pp
R manifests/role/cache/misc.pp
R manifests/role/cache/mobile.pp
R manifests/role/cache/parsoid.pp
R manifests/role/cache/perf.pp
R manifests/role/cache/ssl/misc.pp
R manifests/role/cache/ssl/unified.pp
R manifests/role/cache/statsd.pp
R manifests/role/cache/text.pp
R manifests/role/cache/upload.pp
R manifests/role/conftool/master.pp
R manifests/role/lvs/balancer.pp
R manifests/role/openldap/corp.pp
R manifests/role/puppetmaster/backend.pp
R manifests/role/puppetmaster/frontend.pp
R manifests/role/salt/masters/labs.pp
R manifests/role/salt/masters/labs/project_master.pp
R manifests/role/salt/masters/production.pp
R manifests/role/salt/minions.pp
R manifests/role/scap/target.pp
29 files changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/06/254106/1

diff --git a/modules/role/manifests/cache/1layer.pp 
b/manifests/role/cache/1layer.pp
similarity index 100%
rename from modules/role/manifests/cache/1layer.pp
rename to manifests/role/cache/1layer.pp
diff --git a/modules/role/manifests/cache/2layer.pp 
b/manifests/role/cache/2layer.pp
similarity index 100%
rename from modules/role/manifests/cache/2layer.pp
rename to manifests/role/cache/2layer.pp
diff --git a/modules/role/manifests/cache/base.pp b/manifests/role/cache/base.pp
similarity index 100%
rename from modules/role/manifests/cache/base.pp
rename to manifests/role/cache/base.pp
diff --git a/modules/role/manifests/cache/configuration.pp 
b/manifests/role/cache/configuration.pp
similarity index 100%
rename from modules/role/manifests/cache/configuration.pp
rename to manifests/role/cache/configuration.pp
diff --git a/modules/role/manifests/cache/kafka.pp 
b/manifests/role/cache/kafka.pp
similarity index 100%
rename from modules/role/manifests/cache/kafka.pp
rename to manifests/role/cache/kafka.pp
diff --git a/modules/role/manifests/cache/kafka/eventlogging.pp 
b/manifests/role/cache/kafka/eventlogging.pp
similarity index 100%
rename from modules/role/manifests/cache/kafka/eventlogging.pp
rename to manifests/role/cache/kafka/eventlogging.pp
diff --git a/modules/role/manifests/cache/kafka/statsv.pp 
b/manifests/role/cache/kafka/statsv.pp
similarity index 100%
rename from modules/role/manifests/cache/kafka/statsv.pp
rename to manifests/role/cache/kafka/statsv.pp
diff --git a/modules/role/manifests/cache/kafka/webrequest.pp 
b/manifests/role/cache/kafka/webrequest.pp
similarity index 100%
rename from modules/role/manifests/cache/kafka/webrequest.pp
rename to manifests/role/cache/kafka/webrequest.pp
diff --git a/modules/role/manifests/cache/logging.pp 
b/manifests/role/cache/logging.pp
similarity index 100%
rename from modules/role/manifests/cache/logging.pp
rename to manifests/role/cache/logging.pp
diff --git a/modules/role/manifests/cache/maps.pp b/manifests/role/cache/maps.pp
similarity index 100%
rename from modules/role/manifests/cache/maps.pp
rename to manifests/role/cache/maps.pp
diff --git a/modules/role/manifests/cache/misc.pp b/manifests/role/cache/misc.pp
similarity index 100%
rename from modules/role/manifests/cache/misc.pp
rename to manifests/role/cache/misc.pp
diff --git a/modules/role/manifests/cache/mobile.pp 
b/manifests/role/cache/mobile.pp
similarity index 100%
rename from modules/role/manifests/cache/mobile.pp
rename to manifests/role/cache/mobile.pp
diff --git a/modules/role/manifests/cache/parsoid.pp 
b/manifests/role/cache/parsoid.pp
similarity index 100%
rename from modules/role/manifests/cache/parsoid.pp
rename to manifests/role/cache/parsoid.pp
diff --git a/modules/role/manifests/cache/perf.pp b/manifests/role/cache/perf.pp
similarity index 100%
rename from modules/role/manifests/cache/perf.pp
rename to manifests/role/cache/perf.pp
diff --git a/modules/role/manifests/cache/ssl/misc.pp 
b/manifests/role/cache/ssl/misc.pp
similarity index 100%
rename from modules/role/manifests/cache/ssl/misc.pp
rename to manifests/role/cache/ssl/misc.pp
diff --git a/modules/role/manifests/cache/ssl/unified.pp 
b/manifests/role/cache/ssl/unified.pp
similarit

[MediaWiki-commits] [Gerrit] Consolidate setting separator in a method - change (mediawiki...parsoid)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Consolidate setting separator in a method
..


Consolidate setting separator in a method

 * We do this is several places and should be wary of updating SOL
   state.

 * Noticed in review:
   https://gerrit.wikimedia.org/r/#/c/253070/2/lib/html2wt/DOMHandlers.js

Change-Id: I6aaeba837af59e97a708afc95886dc0aa849649e
---
M lib/html2wt/DOMHandlers.js
M lib/html2wt/SerializerState.js
M lib/html2wt/WikitextSerializer.js
M lib/html2wt/separators.js
4 files changed, 45 insertions(+), 40 deletions(-)

Approvals:
  Subramanya Sastry: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/html2wt/DOMHandlers.js b/lib/html2wt/DOMHandlers.js
index 0d58ed2..4d36d13 100644
--- a/lib/html2wt/DOMHandlers.js
+++ b/lib/html2wt/DOMHandlers.js
@@ -881,7 +881,7 @@
state.emitChunk(content, node);
 
// Preserve separator source
-   state.sep.src = trailingNL && trailingNL[0] || '';
+   state.setSep((trailingNL && trailingNL[0]) || '');
},
sepnls: {
before: function(node, otherNode) {
@@ -1337,10 +1337,10 @@
if (//.test(dp.src)) {
state.hasSelfClosingNowikis = 
true;
}
-   // FIXME: Should this also check for 
tabs and plain space chars
-   // interspersed with newlines?
+   // FIXME: Should this also check for 
tabs and plain space
+   // chars interspersed with newlines?
if (dp.src.match(/^\n+$/)) {
-   state.sep.src = (state.sep.src 
|| '') + dp.src;
+   state.setSep((state.sep.src || 
'') + dp.src);
} else {
self.emitWikitext(dp.src, node);
}
diff --git a/lib/html2wt/SerializerState.js b/lib/html2wt/SerializerState.js
index eb4296c..10a16d8 100644
--- a/lib/html2wt/SerializerState.js
+++ b/lib/html2wt/SerializerState.js
@@ -149,6 +149,13 @@
 
 /**
  */
+SSP.setSep = function(src) {
+   this.sep.src = src;
+   this.sepIntroducedSOL(src);
+};
+
+/**
+ */
 SSP.updateSep = function(node) {
this.sep.lastSourceNode = node;
this.sep.lastSourceSep = this.sep.src;
@@ -237,6 +244,19 @@
// Don't get tripped by newlines in comments!  Be wary of nowikis added
// by makeSepIndentPreSafe on the last line.
if (sep.replace(Util.COMMENT_REGEXP_G, '').search(/\n$/) !== -1) {
+   // Since we are stashing away newlines for emitting
+   // before the next element, we are in SOL state wrt
+   // the content of that next element.
+   //
+   // FIXME: The only serious caveat is if all these newlines
+   // will get stripped out in the context of any parent node
+   // that suppress newlines (ex:  nodes that are forcibly
+   // converted to non-html wikitext representation -- newlines
+   // will get suppressed in those context). We currently don't
+   // handle arbitrary HTML which cause these headaches. And,
+   // in any case, we might decide to emit such HTML as native
+   // HTML to avoid these problems. To be figured out later when
+   // it is a real issue.
this.onSOL = true;
}
 };
diff --git a/lib/html2wt/WikitextSerializer.js 
b/lib/html2wt/WikitextSerializer.js
index 6a40f73..003bfff 100644
--- a/lib/html2wt/WikitextSerializer.js
+++ b/lib/html2wt/WikitextSerializer.js
@@ -698,30 +698,16 @@
 
// If not in nowiki and pre context, escape wikitext
// XXX refactor: Handle this with escape handlers instead!
-   state.escapeText = (state.onSOL || !state.currNodeUnmodified) && 
!state.inNoWiki && !state.inHTMLPre;
+   state.escapeText = (state.onSOL || !state.currNodeUnmodified) &&
+   !state.inNoWiki && !state.inHTMLPre;
state.emitChunk(res, node);
state.escapeText = false;
 
// Move trailing newlines into the next separator
if (newSepMatch) {
if (!state.sep.src) {
-   state.sep.src = newSepMatch[0];
-   state.sep.lastSourceSep = state.sep.src;
-
-   // Since we are stashing away newlines for emitting
-   // before the next element, we are in SOL state wrt
-   // the content of that next element.
-   

[MediaWiki-commits] [Gerrit] Only change image URL if original width is bigger than desir... - change (mediawiki...mobileapps)

2015-11-18 Thread BearND (Code Review)
BearND has uploaded a new change for review.

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

Change subject: Only change image URL if original width is bigger than desired 
width.
..

Only change image URL if original width is bigger than desired width.

Need to request biggest size we want from MW API so we less likely run into
an issue where the requested size in the URL is too big to be converted.

Bug: T118978
Change-Id: I8e379257735a1abe863bacd23c88c5a904f15b7a
---
M test/features/mobile-sections-lead/pagecontent.js
M test/features/mobile-sections/pagecontent.js
A test/lib/mwapi/image-test.js
3 files changed, 49 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps 
refs/changes/05/254105/1

diff --git a/test/features/mobile-sections-lead/pagecontent.js 
b/test/features/mobile-sections-lead/pagecontent.js
index 97d3c99..586ec75 100644
--- a/test/features/mobile-sections-lead/pagecontent.js
+++ b/test/features/mobile-sections-lead/pagecontent.js
@@ -83,7 +83,7 @@
 assert.contains(lead.image.urls["800"], 
"//upload.wikimedia.org/wikipedia/commons/thumb");
 assert.contains(lead.image.urls["800"], "800px-");
 assert.contains(lead.image.urls["1024"], 
"//upload.wikimedia.org/wikipedia/commons/thumb");
-assert.contains(lead.image.urls["1024"], "1024px-");
+assert.contains(lead.image.urls["1024"], "820px-");
 });
 });
 it('Barack Obama should have a pronunciation', function() {
diff --git a/test/features/mobile-sections/pagecontent.js 
b/test/features/mobile-sections/pagecontent.js
index 7ede8aa..d1aeb2b 100644
--- a/test/features/mobile-sections/pagecontent.js
+++ b/test/features/mobile-sections/pagecontent.js
@@ -78,7 +78,7 @@
 assert.contains(lead.image.urls["800"], 
"//upload.wikimedia.org/wikipedia/commons/thumb");
 assert.contains(lead.image.urls["800"], "800px-");
 assert.contains(lead.image.urls["1024"], 
"//upload.wikimedia.org/wikipedia/commons/thumb");
-assert.contains(lead.image.urls["1024"], "1024px-");
+assert.contains(lead.image.urls["1024"], "820px-");
 
 assert.deepEqual(lead.description, "44th President of the 
United States");
 assert.deepEqual(lead.redirected, "Barack Obama");
diff --git a/test/lib/mwapi/image-test.js b/test/lib/mwapi/image-test.js
new file mode 100644
index 000..d4f1c0d
--- /dev/null
+++ b/test/lib/mwapi/image-test.js
@@ -0,0 +1,47 @@
+'use strict';
+
+// mocha defines to avoid JSHint breakage
+/* global describe, it, before, beforeEach, after, afterEach */
+
+var assert = require('../../utils/assert.js');
+var mwapi = require('../../../lib/mwapi');
+
+describe('lib:mwapi:image', function () {
+this.timeout(2);
+
+it('buildLeadImageUrls("a") should return all "a"s', function () {
+assert.deepEqual(mwapi._buildLeadImageUrls('a'), {
+640: 'a',
+800: 'a',
+1024: 'a'
+}
+);
+});
+
+it('buildLeadImageUrls with size 1024px', function () {
+
assert.deepEqual(mwapi._buildLeadImageUrls('//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/1024px-Sun_in_February.jpg'),
 {
+640: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/640px-Sun_in_February.jpg',
+800: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/800px-Sun_in_February.jpg',
+1024: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/1024px-Sun_in_February.jpg'
+}
+);
+});
+
+it('buildLeadImageUrls with size 555px should return size 555', function 
() {
+
assert.deepEqual(mwapi._buildLeadImageUrls('//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/555px-Sun_in_February.jpg'),
 {
+640: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/555px-Sun_in_February.jpg',
+800: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/555px-Sun_in_February.jpg',
+1024: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/555px-Sun_in_February.jpg'
+}
+);
+});
+
+it('buildLeadImageUrls with size 750px should return size 640 for 640 and 
then 750 for rest', function () {
+
assert.deepEqual(mwapi._buildLeadImageUrls('//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/750px-Sun_in_February.jpg'),
 {
+640: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/640px-Sun_in_February.jpg',
+800: 
'//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sun_in_February.jpg/750px-Sun_in_February.jpg',
+   

[MediaWiki-commits] [Gerrit] chromium: Remove module - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: chromium: Remove module
..

chromium: Remove module

Doesn't seem to be used anywhere. role::jsbench uses
chromium browser but not this module

Change-Id: I189deb58afc791e1284942f171046340d2eb9506
---
D modules/chromium/files/chromium-ppa.key
D modules/chromium/manifests/init.pp
D modules/chromium/templates/chromium.conf.erb
3 files changed, 0 insertions(+), 105 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/04/254104/1

diff --git a/modules/chromium/files/chromium-ppa.key 
b/modules/chromium/files/chromium-ppa.key
deleted file mode 100644
index 73aa75e..000
--- a/modules/chromium/files/chromium-ppa.key
+++ /dev/null
@@ -1,13 +0,0 @@
--BEGIN PGP PUBLIC KEY BLOCK-
-Version: SKS 1.1.4
-Comment: Hostname: keyserver.ubuntu.com
-
-mI0EURBQPgEEAK709yq+aJKzwI3l6pDp11kqbjE3k+oXY4eC7SdO7/fQJGElRpnktJJWX6Wh
-S2bbvs1QoYZqMGXKM4IMjPzvRHzBl76cF4dx+wclzJ8ihBzzfedrgWgr9OUHMP9Tfit+uD4Z
-gpxiI9KaU4cUYFOPpXYPtZQHvnbDaReMgHVWkpppABEBAAG0IkxhdW5jaHBhZCBQUEEgZm9y
-IFNhaWtyaXNobmEgQXJjb3SIuAQTAQIAIgUCURBQPgIbAwYLCQgHAwIGFQgCCQoLBBYCAwEC
-HgECF4AACgkQ5qF0UdwFj0ByWQP9Hn3UWHbfblt7q8MuNIoxOpj3HbYDAC2VzjQJ/OMC4xuh
-h1yCl07sgVm9R202EtpMR7JSRjS4jycNe2egjPUFAWnJva8tfyMta9XlAb+u6Hd7xmaRNELU
-fhxFgCCAG3OFfo2yA8cIgPLeNg8MIfYIz9PK54zCfbyL/Yb8McO2blQ=
-=obeq
--END PGP PUBLIC KEY BLOCK-
diff --git a/modules/chromium/manifests/init.pp 
b/modules/chromium/manifests/init.pp
deleted file mode 100644
index d83f6d6..000
--- a/modules/chromium/manifests/init.pp
+++ /dev/null
@@ -1,72 +0,0 @@
-# == Class: chromium
-#
-# Chromium is the open source web browser project from which Google
-# Chrome draws its source code. This Puppet module provisions a browser
-# instance that runs in headless mode and that can be automated by
-# various tools.
-#
-# === Parameters
-#
-# [*display*]
-#   X display number. Default: 99.
-#
-# [*incognito*]
-#   If true, runs Chromium in "incognito" mode, meaning history and
-#   session data will not persist across runs. Default: true.
-#
-# [*remote_debugging_port*]
-#   Port on which Chromium will listen for remote debugging clients.
-#   See 
.
-#   Default: 9222.
-#
-# [*extra_args*]
-#   Additional arguments to pass to Chromium.
-#   See .
-#   Default: no additional arguments.
-#
-# === Examples
-#
-#  class { 'chromium':
-# extra_args => '--user-data-dir=/srv/chromium',
-#  }
-#
-class chromium(
-$ensure= present,
-$display   = 99,
-$incognito = true,
-$remote_debugging_port = 9222,
-$extra_args= '--',
-) {
-include ::xvfb
-
-group { 'chromium':
-ensure => $ensure,
-system => true,
-}
-
-user { 'chromium':
-ensure => $ensure,
-gid=> 'chromium',
-shell  => '/bin/false',
-home   => '/var/lib/chromium',
-system => true,
-managehome => true,
-}
-
-package { [ 'chromium-browser', 'chromium-browser-l10n' ]:
-ensure => $ensure,
-notify => Service['chromium'],
-}
-
-file { '/etc/init/chromium.conf':
-ensure  => $ensure,
-content => template('chromium/chromium.conf.erb'),
-require => User['chromium'],
-notify  => Service['chromium'],
-}
-
-service { 'chromium':
-ensure   => ensure_service($ensure),
-provider => 'upstart',
-}
-}
diff --git a/modules/chromium/templates/chromium.conf.erb 
b/modules/chromium/templates/chromium.conf.erb
deleted file mode 100644
index 8bc3449..000
--- a/modules/chromium/templates/chromium.conf.erb
+++ /dev/null
@@ -1,20 +0,0 @@
-# chromium - Chromium web browser
-#
-# Chromium is the open source web browser project from which Google
-# Chrome draws its source code.
-#
-description "Chromium web browser"
-
-start on started xvfb
-
-setuid chromium
-setgid chromium
-
-respawn
-respawn limit 10 5
-
-exec chromium-browser \
-<% if @incognito %>--incognito<% end %> \
---remote-debugging-port=<%= @remote_debugging_port %> \
---display=:<%= @display.to_s.sub(/\D/, '') %> \
-<%= Array(@extra_args).join(" \\\n") %>

-- 
To view, visit https://gerrit.wikimedia.org/r/254104
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I189deb58afc791e1284942f171046340d2eb9506
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Use mysql directly in mediawiki singlenode - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: labs: Use mysql directly in mediawiki singlenode
..


labs: Use mysql directly in mediawiki singlenode

This is an ancient class that should be killed except
there are a lot of labs instances still using it :'(

Change-Id: I7e3fc45a3b0746704ac7e9f832d1e6336c74bac0
---
M modules/mediawiki_singlenode/manifests/init.pp
1 file changed, 7 insertions(+), 1 deletion(-)

Approvals:
  Yuvipanda: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/mediawiki_singlenode/manifests/init.pp 
b/modules/mediawiki_singlenode/manifests/init.pp
index 983d7d6..02ab3dd 100644
--- a/modules/mediawiki_singlenode/manifests/init.pp
+++ b/modules/mediawiki_singlenode/manifests/init.pp
@@ -22,7 +22,13 @@
 $memcached_size= 128,
 $apache_site_template = 'mediawiki_singlenode/mediawiki_singlenode.erb'
 ) {
-require role::labs-mysql-server, base::mysterious_sysctl
+require base::mysterious_sysctl
+
+class { '::mysql::server':
+config_hash => {
+datadir => '/mnt/mysql',
+}
+}
 
 require_package('php5-mysql')
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254103
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I7e3fc45a3b0746704ac7e9f832d1e6336c74bac0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Yuvipanda 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Use mysql directly in mediawiki singlenode - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: labs: Use mysql directly in mediawiki singlenode
..

labs: Use mysql directly in mediawiki singlenode

This is an ancient class that should be killed except
there are a lot of labs instances still using it :'(

Change-Id: I7e3fc45a3b0746704ac7e9f832d1e6336c74bac0
---
M modules/mediawiki_singlenode/manifests/init.pp
1 file changed, 7 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/03/254103/1

diff --git a/modules/mediawiki_singlenode/manifests/init.pp 
b/modules/mediawiki_singlenode/manifests/init.pp
index 983d7d6..02ab3dd 100644
--- a/modules/mediawiki_singlenode/manifests/init.pp
+++ b/modules/mediawiki_singlenode/manifests/init.pp
@@ -22,7 +22,13 @@
 $memcached_size= 128,
 $apache_site_template = 'mediawiki_singlenode/mediawiki_singlenode.erb'
 ) {
-require role::labs-mysql-server, base::mysterious_sysctl
+require base::mysterious_sysctl
+
+class { '::mysql::server':
+config_hash => {
+datadir => '/mnt/mysql',
+}
+}
 
 require_package('php5-mysql')
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254103
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7e3fc45a3b0746704ac7e9f832d1e6336c74bac0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Remove old and terrible labs-mysql-server role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: Remove old and terrible labs-mysql-server role
..


Remove old and terrible labs-mysql-server role

http://tools.wmflabs.org/watroles/role/role::labs-mysql-server
I have emptied it

Change-Id: I86f71ddc597efb99ce3cca3b3d6737ba55785b2d
---
D manifests/role/labsmysql.pp
1 file changed, 0 insertions(+), 21 deletions(-)

Approvals:
  Yuvipanda: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/labsmysql.pp b/manifests/role/labsmysql.pp
deleted file mode 100644
index 934fe54..000
--- a/manifests/role/labsmysql.pp
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "mysql.db"
-
-class role::labs-mysql-server {
-
-$datadir = $::mysql_datadir ? {
-undef   => '/mnt/mysql',
-default => $::mysql_datadir,
-}
-$bind_address = $::mysql_server_bind_address ? {
-undef   => '127.0.0.1',
-default => $::mysql_server_bind_address
-}
-
-class { 'mysql::server':
-config_hash => {
-# Move mysql data to a place where there's actually space.
-'datadir'  => $datadir,
-'bind_address' => $bind_address,
-}
-}
-}

-- 
To view, visit https://gerrit.wikimedia.org/r/254102
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I86f71ddc597efb99ce3cca3b3d6737ba55785b2d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Yuvipanda 
Gerrit-Reviewer: coren 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Remove old and terrible labs-mysql-server role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: Remove old and terrible labs-mysql-server role
..

Remove old and terrible labs-mysql-server role

http://tools.wmflabs.org/watroles/role/role::labs-mysql-server
I have emptied it

Change-Id: I86f71ddc597efb99ce3cca3b3d6737ba55785b2d
---
D manifests/role/labsmysql.pp
1 file changed, 0 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/02/254102/1

diff --git a/manifests/role/labsmysql.pp b/manifests/role/labsmysql.pp
deleted file mode 100644
index 934fe54..000
--- a/manifests/role/labsmysql.pp
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "mysql.db"
-
-class role::labs-mysql-server {
-
-$datadir = $::mysql_datadir ? {
-undef   => '/mnt/mysql',
-default => $::mysql_datadir,
-}
-$bind_address = $::mysql_server_bind_address ? {
-undef   => '127.0.0.1',
-default => $::mysql_server_bind_address
-}
-
-class { 'mysql::server':
-config_hash => {
-# Move mysql data to a place where there's actually space.
-'datadir'  => $datadir,
-'bind_address' => $bind_address,
-}
-}
-}

-- 
To view, visit https://gerrit.wikimedia.org/r/254102
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I86f71ddc597efb99ce3cca3b3d6737ba55785b2d
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Kill the old labslamp role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: labs: Kill the old labslamp role
..


labs: Kill the old labslamp role

I moved them all to role::simplelamp, see
http://tools.wmflabs.org/watroles/role/role::lamp::labs

Bug: T118784
Change-Id: Ica15bb2783baea43946a447900fcb6a6ae789890
---
D manifests/role/labslamp.pp
1 file changed, 0 insertions(+), 10 deletions(-)

Approvals:
  Yuvipanda: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/labslamp.pp b/manifests/role/labslamp.pp
deleted file mode 100644
index 8bc7c9b..000
--- a/manifests/role/labslamp.pp
+++ /dev/null
@@ -1,10 +0,0 @@
-# Deprecated older role that no longer works
-class role::lamp::labs {
-
-include role::labs-mysql-server
-include ::apache
-include ::apache::mod::php5
-require_package('php5-mysql')
-require_package('php5-cli')
-
-}

-- 
To view, visit https://gerrit.wikimedia.org/r/254101
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ica15bb2783baea43946a447900fcb6a6ae789890
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 
Gerrit-Reviewer: Yuvipanda 
Gerrit-Reviewer: coren 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] labs: Kill the old labslamp role - change (operations/puppet)

2015-11-18 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: labs: Kill the old labslamp role
..

labs: Kill the old labslamp role

I moved them all to role::simplelamp, see
http://tools.wmflabs.org/watroles/role/role::lamp::labs

Bug: T118784
Change-Id: Ica15bb2783baea43946a447900fcb6a6ae789890
---
D manifests/role/labslamp.pp
1 file changed, 0 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/01/254101/1

diff --git a/manifests/role/labslamp.pp b/manifests/role/labslamp.pp
deleted file mode 100644
index 8bc7c9b..000
--- a/manifests/role/labslamp.pp
+++ /dev/null
@@ -1,10 +0,0 @@
-# Deprecated older role that no longer works
-class role::lamp::labs {
-
-include role::labs-mysql-server
-include ::apache
-include ::apache::mod::php5
-require_package('php5-mysql')
-require_package('php5-cli')
-
-}

-- 
To view, visit https://gerrit.wikimedia.org/r/254101
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ica15bb2783baea43946a447900fcb6a6ae789890
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] VE: Correct name of script in header - change (mediawiki...Math)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: VE: Correct name of script in header
..


VE: Correct name of script in header

Change-Id: I4a76d72dcb22a5ebeb02f6c0b6946c1ef4744185
---
M modules/ve-math/tools/makeSvgsAndCss.js
M modules/ve-math/ve.ui.MWMathSymbols.css
2 files changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve-math/tools/makeSvgsAndCss.js 
b/modules/ve-math/tools/makeSvgsAndCss.js
index 6390f19..ad41ea1 100755
--- a/modules/ve-math/tools/makeSvgsAndCss.js
+++ b/modules/ve-math/tools/makeSvgsAndCss.js
@@ -107,7 +107,7 @@
}
}
 
-   fs.writeFileSync( cssFile, '/*!\n * This file is GENERATED by 
tools/getSvgsAndCss.js\n * DO NOT EDIT\n */\n' );
+   fs.writeFileSync( cssFile, '/*!\n * This file is GENERATED by 
tools/makeSvgsAndCss.js\n * DO NOT EDIT\n */\n' );
count = 0;
runNext();
 
diff --git a/modules/ve-math/ve.ui.MWMathSymbols.css 
b/modules/ve-math/ve.ui.MWMathSymbols.css
index 81f1cd2..eebae46 100644
--- a/modules/ve-math/ve.ui.MWMathSymbols.css
+++ b/modules/ve-math/ve.ui.MWMathSymbols.css
@@ -1,5 +1,5 @@
 /*!
- * This file is GENERATED by tools/getSvgsAndCss.js
+ * This file is GENERATED by tools/makeSvgsAndCss.js
  * DO NOT EDIT
  */
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254100
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4a76d72dcb22a5ebeb02f6c0b6946c1ef4744185
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Math
Gerrit-Branch: master
Gerrit-Owner: Esanders 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: Tchanders 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] VE: Correct name of script in header - change (mediawiki...Math)

2015-11-18 Thread Esanders (Code Review)
Esanders has uploaded a new change for review.

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

Change subject: VE: Correct name of script in header
..

VE: Correct name of script in header

Change-Id: I4a76d72dcb22a5ebeb02f6c0b6946c1ef4744185
---
M modules/ve-math/tools/makeSvgsAndCss.js
M modules/ve-math/ve.ui.MWMathSymbols.css
2 files changed, 2 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Math 
refs/changes/00/254100/1

diff --git a/modules/ve-math/tools/makeSvgsAndCss.js 
b/modules/ve-math/tools/makeSvgsAndCss.js
index 6390f19..ad41ea1 100755
--- a/modules/ve-math/tools/makeSvgsAndCss.js
+++ b/modules/ve-math/tools/makeSvgsAndCss.js
@@ -107,7 +107,7 @@
}
}
 
-   fs.writeFileSync( cssFile, '/*!\n * This file is GENERATED by 
tools/getSvgsAndCss.js\n * DO NOT EDIT\n */\n' );
+   fs.writeFileSync( cssFile, '/*!\n * This file is GENERATED by 
tools/makeSvgsAndCss.js\n * DO NOT EDIT\n */\n' );
count = 0;
runNext();
 
diff --git a/modules/ve-math/ve.ui.MWMathSymbols.css 
b/modules/ve-math/ve.ui.MWMathSymbols.css
index 81f1cd2..eebae46 100644
--- a/modules/ve-math/ve.ui.MWMathSymbols.css
+++ b/modules/ve-math/ve.ui.MWMathSymbols.css
@@ -1,5 +1,5 @@
 /*!
- * This file is GENERATED by tools/getSvgsAndCss.js
+ * This file is GENERATED by tools/makeSvgsAndCss.js
  * DO NOT EDIT
  */
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254100
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4a76d72dcb22a5ebeb02f6c0b6946c1ef4744185
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Math
Gerrit-Branch: master
Gerrit-Owner: Esanders 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add portal data collection scripts - change (wikimedia...golden)

2015-11-18 Thread OliverKeyes (Code Review)
OliverKeyes has uploaded a new change for review.

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

Change subject: Add portal data collection scripts
..

Add portal data collection scripts

Adds very basic data collection scripts for portal traffic.

Bug: T118994
Change-Id: Ia8a021eec9f4463f955b8cdfb72670478e5fae9d
---
M config.R
A portal/portal.R
2 files changed, 33 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/golden 
refs/changes/99/254099/1

diff --git a/config.R b/config.R
index b168bc9..41df37b 100644
--- a/config.R
+++ b/config.R
@@ -3,7 +3,7 @@
 
 # Core paths
 write_root <- "/a/aggregate-datasets/"
-dirs <- c("maps","wdqs", "search", "external_traffic")
+dirs <- c("maps","wdqs", "search", "external_traffic", "portal")
 write_dirs <- paste0(write_root, dirs)
 
 # Dependencies
diff --git a/portal/portal.R b/portal/portal.R
new file mode 100644
index 000..f9bea5e
--- /dev/null
+++ b/portal/portal.R
@@ -0,0 +1,32 @@
+base_path <- paste0(write_root, "portal/")
+
+main <- function(date = NULL, table = "WikipediaPortal_14377354"){
+  
+  # Read
+  data <- query_func(fields = "SELECT SUBSTRING(timestamp, 1, 8) AS date,
+ event_session_id AS session,
+ event_destination AS destination,
+ event_event_type AS type,
+ event_section_used AS section_used",
+ date = date,
+ table = table,
+ conditionals = "event_cohort IS NULL")
+  
+  # Sanitise
+  data$section_used[is.na(data$section_used)] <- "no action"
+  data$date <- as.Date(ymd(data$date))
+  data <- as.data.table(data)
+  
+  # Generate clickthrough rate data
+  clickthrough_data <- data[,j=list(events=.N),by = c("date","type")]
+  
+  # Generate click breakdown
+  data <- data[order(data$type, decreasing = FALSE),]
+  data <- data[!duplicated(data$session),]
+  breakdown_data <- data[,j=list(events=.N),by = c("date","section_used")]
+  
+  conditional_write(clickthrough_data, file.path(base_path, 
"clickthrough_rate.tsv"))
+  conditional_write(breakdown_data, file.path(base_path, 
"clickthrough_breakdown.tsv"))
+  
+  return(invisible())
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/254099
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia8a021eec9f4463f955b8cdfb72670478e5fae9d
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/golden
Gerrit-Branch: master
Gerrit-Owner: OliverKeyes 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add tool to create SVG files of LaTeX symbols - change (mediawiki...Math)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add tool to create SVG files of LaTeX symbols
..


Add tool to create SVG files of LaTeX symbols

Also produces a CSS file for the symbol buttons, using the
SVG filenames. Gets the list of symbols from symbols.json.

Bug: T118660
Change-Id: Iaa792418d870a7e266b6455ef037994e31278278
---
M i18n/en.json
M i18n/qqq.json
A modules/ve-math/symbols.json
A modules/ve-math/tools/makeSvgsAndCss.js
A modules/ve-math/tools/package.json
A modules/ve-math/ve.ui.MWMathSymbols.css
6 files changed, 2,899 insertions(+), 0 deletions(-)

Approvals:
  Esanders: Looks good to me, approved
  jenkins-bot: Verified




-- 
To view, visit https://gerrit.wikimedia.org/r/252891
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iaa792418d870a7e266b6455ef037994e31278278
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/Math
Gerrit-Branch: master
Gerrit-Owner: Tchanders 
Gerrit-Reviewer: Esanders 
Gerrit-Reviewer: Physikerwelt 
Gerrit-Reviewer: Tchanders 
Gerrit-Reviewer: TheDJ 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Prevent link color on hover for the body ("payload") as well... - change (mediawiki...Echo)

2015-11-18 Thread Catrope (Code Review)
Catrope has uploaded a new change for review.

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

Change subject: Prevent link color on hover for the body ("payload") as well as 
the header
..

Prevent link color on hover for the body ("payload") as well as the header

Change-Id: Id221af75ed76122b03f741c184053e73bd2f4ee5
---
M includes/formatters/EchoFlyoutFormatter.php
M modules/nojs/mw.echo.notifications.less
2 files changed, 3 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo 
refs/changes/98/254098/1

diff --git a/includes/formatters/EchoFlyoutFormatter.php 
b/includes/formatters/EchoFlyoutFormatter.php
index b111200..f1cd692 100644
--- a/includes/formatters/EchoFlyoutFormatter.php
+++ b/includes/formatters/EchoFlyoutFormatter.php
@@ -27,7 +27,7 @@
if ( $body ) {
$html .= Xml::tags(
'div',
-   null,
+   array( 'class' => 'mw-echo-payload' ),
$body->parse()
) . "\n";
}
diff --git a/modules/nojs/mw.echo.notifications.less 
b/modules/nojs/mw.echo.notifications.less
index 5fc330b..582a45c 100644
--- a/modules/nojs/mw.echo.notifications.less
+++ b/modules/nojs/mw.echo.notifications.less
@@ -50,7 +50,8 @@
overflow: hidden;
display: block;
 
-   .mw-echo-title {
+   .mw-echo-title,
+   .mw-echo-payload {
color: #66;
font-size: 1em;
line-height: 1.4em;

-- 
To view, visit https://gerrit.wikimedia.org/r/254098
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id221af75ed76122b03f741c184053e73bd2f4ee5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: master
Gerrit-Owner: Catrope 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Remove styling for nonexistent mw-echo-title-heading class - change (mediawiki...Echo)

2015-11-18 Thread Catrope (Code Review)
Catrope has uploaded a new change for review.

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

Change subject: Remove styling for nonexistent mw-echo-title-heading class
..

Remove styling for nonexistent mw-echo-title-heading class

Change-Id: Ia1ce2889ec0e740d0fcc7d49809d5c64d24a696c
---
M modules/nojs/mw.echo.notifications.less
1 file changed, 0 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo 
refs/changes/97/254097/1

diff --git a/modules/nojs/mw.echo.notifications.less 
b/modules/nojs/mw.echo.notifications.less
index 07fa1a6..5fc330b 100644
--- a/modules/nojs/mw.echo.notifications.less
+++ b/modules/nojs/mw.echo.notifications.less
@@ -55,16 +55,6 @@
font-size: 1em;
line-height: 1.4em;
 
-   .mw-echo-title-heading {
-   color: #666;
-   font-size: 1.15em;
-   }
-   .mw-echo-title-heading,
-   .mw-echo-title-heading a {
-   font-weight: bold;
-   }
-
-   .mw-echo-title-heading,
.plainlinks {
white-space: nowrap;
overflow: hidden;

-- 
To view, visit https://gerrit.wikimedia.org/r/254097
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia1ce2889ec0e740d0fcc7d49809d5c64d24a696c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: master
Gerrit-Owner: Catrope 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Make RelatedArticles available as a beta feature - change (mediawiki...RelatedArticles)

2015-11-18 Thread Bmansurov (Code Review)
Bmansurov has uploaded a new change for review.

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

Change subject: Make RelatedArticles available as a beta feature
..

Make RelatedArticles available as a beta feature

Hide the related articles from the sidebar if ReadMore is enabled.
Otherwise leave as is because it's used in WikiVoyage.

Bug: T117444
Change-Id: I3879ae1e53de301b0d3f5f2c066f8e8de7c1c223
---
M extension.json
M i18n/en.json
M i18n/qqq.json
A images/BetaFeatures/wb-readmore-beta-ltr.svg
A images/BetaFeatures/wb-readmore-beta-rtl.svg
M includes/Hooks.php
M includes/ReadMoreHooks.php
7 files changed, 193 insertions(+), 8 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RelatedArticles 
refs/changes/96/254096/1

diff --git a/extension.json b/extension.json
index 8057b88..6060af8 100644
--- a/extension.json
+++ b/extension.json
@@ -40,6 +40,9 @@
"UnitTestsList": [
"RelatedArticles\\Hooks::onUnitTestsList"
],
+   "GetBetaFeaturePreferences": [
+   "RelatedArticles\\Hooks::onGetBetaFeaturePreferences"
+   ],
"MakeGlobalVariablesScript": [

"RelatedArticles\\ReadMoreHooks::onMakeGlobalVariablesScript"
],
diff --git a/i18n/en.json b/i18n/en.json
index 2fe142b..455458e 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -4,5 +4,7 @@
},
"relatedarticles-title": "Related pages",
"relatedarticles-desc": "Adds a link to related pages on the sidebar",
-   "relatedarticles-read-more-heading": "Related Articles"
+   "relatedarticles-read-more-heading": "Related Articles",
+   "relatedarticles-read-more-beta-feature-title": "Read more",
+   "relatedarticles-read-more-beta-feature-description": "Suggests related 
topics at the bottom of a page."
 }
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 9af979f..3082f07 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -8,5 +8,7 @@
},
"relatedarticles-title": "Title shown on the sidebar",
"relatedarticles-desc": "{{desc|name=Related 
Articles|url=https://www.mediawiki.org/wiki/Extension:RelatedArticles}}";,
-   "relatedarticles-read-more-heading": "The heading of section, added at 
the end of the page, that lists the related pages"
+   "relatedarticles-read-more-heading": "The heading of section, added at 
the end of the page, that lists the related pages",
+   "relatedarticles-read-more-beta-feature-title": "Title of the ReadMore 
feature in Special:Preferences#mw-prefsection-betafeatures.",
+   "relatedarticles-read-more-beta-feature-description": "Description of 
the ReadMore feature in Special:Preferences#mw-prefsection-betafeatures"
 }
diff --git a/images/BetaFeatures/wb-readmore-beta-ltr.svg 
b/images/BetaFeatures/wb-readmore-beta-ltr.svg
new file mode 100644
index 000..00b2a41
--- /dev/null
+++ b/images/BetaFeatures/wb-readmore-beta-ltr.svg
@@ -0,0 +1,61 @@
+
+http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:sketch="http://www.bohemiancoding.com/sketch/ns";>
+
+wb-otherprojects-beta-ltr
+Created with Sketch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/BetaFeatures/wb-readmore-beta-rtl.svg 
b/images/BetaFeatures/wb-readmore-beta-rtl.svg
new file mode 100644
index 000..d61cdf0
--- /dev/null
+++ b/images/BetaFeatures/wb-readmore-beta-rtl.svg
@@ -0,0 +1,63 @@
+
+http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:sketch="http://www.bohemiancoding.com/sketch/ns";>
+
+wb-otherprojects-beta-ltr
+Created with Sketch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

[MediaWiki-commits] [Gerrit] Fix documentation of TextInputWidget insertContent method - change (oojs/ui)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Fix documentation of TextInputWidget insertContent method
..


Fix documentation of TextInputWidget insertContent method

Change-Id: If540670bf269f6669123a54cb822a57e19a32e59
---
M src/widgets/TextInputWidget.js
1 file changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Jforrester: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/widgets/TextInputWidget.js b/src/widgets/TextInputWidget.js
index e0c9b5a..a2ad473 100644
--- a/src/widgets/TextInputWidget.js
+++ b/src/widgets/TextInputWidget.js
@@ -596,9 +596,9 @@
 };
 
 /**
- * Focus the input and move the cursor to the end.
+ * Insert new content into the input.
  *
- * @param {String} content Content to be inserted
+ * @param {string} content Content to be inserted
  * @chainable
  */
 OO.ui.TextInputWidget.prototype.insertContent = function ( content ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/254095
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If540670bf269f6669123a54cb822a57e19a32e59
Gerrit-PatchSet: 1
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Tchanders 
Gerrit-Reviewer: Jforrester 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Fix documentation of TextInputWidget insertContent method - change (oojs/ui)

2015-11-18 Thread Tchanders (Code Review)
Tchanders has uploaded a new change for review.

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

Change subject: Fix documentation of TextInputWidget insertContent method
..

Fix documentation of TextInputWidget insertContent method

Change-Id: If540670bf269f6669123a54cb822a57e19a32e59
---
M src/widgets/TextInputWidget.js
1 file changed, 2 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/oojs/ui refs/changes/95/254095/1

diff --git a/src/widgets/TextInputWidget.js b/src/widgets/TextInputWidget.js
index e0c9b5a..a2ad473 100644
--- a/src/widgets/TextInputWidget.js
+++ b/src/widgets/TextInputWidget.js
@@ -596,9 +596,9 @@
 };
 
 /**
- * Focus the input and move the cursor to the end.
+ * Insert new content into the input.
  *
- * @param {String} content Content to be inserted
+ * @param {string} content Content to be inserted
  * @chainable
  */
 OO.ui.TextInputWidget.prototype.insertContent = function ( content ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/254095
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If540670bf269f6669123a54cb822a57e19a32e59
Gerrit-PatchSet: 1
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Tchanders 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Syncronize VisualEditor: 718e06c..9f1aedb - change (mediawiki/extensions)

2015-11-18 Thread Jenkins-mwext-sync (Code Review)
Jenkins-mwext-sync has submitted this change and it was merged.

Change subject: Syncronize VisualEditor: 718e06c..9f1aedb
..


Syncronize VisualEditor: 718e06c..9f1aedb

Change-Id: If6542e8be8908c56b215eb2019e5d1c290f5628c
---
M VisualEditor
1 file changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Jenkins-mwext-sync: Verified; Looks good to me, approved



diff --git a/VisualEditor b/VisualEditor
index 718e06c..9f1aedb 16
--- a/VisualEditor
+++ b/VisualEditor
-Subproject commit 718e06cf1b0bcc0424fbe768d3364e520093dc1f
+Subproject commit 9f1aedbefcbbbefe3e5f225aea61d58fbd39daac

-- 
To view, visit https://gerrit.wikimedia.org/r/254094
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If6542e8be8908c56b215eb2019e5d1c290f5628c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions
Gerrit-Branch: master
Gerrit-Owner: Jenkins-mwext-sync 
Gerrit-Reviewer: Jenkins-mwext-sync 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Make selectRange method of AceEditorWidget focus the input - change (mediawiki...VisualEditor)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Make selectRange method of AceEditorWidget focus the input
..


Make selectRange method of AceEditorWidget focus the input

The selectRange method does this in TextInputWidget, so it
should here too.

Change-Id: Ib3851e0c72876d3c25ae5992cf9732637238d117
---
M modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
1 file changed, 1 insertion(+), 0 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
index 83449ca..7a35049 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
@@ -170,6 +170,7 @@
  */
 ve.ui.MWAceEditorWidget.prototype.selectRange = function ( from, to ) {
var widget = this;
+   this.focus();
this.loadingPromise.done( function () {
var fromOffset, toOffset, selection, range,
doc = widget.editor.getSession().getDocument(),

-- 
To view, visit https://gerrit.wikimedia.org/r/254092
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib3851e0c72876d3c25ae5992cf9732637238d117
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Tchanders 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Syncronize VisualEditor: 718e06c..9f1aedb - change (mediawiki/extensions)

2015-11-18 Thread Jenkins-mwext-sync (Code Review)
Jenkins-mwext-sync has uploaded a new change for review.

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

Change subject: Syncronize VisualEditor: 718e06c..9f1aedb
..

Syncronize VisualEditor: 718e06c..9f1aedb

Change-Id: If6542e8be8908c56b215eb2019e5d1c290f5628c
---
M VisualEditor
1 file changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions 
refs/changes/94/254094/1

diff --git a/VisualEditor b/VisualEditor
index 718e06c..9f1aedb 16
--- a/VisualEditor
+++ b/VisualEditor
-Subproject commit 718e06cf1b0bcc0424fbe768d3364e520093dc1f
+Subproject commit 9f1aedbefcbbbefe3e5f225aea61d58fbd39daac

-- 
To view, visit https://gerrit.wikimedia.org/r/254094
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If6542e8be8908c56b215eb2019e5d1c290f5628c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions
Gerrit-Branch: master
Gerrit-Owner: Jenkins-mwext-sync 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] phpcs: Assignment expression not allowed - change (mediawiki/core)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: phpcs: Assignment expression not allowed
..


phpcs: Assignment expression not allowed

Fix some "Assignment expression not allowed"

Found by tests:
https://integration.wikimedia.org/ci/job/mediawiki-core-phpcs/2736/consoleFull

Change-Id: Ibfc62b0aaa5c7fa63081edea3ef2b4d0dc984f85
---
M includes/db/DatabaseMysqlBase.php
M includes/db/DatabaseOracle.php
M includes/db/loadbalancer/LoadMonitorMySQL.php
M includes/filerepo/file/File.php
M includes/gallery/TraditionalImageGallery.php
M includes/installer/PostgresUpdater.php
M includes/parser/LinkHolderArray.php
M tests/phpunit/includes/db/DatabaseSqliteTest.php
M tests/phpunit/includes/parser/NewParserTest.php
9 files changed, 96 insertions(+), 64 deletions(-)

Approvals:
  Legoktm: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/db/DatabaseMysqlBase.php 
b/includes/db/DatabaseMysqlBase.php
index 38aae58..a839314 100644
--- a/includes/db/DatabaseMysqlBase.php
+++ b/includes/db/DatabaseMysqlBase.php
@@ -722,10 +722,13 @@
$res = $this->doQuery( $sql );
 
$status = false;
-   if ( $res && $row = $this->fetchRow( $res ) ) {
-   $status = $row[0]; // can be NULL, -1, or 0+ per the 
MySQL manual
-   if ( ctype_digit( $status ) ) { // success
-   $this->lastKnownSlavePos = $pos;
+   if ( $res ) {
+   $row = $this->fetchRow( $res );
+   if ( $row ) {
+   $status = $row[0]; // can be NULL, -1, or 0+ 
per the MySQL manual
+   if ( ctype_digit( $status ) ) { // success
+   $this->lastKnownSlavePos = $pos;
+   }
}
}
 
diff --git a/includes/db/DatabaseOracle.php b/includes/db/DatabaseOracle.php
index 66004ec..a3d7c1b 100644
--- a/includes/db/DatabaseOracle.php
+++ b/includes/db/DatabaseOracle.php
@@ -395,7 +395,8 @@
 
MediaWiki\suppressWarnings();
 
-   if ( ( $this->mLastResult = $stmt = oci_parse( $this->mConn, 
$sql ) ) === false ) {
+   $this->mLastResult = $stmt = oci_parse( $this->mConn, $sql );
+   if ( $stmt === false ) {
$e = oci_error( $this->mConn );
$this->reportQueryError( $e['message'], $e['code'], 
$sql, __METHOD__ );
 
@@ -637,7 +638,8 @@
}
$sql .= ')';
 
-   if ( ( $this->mLastResult = $stmt = oci_parse( $this->mConn, 
$sql ) ) === false ) {
+   $this->mLastResult = $stmt = oci_parse( $this->mConn, $sql );
+   if ( $stmt === false ) {
$e = oci_error( $this->mConn );
$this->reportQueryError( $e['message'], $e['code'], 
$sql, __METHOD__ );
 
@@ -668,7 +670,8 @@
}
} else {
/** @var OCI_Lob[] $lob */
-   if ( ( $lob[$col] = oci_new_descriptor( 
$this->mConn, OCI_D_LOB ) ) === false ) {
+   $lob[$col] = oci_new_descriptor( $this->mConn, 
OCI_D_LOB );
+   if ( $lob[$col] === false ) {
$e = oci_error( $stmt );
throw new DBUnexpectedError( $this, 
"Cannot create LOB descriptor: " . $e['message'] );
}
@@ -731,7 +734,8 @@
$srcTable = $this->tableName( $srcTable );
}
 
-   if ( ( $sequenceData = $this->getSequenceData( $destTable ) ) 
!== false &&
+   $sequenceData = $this->getSequenceData( $destTable );
+   if ( $sequenceData !== false &&
!isset( $varMap[$sequenceData['column']] )
) {
$varMap[$sequenceData['column']] = 
'GET_SEQUENCE_VALUE(\'' . $sequenceData['sequence'] . '\')';
@@ -987,7 +991,8 @@
'SELECT version FROM product_component_version ' .
'WHERE UPPER(product) LIKE \'ORACLE DATABASE%\''
);
-   if ( !( $row = $rset->fetchRow() ) ) {
+   $row = $rset->fetchRow();
+   if ( !$row ) {
return oci_server_version( $this->mConn );
}
 
@@ -1428,7 +1433,8 @@
$sql .= ' WHERE ' . $this->makeList( $conds, LIST_AND );
}
 
-   if ( ( $this->mLastResult = $stmt = oci_parse( $this->mConn, 
$sql ) ) === false ) {
+   $this->mLastResult = $stmt = oci_parse( $this->mConn, $sql );
+   if ( $stmt === false ) {
$e = oci_err

[MediaWiki-commits] [Gerrit] Fix content overlapping bottom border in menu layouts - change (oojs/ui)

2015-11-18 Thread Ferdbold (Code Review)
Ferdbold has uploaded a new change for review.

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

Change subject: Fix content overlapping bottom border in menu layouts
..

Fix content overlapping bottom border in menu layouts

Change-Id: Ie01b384a1e5d45380959e6efafb68f164225bc3b
---
M src/styles/layouts/MenuLayout.less
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/oojs/ui refs/changes/93/254093/1

diff --git a/src/styles/layouts/MenuLayout.less 
b/src/styles/layouts/MenuLayout.less
index 8454eec..ae059b0 100644
--- a/src/styles/layouts/MenuLayout.less
+++ b/src/styles/layouts/MenuLayout.less
@@ -5,7 +5,7 @@
top: 0;
left: 0;
right: 0;
-   bottom: 0;
+   bottom: 3px;
 
&-menu,
&-content {

-- 
To view, visit https://gerrit.wikimedia.org/r/254093
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie01b384a1e5d45380959e6efafb68f164225bc3b
Gerrit-PatchSet: 1
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Ferdbold 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add insertContent method to the TextInputWidget - change (oojs/ui)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add insertContent method to the TextInputWidget
..


Add insertContent method to the TextInputWidget

Change-Id: If08203618df68f36b84ff5d86bcda337e71e7c23
---
M src/widgets/TextInputWidget.js
1 file changed, 15 insertions(+), 0 deletions(-)

Approvals:
  Jforrester: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/widgets/TextInputWidget.js b/src/widgets/TextInputWidget.js
index 374a29e..3b1f33e 100644
--- a/src/widgets/TextInputWidget.js
+++ b/src/widgets/TextInputWidget.js
@@ -579,6 +579,21 @@
 };
 
 /**
+ * Focus the input and move the cursor to the end.
+ *
+ * @param {String} content Content to be inserted
+ * @chainable
+ */
+OO.ui.TextInputWidget.prototype.insertContent = function ( content ) {
+   var range = this.getRange(),
+   value = this.getValue();
+
+   this.setValue( value.slice( 0, range.from ) + content + value.slice( 
range.to ) );
+   this.selectRange( range.from + content.length );
+   return this;
+};
+
+/**
  * Set the validation pattern.
  *
  * The validation pattern is either a regular expression, a function, or the 
symbolic name of a

-- 
To view, visit https://gerrit.wikimedia.org/r/254090
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If08203618df68f36b84ff5d86bcda337e71e7c23
Gerrit-PatchSet: 2
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Tchanders 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: Esanders 
Gerrit-Reviewer: Jforrester 
Gerrit-Reviewer: Tchanders 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Make selectRange method of AceEditorWidget focus the input - change (mediawiki...VisualEditor)

2015-11-18 Thread Tchanders (Code Review)
Tchanders has uploaded a new change for review.

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

Change subject: Make selectRange method of AceEditorWidget focus the input
..

Make selectRange method of AceEditorWidget focus the input

The selectRange method does this in TextInputWidget, so it
should here too.

Change-Id: Ib3851e0c72876d3c25ae5992cf9732637238d117
---
M modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/92/254092/1

diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
index 83449ca..7a35049 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
@@ -170,6 +170,7 @@
  */
 ve.ui.MWAceEditorWidget.prototype.selectRange = function ( from, to ) {
var widget = this;
+   this.focus();
this.loadingPromise.done( function () {
var fromOffset, toOffset, selection, range,
doc = widget.editor.getSession().getDocument(),

-- 
To view, visit https://gerrit.wikimedia.org/r/254092
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib3851e0c72876d3c25ae5992cf9732637238d117
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Tchanders 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Make counts in FlowPopulateRevId.php output more useful - change (mediawiki...Flow)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Make counts in FlowPopulateRevId.php output more useful
..


Make counts in FlowPopulateRevId.php output more useful

Bug: T117786
Change-Id: Id307df06e35ef51d1be19de87493caf8de680949
---
M maintenance/FlowPopulateRefId.php
1 file changed, 3 insertions(+), 1 deletion(-)

Approvals:
  Mattflaschen: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/maintenance/FlowPopulateRefId.php 
b/maintenance/FlowPopulateRefId.php
index 1879170..3f25190 100644
--- a/maintenance/FlowPopulateRefId.php
+++ b/maintenance/FlowPopulateRefId.php
@@ -52,6 +52,7 @@
protected function update( ObjectManager $storage ) {
global $wgFlowCluster;
 
+   $total = 0;
while ( true ) {
$references = (array) $storage->find( array( 'ref_id' 
=> null ), array( 'limit' => $this->mBatchSize ) );
if ( !$references ) {
@@ -59,7 +60,8 @@
}
 
$storage->multiPut( $references, array() );
-   $this->output( "Ensured ref_id for " . count( 
$references ) . " " . get_class( $references[0] ) . " references...\n" );
+   $total += count( $references );
+   $this->output( "Ensured ref_id for " . $total . " " . 
get_class( $references[0] ) . " references...\n" );
wfWaitForSlaves( false, false, $wgFlowCluster );
}
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254091
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id307df06e35ef51d1be19de87493caf8de680949
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Catrope 
Gerrit-Reviewer: Mattflaschen 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Make counts in FlowPopulateRevId.php output more useful - change (mediawiki...Flow)

2015-11-18 Thread Catrope (Code Review)
Catrope has uploaded a new change for review.

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

Change subject: Make counts in FlowPopulateRevId.php output more useful
..

Make counts in FlowPopulateRevId.php output more useful

Change-Id: Id307df06e35ef51d1be19de87493caf8de680949
---
M maintenance/FlowPopulateRefId.php
1 file changed, 3 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow 
refs/changes/91/254091/1

diff --git a/maintenance/FlowPopulateRefId.php 
b/maintenance/FlowPopulateRefId.php
index 1879170..3f25190 100644
--- a/maintenance/FlowPopulateRefId.php
+++ b/maintenance/FlowPopulateRefId.php
@@ -52,6 +52,7 @@
protected function update( ObjectManager $storage ) {
global $wgFlowCluster;
 
+   $total = 0;
while ( true ) {
$references = (array) $storage->find( array( 'ref_id' 
=> null ), array( 'limit' => $this->mBatchSize ) );
if ( !$references ) {
@@ -59,7 +60,8 @@
}
 
$storage->multiPut( $references, array() );
-   $this->output( "Ensured ref_id for " . count( 
$references ) . " " . get_class( $references[0] ) . " references...\n" );
+   $total += count( $references );
+   $this->output( "Ensured ref_id for " . $total . " " . 
get_class( $references[0] ) . " references...\n" );
wfWaitForSlaves( false, false, $wgFlowCluster );
}
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254091
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id307df06e35ef51d1be19de87493caf8de680949
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Catrope 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add insertContent method to the TextInputWidget - change (oojs/ui)

2015-11-18 Thread Tchanders (Code Review)
Tchanders has uploaded a new change for review.

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

Change subject: Add insertContent method to the TextInputWidget
..

Add insertContent method to the TextInputWidget

Change-Id: If08203618df68f36b84ff5d86bcda337e71e7c23
---
M src/widgets/TextInputWidget.js
1 file changed, 14 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/oojs/ui refs/changes/90/254090/1

diff --git a/src/widgets/TextInputWidget.js b/src/widgets/TextInputWidget.js
index 374a29e..28b06d9 100644
--- a/src/widgets/TextInputWidget.js
+++ b/src/widgets/TextInputWidget.js
@@ -579,6 +579,20 @@
 };
 
 /**
+ * Focus the input and move the cursor to the end.
+ *
+ * @chainable
+ */
+OO.ui.TextInputWidget.prototype.insertContent = function ( content ) {
+   var range = this.getRange(),
+   value = this.getValue();
+
+   this.setValue( value.slice( 0, range.from ) + content + value.slice( 
range.to ) );
+   this.selectRange( range.from + content.length );
+   return this;
+};
+
+/**
  * Set the validation pattern.
  *
  * The validation pattern is either a regular expression, a function, or the 
symbolic name of a

-- 
To view, visit https://gerrit.wikimedia.org/r/254090
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If08203618df68f36b84ff5d86bcda337e71e7c23
Gerrit-PatchSet: 1
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Tchanders 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Notifications presentation models - change (mediawiki...PageTriage)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Notifications presentation models
..


Notifications presentation models

Bug: T116849
Change-Id: I31f46a85529fc5f9ed491889ed6fe6e0906b690e
---
M PageTriage.hooks.php
M PageTriage.php
M i18n/en.json
M i18n/qqq.json
A includes/Notifications/PageTriageAddDeletionTagPresentationModel.php
A includes/Notifications/PageTriageAddMaintenanceTagPresentationModel.php
A includes/Notifications/PageTriageMarkAsReviewedPresentationModel.php
R includes/Notifications/PageTriageNotificationFormatter.php
8 files changed, 170 insertions(+), 13 deletions(-)

Approvals:
  Sbisson: Looks good to me, but someone else must approve
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/PageTriage.hooks.php b/PageTriage.hooks.php
index a7d579e..604a7f3 100755
--- a/PageTriage.hooks.php
+++ b/PageTriage.hooks.php
@@ -473,6 +473,7 @@
 * @param $notifications array a list of enabled echo events
 * @param $notificationCategories array details for echo events
 * @param $icons array of icon details
+* @return bool
 */
public static function onBeforeCreateEchoEvent( &$notifications, 
&$notificationCategories, &$icons ) {
global $wgPageTriageEnabledEchoEvents;
@@ -486,14 +487,13 @@
 
if ( in_array( 'pagetriage-mark-as-reviewed', 
$wgPageTriageEnabledEchoEvents ) ) {
$notifications['pagetriage-mark-as-reviewed'] = array(
+   'presentation-model' => 
'PageTriageMarkAsReviewedPresentationModel',
'primary-link' => array( 'message' => 
'notification-link-text-view-page', 'destination' => 'title' ),
'category' => 'page-review',
'group' => 'neutral',
'formatter-class' => 
'PageTriageNotificationFormatter',
'title-message' => 
'pagetriage-notification-mark-as-reviewed2',
'title-params' => array( 'agent', 'title' ),
-   'flyout-message' => 
'pagetriage-notification-mark-as-reviewed-flyout',
-   'flyout-params' => array( 'agent', 'title' ),
'email-subject-message' => 
'pagetriage-notification-mark-as-reviewed-email-subject2',
'email-subject-params' => array( 'agent', 
'title' ),
'email-body-batch-message' => 
'pagetriage-notification-mark-as-reviewed-email-batch-body',
@@ -503,14 +503,13 @@
}
if ( in_array( 'pagetriage-add-maintenance-tag', 
$wgPageTriageEnabledEchoEvents ) ) {
$notifications['pagetriage-add-maintenance-tag'] = 
array(
+   'presentation-model' => 
'PageTriageAddMaintenanceTagPresentationModel',
'primary-link' => array( 'message' => 
'notification-link-text-view-page', 'destination' => 'title' ),
'category' => 'page-review',
'group' => 'neutral',
'formatter-class' => 
'PageTriageNotificationFormatter',
'title-message' => 
'pagetriage-notification-add-maintenance-tag2',
'title-params' => array( 'agent', 'title', 
'tag' ),
-   'flyout-message' => 
'pagetriage-notification-add-maintenance-tag-flyout',
-   'flyout-params' => array( 'agent', 'title', 
'tag' ),
'email-subject-message' => 
'pagetriage-notification-add-maintenance-tag-email-subject2',
'email-subject-params' => array( 'agent', 
'title' ),
'email-body-batch-message' => 
'pagetriage-notification-add-maintenance-tag-email-batch-body',
@@ -520,14 +519,13 @@
}
if ( in_array( 'pagetriage-add-deletion-tag', 
$wgPageTriageEnabledEchoEvents ) ) {
$notifications['pagetriage-add-deletion-tag'] = array(
+   'presentation-model' => 
'PageTriageAddDeletionTagPresentationModel',
'primary-link' => array( 'message' => 
'notification-link-text-view-page', 'destination' => 'title' ),
'category' => 'page-review',
'group' => 'negative',
'formatter-class' => 
'PageTriageNotificationFormatter',
'title-message' => 
'pagetriage-notification-add-deletion-tag2',
'title-params' => array( 'agent', 'title', 
'tag' ),
-   'flyout-message' => 
'pagetriage-notif

[MediaWiki-commits] [Gerrit] build: Test JS code with jshint and jscs via npm - change (mediawiki...Cite)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: build: Test JS code with jshint and jscs via npm
..


build: Test JS code with jshint and jscs via npm

Change-Id: I4d20af87b900d10c20f1a2c3fff09dc3425d2e55
---
A .jscsrc
M .jshintrc
M Gruntfile.js
M modules/ext.cite.a11y.js
M package.json
5 files changed, 54 insertions(+), 10 deletions(-)

Approvals:
  Tchanders: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/.jscsrc b/.jscsrc
new file mode 100644
index 000..1959eea
--- /dev/null
+++ b/.jscsrc
@@ -0,0 +1,21 @@
+{
+   "preset": "wikimedia",
+
+   "jsDoc": {
+   "checkAnnotations": {
+   "preset": "jsduck5",
+   "extra": {
+   "this": true,
+   "source": true,
+   "see": true
+   }
+   },
+   "checkTypes": "strictNativeCase",
+   "checkParamNames": true,
+   "checkRedundantAccess": true,
+   "checkRedundantReturns": true,
+   "requireNewlineAfterDescription": true,
+   "requireParamTypes": true,
+   "requireReturnTypes": true
+   }
+}
diff --git a/.jshintrc b/.jshintrc
index 4b356f8..2258360 100644
--- a/.jshintrc
+++ b/.jshintrc
@@ -20,15 +20,13 @@
"bitwise": false,
"forin": false,
"regexp": false,
-   "strict": true,
"scripturl": true,
 
// Environment
"browser": true,
+   "jquery": true,
 
-   // Globals
-   "predef": [
-   "jQuery",
-   "mediaWiki"
-   ]
+   "globals": {
+   "mw": false
+   }
 }
diff --git a/Gruntfile.js b/Gruntfile.js
index dd62b9a..ae5b274 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -7,11 +7,34 @@
 /*jshint node:true */
 module.exports = function ( grunt ) {
'use strict';
+   grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+   grunt.loadNpmTasks( 'grunt-jscs' );
grunt.loadNpmTasks( 'grunt-jsonlint' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.initConfig( {
+   jshint: {
+   options: {
+   jshintrc: true
+   },
+   all: [
+   '*.js',
+   '{.jsduck,build}/**/*.js',
+   'modules/**/*.js'
+   ]
+   },
banana: {
-   all: ['i18n/']
+   core: [ 'i18n/' ]
+   },
+   jscs: {
+   fix: {
+   options: {
+   fix: true
+   },
+   src: '<%= jshint.all %>'
+   },
+   main: {
+   src: '<%= jshint.all %>'
+   }
},
jsonlint: {
all: [
@@ -21,6 +44,6 @@
}
} );
 
-   grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] );
+   grunt.registerTask( 'test', [ 'jshint', 'jscs:main', 'jsonlint', 
'banana' ] );
grunt.registerTask( 'default', 'test' );
 };
diff --git a/modules/ext.cite.a11y.js b/modules/ext.cite.a11y.js
index fbec1f3..9f47f77 100644
--- a/modules/ext.cite.a11y.js
+++ b/modules/ext.cite.a11y.js
@@ -35,4 +35,4 @@
);
} );
} );
-} )( mediaWiki, jQuery );
+} )( mw, jQuery );
diff --git a/package.json b/package.json
index 4f1c6c5..fa912a4 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,8 @@
 "grunt": "0.4.5",
 "grunt-cli": "0.1.13",
 "grunt-banana-checker": "0.2.2",
-"grunt-jsonlint": "1.0.4"
+"grunt-contrib-jshint": "0.11.3",
+"grunt-jsonlint": "1.0.4",
+"grunt-jscs": "2.1.0"
   }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/254085
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4d20af87b900d10c20f1a2c3fff09dc3425d2e55
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Cite
Gerrit-Branch: master
Gerrit-Owner: Jforrester 
Gerrit-Reviewer: Jackmcbarn 
Gerrit-Reviewer: Tchanders 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] [Temp] Add a survey on article pages when users come from SERP - change (mediawiki...WikimediaEvents)

2015-11-18 Thread JGirault (Code Review)
JGirault has uploaded a new change for review.

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

Change subject: [Temp] Add a survey on article pages when users come from SERP
..

[Temp] Add a survey on article pages when users come from SERP

Bug: T118800
Change-Id: I03acd8b818aa0d8d91e52d67441688771b5b5aa5
---
M WikimediaEvents.php
A modules/ext.wikimediaEvents.searchSurvey.js
2 files changed, 65 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents 
refs/changes/89/254089/1

diff --git a/WikimediaEvents.php b/WikimediaEvents.php
index 79fee68..26c0e16 100644
--- a/WikimediaEvents.php
+++ b/WikimediaEvents.php
@@ -102,6 +102,7 @@
'ext.wikimediaEvents.searchSuggest.js',
'ext.wikimediaEvents.statsd.js',
'ext.wikimediaEvents.searchSatisfaction.js',
+   'ext.wikimediaEvents.searchSurvey.js',
'ext.wikimediaEvents.search.js',
'ext.wikimediaEvents.geoFeatures.js',
),
diff --git a/modules/ext.wikimediaEvents.searchSurvey.js 
b/modules/ext.wikimediaEvents.searchSurvey.js
new file mode 100644
index 000..6e2b682
--- /dev/null
+++ b/modules/ext.wikimediaEvents.searchSurvey.js
@@ -0,0 +1,64 @@
+/*!
+ * Javacsript module for measuring internal search bounce rate and dwell time.
+ * Utilizes two wprov query string formats:
+ * - serp:N - This indicates the link was visited directly from a SERP. N is
+ *   a positive integer indicating the position of this page within the 
results.
+ * - cirrus - This indicates the link was visited as part of a search session
+ *   but not directly from the search page.
+ *
+ * Example:
+ * - User performs search, is shown Special:Search. This has no wprov query 
string parameter
+ * - User clicks the 2nd result in the page which is `Jimmy Wales`, the user 
is sent to
+ *   /wiki/Jimmy_Wales?wprov=serp:2
+ * - User clicks a link in the content area of `Jimmy Wales` to `Wikipedia`, 
the user is sent to
+ *   /wiki/Wikipedia?wprov=cirrus.
+ * - Visiting any page without having a direct click stream through article 
pages back
+ *   to a SERP does not log events.
+ *
+ * @license GNU GPL v2 or later
+ * @author Erik Bernhardson 
+ */
+( function ( mw, $ ) {
+
+   var isSearchResultPage = mw.config.get( 'wgIsSearchResultPage' ),
+   uri = new mw.Uri( location.href ),
+   survey = 'internal-survey-search-satisfaction',
+   cameFromSearchResult = uri.query.quicksurvey === survey;
+
+   if ( !isSearchResultPage && !cameFromSearchResult ) {
+   return;
+   }
+
+   /**
+* Adds an attribute to the link to track the offset
+* of the result in the SERP.
+*
+* Expects to be run with an html anchor as `this`.
+*
+* @private
+*/
+   function updateSearchHref() {
+   var uri = new mw.Uri( this.href );
+   uri.query.quicksurvey = survey;
+   this.href = uri.toString();
+   }
+
+   /**
+* Cleanup the location bar in supported browsers.
+*/
+   function cleanupHistoryState() {
+   if ( window.history.replaceState && uri.query.quicksurvey === 
survey ) {
+   delete uri.query.quicksurvey;
+   window.history.replaceState( {}, '', uri.toString() );
+   }
+   }
+
+   if ( isSearchResultPage ) {
+   setTimeout( function () {
+   $( '#mw-content-text' ).on( 'click', 
'.mw-search-result-heading a', updateSearchHref );
+   }, 4 );
+   } else if ( cameFromSearchResult ) {
+   cleanupHistoryState();
+   }
+
+}( mediaWiki, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/254089
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I03acd8b818aa0d8d91e52d67441688771b5b5aa5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: master
Gerrit-Owner: JGirault 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Improve docs for lag related DB functions - change (mediawiki/core)

2015-11-18 Thread Aaron Schulz (Code Review)
Aaron Schulz has uploaded a new change for review.

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

Change subject: Improve docs for lag related DB functions
..

Improve docs for lag related DB functions

* They can return false if replication is stopped.
* Also remove redundant related doc blocks.

Change-Id: I40a1cb2da2f23815b9da8f79195df45c5e510585
---
M includes/db/Database.php
M includes/db/DatabaseMysqlBase.php
M includes/db/IDatabase.php
3 files changed, 4 insertions(+), 33 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/88/254088/1

diff --git a/includes/db/Database.php b/includes/db/Database.php
index 05dc3d3..c0cf067 100644
--- a/includes/db/Database.php
+++ b/includes/db/Database.php
@@ -3773,19 +3773,6 @@
return true;
}
 
-   /**
-* Get the slave lag when the current transaction started
-* or a general lag estimate if not transaction is active
-*
-* This is useful when transactions might use snapshot isolation
-* (e.g. REPEATABLE-READ in innodb), so the "real" lag of that data
-* is this lag plus transaction duration. If they don't, it is still
-* safe to be pessimistic. In AUTO-COMMIT mode, this still gives an
-* indication of the staleness of subsequent reads.
-*
-* @return array ('lag': seconds, 'since': UNIX timestamp of BEGIN)
-* @since 1.27
-*/
public function getSessionLagStatus() {
return $this->getTransactionLagStatus() ?: 
$this->getApproximateLagStatus();
}
@@ -3798,7 +3785,7 @@
 * is this lag plus transaction duration. If they don't, it is still
 * safe to be pessimistic. This returns null if there is no transaction.
 *
-* @return array|null ('lag': seconds, 'since': UNIX timestamp of BEGIN)
+* @return array|null ('lag': seconds or false on error, 'since': UNIX 
timestamp of BEGIN)
 * @since 1.27
 */
public function getTransactionLagStatus() {
@@ -3810,7 +3797,7 @@
/**
 * Get a slave lag estimate for this server
 *
-* @return array ('lag': seconds, 'since': UNIX timestamp of estimate)
+* @return array ('lag': seconds or false on error, 'since': UNIX 
timestamp of estimate)
 * @since 1.27
 */
public function getApproximateLagStatus() {
@@ -3851,15 +3838,6 @@
return $res;
}
 
-   /**
-* Get slave lag. Currently supported only by MySQL.
-*
-* Note that this function will generate a fatal error on many
-* installations. Most callers should use LoadBalancer::safeGetLag()
-* instead.
-*
-* @return int Database replication lag in seconds
-*/
public function getLag() {
return 0;
}
diff --git a/includes/db/DatabaseMysqlBase.php 
b/includes/db/DatabaseMysqlBase.php
index 38aae58..1d9246d 100644
--- a/includes/db/DatabaseMysqlBase.php
+++ b/includes/db/DatabaseMysqlBase.php
@@ -620,13 +620,6 @@
 */
abstract protected function mysqlPing();
 
-   /**
-* Returns slave lag.
-*
-* This will do a SHOW SLAVE STATUS
-*
-* @return int
-*/
function getLag() {
if ( $this->lagDetectionMethod === 'pt-heartbeat' ) {
return $this->getLagFromPtHeartbeat();
diff --git a/includes/db/IDatabase.php b/includes/db/IDatabase.php
index 19eb126..4674c17 100644
--- a/includes/db/IDatabase.php
+++ b/includes/db/IDatabase.php
@@ -1369,7 +1369,7 @@
 * installations. Most callers should use LoadBalancer::safeGetLag()
 * instead.
 *
-* @return int Database replication lag in seconds
+* @return int|bool Database replication lag in seconds or false on 
error
 */
public function getLag();
 
@@ -1383,7 +1383,7 @@
 * safe to be pessimistic. In AUTO-COMMIT mode, this still gives an
 * indication of the staleness of subsequent reads.
 *
-* @return array ('lag': seconds, 'since': UNIX timestamp of BEGIN)
+* @return array ('lag': seconds or false on error, 'since': UNIX 
timestamp of BEGIN)
 * @since 1.27
 */
public function getSessionLagStatus();

-- 
To view, visit https://gerrit.wikimedia.org/r/254088
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I40a1cb2da2f23815b9da8f79195df45c5e510585
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] TextExtracts allow sentence end with numbers - change (mediawiki...TextExtracts)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: TextExtracts allow sentence end with numbers
..


TextExtracts allow sentence end with numbers

Allows sentences to end with numbers before a full stop in query
extractsentences.

Also added some more unit tests.

Bug: T118621
Change-Id: I9cbf487601d4165b490696d38d5fcbcf6d8f4637
---
M includes/ExtractFormatter.php
M tests/ExtractFormatterTest.php
2 files changed, 27 insertions(+), 18 deletions(-)

Approvals:
  Kaldari: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/ExtractFormatter.php b/includes/ExtractFormatter.php
index 689fd84..a6581f3 100644
--- a/includes/ExtractFormatter.php
+++ b/includes/ExtractFormatter.php
@@ -80,7 +80,7 @@
public static function getFirstSentences( $text, 
$requestedSentenceCount ) {
// Based on code from OpenSearchXml by Brion Vibber
$endchars = array(
-   '([^\d])\.\s', '\!\s', '\?\s', // regular ASCII
+   '\.\s', '\!\s', '\?\s', // regular ASCII
'。', // full-width ideographic full-stop
'.', '!', '?', // double-width roman forms
'。', // half-width ideographic full stop
diff --git a/tests/ExtractFormatterTest.php b/tests/ExtractFormatterTest.php
index f7ad78b..227f95c 100644
--- a/tests/ExtractFormatterTest.php
+++ b/tests/ExtractFormatterTest.php
@@ -64,42 +64,51 @@
$this->assertEquals( $expected, 
ExtractFormatter::getFirstSentences( $text, $sentences ) );
}
 
-   private function sentences( $n = 100 ) {
-   $sentences = array(
-   'Foo is a bar.',
-   'Such a smart boy.',
-   'But completely useless.',
-   );
-   return implode( ' ', array_slice( $sentences, 0, $n ) );
-   }
-
public function provideGetFirstSentences() {
return array(
array(
-   $this->sentences(),
+   'Foo is a bar. Such a smart boy. But completely 
useless.',
2,
-   $this->sentences( 2 ),
+   'Foo is a bar. Such a smart boy.',
),
array(
-   $this->sentences(),
+   'Foo is a bar. Such a smart boy. But completely 
useless.',
1,
-   $this->sentences( 1 ),
+   'Foo is a bar.',
),
array(
-   $this->sentences( 1 ),
+   'Foo is a bar.',
1,
-   $this->sentences( 1 ),
+   'Foo is a bar.',
),
array(
-   $this->sentences( 1 ),
+   'Foo is a bar.',
2,
-   $this->sentences( 1 ),
+   'Foo is a bar.',
),
array(
'',
1,
'',
),
+   // Exclamation points too!!!
+   array(
+   'Foo is a bar! Such a smart boy! But completely 
useless!',
+   1,
+   'Foo is a bar!',
+   ),
+   // A tricky one
+   array(
+   "Acid phosphatase (EC 3.1.3.2) is a chemical 
you don't want to mess with. Polyvinyl acetate, however, is another story.",
+   1,
+   "Acid phosphatase (EC 3.1.3.2) is a chemical 
you don't want to mess with.",
+   ),
+   // Bug T118621
+   array(
+   'Foo was born in 1977. He enjoys listening to 
Siouxsie and the Banshees.',
+   1,
+   'Foo was born in 1977.',
+   ),
/* @fixme
array(
'P.J. Harvey is a singer. She is awesome!',

-- 
To view, visit https://gerrit.wikimedia.org/r/253834
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9cbf487601d4165b490696d38d5fcbcf6d8f4637
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/TextExtracts
Gerrit-Branch: master
Gerrit-Owner: Sumit 
Gerrit-Reviewer: B

[MediaWiki-commits] [Gerrit] Monolog: Backport Attempt to recover from json encoding errors - change (mediawiki/vendor)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Monolog: Backport Attempt to recover from json encoding errors
..


Monolog: Backport Attempt to recover from json encoding errors

Detect and attempt to recover from json_encode errors triggered by strings
containing invalid UTF-8 sequences. Recovery will only be attempted when
encoding strings or arrays. If recovery fails then a RuntimeException will
be thrown.

Backport 6f9e221 from https://github.com/Seldaek/monolog. This
cherry-picked commit will be overwritten by the next monolog/monolog
package bump in our local composer.json but as the commit has already been
merged upstream it will be present in the next official release.

Bug: T118057
Change-Id: I7a31a4d51291a5d9403478818805ffd1bb8fad86
---
M monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
M monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php
M monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php
3 files changed, 228 insertions(+), 13 deletions(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php 
b/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
index 0361935..c8d42fe 100644
--- a/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
+++ b/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
@@ -138,25 +138,76 @@
 return $data;
 }
 
+/**
+ * Return the JSON representation of a value
+ *
+ * @param mixed $data
+ * @param bool  $ignoreErrors
+ * @return string
+ * @throws \RuntimeException if encoding fails and errors are not ignored
+ */
 protected function toJson($data, $ignoreErrors = false)
 {
 // suppress json_encode errors since it's twitchy with some inputs
 if ($ignoreErrors) {
-if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
-return @json_encode($data, JSON_UNESCAPED_SLASHES | 
JSON_UNESCAPED_UNICODE);
-}
-
-return @json_encode($data);
+return @$this->jsonEncode($data);
 }
 
-if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
-$json = json_encode($data, JSON_UNESCAPED_SLASHES | 
JSON_UNESCAPED_UNICODE);
-} else {
-$json = json_encode($data);
-}
+$json = $this->jsonEncode($data);
 
 if ($json === false) {
-$this->throwEncodeError(json_last_error(), $data);
+$json = $this->handleJsonError(json_last_error(), $data);
+}
+
+return $json;
+}
+
+/**
+ * @param mixed $data
+ * @return string JSON encoded data or null on failure
+ */
+private function jsonEncode($data)
+{
+if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
+return json_encode($data, JSON_UNESCAPED_SLASHES | 
JSON_UNESCAPED_UNICODE);
+}
+
+return json_encode($data);
+}
+
+/**
+ * Handle a json_encode failure.
+ *
+ * If the failure is due to invalid string encoding, try to clean the
+ * input and encode again. If the second encoding iattempt fails, the
+ * inital error is not encoding related or the input can't be cleaned then
+ * raise a descriptive exception.
+ *
+ * @param int   $code return code of json_last_error function
+ * @param mixed $data data that was meant to be encoded
+ * @return string JSON encoded data after error correction
+ * @throws \RuntimeException if failure can't be corrected
+ */
+private function handleJsonError($code, $data)
+{
+if ($code !== JSON_ERROR_UTF8) {
+$this->throwEncodeError($code, $data);
+}
+
+if (is_string($data)) {
+$this->detectAndCleanUtf8($data);
+
+} elseif (is_array($data)) {
+array_walk_recursive($data, array($this, 'detectAndCleanUtf8'));
+
+} else {
+$this->throwEncodeError($code, $data);
+}
+
+$json = $this->jsonEncode($data);
+
+if ($json === false) {
+$json = $this->throwEncodeError(json_last_error(), $data);
 }
 
 return $json;
@@ -190,4 +241,36 @@
 
 throw new \RuntimeException('JSON encoding failed: '.$msg.'. Encoding: 
'.var_export($data, true));
 }
+
+/**
+ * Detect invalid UTF-8 string characters and convert to valid UTF-8.
+ *
+ * Valid UTF-8 input will be left unmodified, but strings containing
+ * invalid UTF-8 codepoints will be reencoded as UTF-8 with an assumed
+ * original encoding of ISO-8859-15. This conversion may result in
+ * incorrect output if the actual encoding was not ISO-8859-15, but it
+ * will be clean UTF-8 output and will not rely on expensive and fragile
+ * detection algorithms.
+ *
+ * Function converts the input in place i

[MediaWiki-commits] [Gerrit] Set up CI for EventBus MediaWiki extension - change (integration/config)

2015-11-18 Thread Ori.livneh (Code Review)
Ori.livneh has uploaded a new change for review.

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

Change subject: Set up CI for EventBus MediaWiki extension
..

Set up CI for EventBus MediaWiki extension

Initial change is I80fd3f6a.

Change-Id: I6bbd7fd655f66b61621501858d859fe1b3179aeb
---
M zuul/layout.yaml
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/87/254087/1

diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 3c58569..1d73fb1 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -3610,6 +3610,12 @@
 template:
   - name: tox-jessie
 
+  - name: mediawiki/extensions/EventBus
+template:
+  - name: extension-unittests-generic
+check:
+  - jsonlint
+
   - name: mediawiki/extensions/ExpandTemplates
 template:
   - name: jshint

-- 
To view, visit https://gerrit.wikimedia.org/r/254087
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6bbd7fd655f66b61621501858d859fe1b3179aeb
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] [WIP] hooks-based event production extension - change (mediawiki...EventBus)

2015-11-18 Thread Eevans (Code Review)
Eevans has uploaded a new change for review.

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

Change subject: [WIP] hooks-based event production extension
..

[WIP] hooks-based event production extension

TODO:
  * Populate meta.uri attributes accordingly
  * Use a v1 UUID for meta.id
  * Grok meta.request_id from x-request-id header (or generate one)
  * Implement visibility set event
* Q: Is there a hook with the pertinent info?
  * Actually send events
* Async, in the background, if possible

Bug: https://phabricator.wikimedia.org/T116786
Change-Id: I80fd3f6ad655ea874c63ed94bf223eea8ca91bb3
---
A .gitignore
A .jshintrc
A COPYING
A EventBus.hooks.php
A EventBus.php
A README.md
A composer.json
A extension.json
A i18n/en.json
A i18n/qqq.json
A tests/EventBus.php
11 files changed, 671 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/EventBus 
refs/changes/86/254086/1

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..f7fe6c8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+.svn
+*~
+*.kate-swp
+.*.swp
+composer.lock
+vendor
diff --git a/.jshintrc b/.jshintrc
new file mode 100644
index 000..eb7dc06
--- /dev/null
+++ b/.jshintrc
@@ -0,0 +1,26 @@
+{
+   /* Common */
+
+   // Enforcing
+   "camelcase": true,
+   "curly": true,
+   "eqeqeq": true,
+   "immed": true,
+   "latedef": true,
+   "newcap": true,
+   "noarg": true,
+   "noempty": true,
+   "nonew": true,
+   "quotmark": "single",
+   "trailing": true,
+   "undef": true,
+   "unused": true,
+   // Legacy
+   "onevar": true,
+
+   /* Local */
+   "predef": [
+   "mediaWiki",
+   "jQuery"
+   ]
+}
diff --git a/COPYING b/COPYING
new file mode 100644
index 000..d159169
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,339 @@
+GNU GENERAL PUBLIC LICENSE
+   Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MOD

[MediaWiki-commits] [Gerrit] build: Test JS code with jshint and jscs via npm - change (mediawiki...Cite)

2015-11-18 Thread Jforrester (Code Review)
Jforrester has uploaded a new change for review.

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

Change subject: build: Test JS code with jshint and jscs via npm
..

build: Test JS code with jshint and jscs via npm

Change-Id: I4d20af87b900d10c20f1a2c3fff09dc3425d2e55
---
A .jscsrc
M .jshintrc
M Gruntfile.js
M modules/ext.cite.a11y.js
M package.json
5 files changed, 54 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Cite 
refs/changes/85/254085/1

diff --git a/.jscsrc b/.jscsrc
new file mode 100644
index 000..1959eea
--- /dev/null
+++ b/.jscsrc
@@ -0,0 +1,21 @@
+{
+   "preset": "wikimedia",
+
+   "jsDoc": {
+   "checkAnnotations": {
+   "preset": "jsduck5",
+   "extra": {
+   "this": true,
+   "source": true,
+   "see": true
+   }
+   },
+   "checkTypes": "strictNativeCase",
+   "checkParamNames": true,
+   "checkRedundantAccess": true,
+   "checkRedundantReturns": true,
+   "requireNewlineAfterDescription": true,
+   "requireParamTypes": true,
+   "requireReturnTypes": true
+   }
+}
diff --git a/.jshintrc b/.jshintrc
index 4b356f8..2258360 100644
--- a/.jshintrc
+++ b/.jshintrc
@@ -20,15 +20,13 @@
"bitwise": false,
"forin": false,
"regexp": false,
-   "strict": true,
"scripturl": true,
 
// Environment
"browser": true,
+   "jquery": true,
 
-   // Globals
-   "predef": [
-   "jQuery",
-   "mediaWiki"
-   ]
+   "globals": {
+   "mw": false
+   }
 }
diff --git a/Gruntfile.js b/Gruntfile.js
index dd62b9a..ae5b274 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -7,11 +7,34 @@
 /*jshint node:true */
 module.exports = function ( grunt ) {
'use strict';
+   grunt.loadNpmTasks( 'grunt-contrib-jshint' );
+   grunt.loadNpmTasks( 'grunt-jscs' );
grunt.loadNpmTasks( 'grunt-jsonlint' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.initConfig( {
+   jshint: {
+   options: {
+   jshintrc: true
+   },
+   all: [
+   '*.js',
+   '{.jsduck,build}/**/*.js',
+   'modules/**/*.js'
+   ]
+   },
banana: {
-   all: ['i18n/']
+   core: [ 'i18n/' ]
+   },
+   jscs: {
+   fix: {
+   options: {
+   fix: true
+   },
+   src: '<%= jshint.all %>'
+   },
+   main: {
+   src: '<%= jshint.all %>'
+   }
},
jsonlint: {
all: [
@@ -21,6 +44,6 @@
}
} );
 
-   grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] );
+   grunt.registerTask( 'test', [ 'jshint', 'jscs:main', 'jsonlint', 
'banana' ] );
grunt.registerTask( 'default', 'test' );
 };
diff --git a/modules/ext.cite.a11y.js b/modules/ext.cite.a11y.js
index fbec1f3..9f47f77 100644
--- a/modules/ext.cite.a11y.js
+++ b/modules/ext.cite.a11y.js
@@ -35,4 +35,4 @@
);
} );
} );
-} )( mediaWiki, jQuery );
+} )( mw, jQuery );
diff --git a/package.json b/package.json
index 4f1c6c5..fa912a4 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,8 @@
 "grunt": "0.4.5",
 "grunt-cli": "0.1.13",
 "grunt-banana-checker": "0.2.2",
-"grunt-jsonlint": "1.0.4"
+"grunt-contrib-jshint": "0.11.3",
+"grunt-jsonlint": "1.0.4",
+"grunt-jscs": "2.1.0"
   }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/254085
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4d20af87b900d10c20f1a2c3fff09dc3425d2e55
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Cite
Gerrit-Branch: master
Gerrit-Owner: Jforrester 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Resizable graph nodes - change (mediawiki...Graph)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Resizable graph nodes
..


Resizable graph nodes

- Graph nodes now mixins ResizableNode which allow drag-resizing

Bug: T109631
Change-Id: I08fa6d859556fbe028823f1e759b2ca0fad92d0b
---
M Graph.hooks.php
A modules/ve-graph/ve.ce.MWGraphNode.css
M modules/ve-graph/ve.ce.MWGraphNode.js
M modules/ve-graph/ve.dm.MWGraphNode.js
4 files changed, 91 insertions(+), 21 deletions(-)

Approvals:
  Esanders: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Graph.hooks.php b/Graph.hooks.php
index 845d390..36dcb6d 100644
--- a/Graph.hooks.php
+++ b/Graph.hooks.php
@@ -34,12 +34,14 @@

'modules/ve-graph/widgets/ve.ui.TableWidget.js'
),
'styles' => array(
+   
'modules/ve-graph/ve.ce.MWGraphNode.css',

'modules/ve-graph/ve.ui.MWGraphIcons.css',

'modules/ve-graph/widgets/ve.ui.RowWidget.css',

'modules/ve-graph/widgets/ve.ui.TableWidget.css'
),
'dependencies' => array(
-   'ext.visualEditor.mwcore'
+   'ext.visualEditor.mwcore',
+   'ext.visualEditor.mwimage.core'
),
'messages' => array(
'graph-ve-dialog-button-tooltip',
diff --git a/modules/ve-graph/ve.ce.MWGraphNode.css 
b/modules/ve-graph/ve.ce.MWGraphNode.css
new file mode 100644
index 000..f500bbf
--- /dev/null
+++ b/modules/ve-graph/ve.ce.MWGraphNode.css
@@ -0,0 +1,7 @@
+.mw-wiki-graph {
+   position: relative;
+}
+
+.ve-ce-mwGraphNode-plot {
+   position: absolute;
+}
diff --git a/modules/ve-graph/ve.ce.MWGraphNode.js 
b/modules/ve-graph/ve.ce.MWGraphNode.js
index b9b019a..fc1d028 100644
--- a/modules/ve-graph/ve.ce.MWGraphNode.js
+++ b/modules/ve-graph/ve.ce.MWGraphNode.js
@@ -9,21 +9,37 @@
  *
  * @class
  * @extends ve.ce.MWBlockExtensionNode
+ * @mixins ve.ce.MWResizableNode
  *
  * @constructor
  * @param {ve.dm.MWGraphNode} model Model to observe
  * @param {Object} [config] Configuration options
  */
-ve.ce.MWGraphNode = function VeCeMWGraphNode() {
+ve.ce.MWGraphNode = function VeCeMWGraphNode( model, config ) {
+   this.$graph = $( '' ).addClass( 'mw-wiki-graph' );
+   this.$plot = $( '' ).addClass( 've-ce-mwGraphNode-plot' );
+
// Parent constructor
ve.ce.MWGraphNode.super.apply( this, arguments );
 
-   this.$element.addClass( 'mw-wiki-graph-container' );
+   // Mixin constructors
+   ve.ce.MWResizableNode.call( this, this.$plot, config );
+
+   this.$element
+   .addClass( 'mw-wiki-graph-container' )
+   .append( this.$graph );
+
+   this.showHandles( [ 'se' ] );
 };
 
 /* Inheritance */
 
 OO.inheritClass( ve.ce.MWGraphNode, ve.ce.MWBlockExtensionNode );
+
+// Need to mix in the base class as well
+OO.mixinClass( ve.ce.MWGraphNode, ve.ce.ResizableNode );
+
+OO.mixinClass( ve.ce.MWGraphNode, ve.ce.MWResizableNode );
 
 /* Static Properties */
 
@@ -46,13 +62,13 @@
 ve.ce.MWGraphNode.static.vegaParseSpec = function ( spec, element ) {
var deferred = $.Deferred(),
node = this,
-   canvasNode;
+   canvasNode, view;
 
// Check if the spec is currently valid
if ( !ve.isEmptyObject( spec ) ) {
vg.parse.spec( spec, function ( chart ) {
try {
-   chart( { el: element } ).update();
+   view = chart( { el: element } ).update();
 
// HACK: If canvas is blank, this means Vega 
didn't render properly.
// Once Vega allows for proper rendering 
validation, this should be
@@ -61,7 +77,7 @@
if ( node.isCanvasBlank( canvasNode ) ) {
deferred.reject( 
'graph-ve-vega-error-no-render' );
} else {
-   deferred.resolve();
+   deferred.resolve( view );
}
 
} catch ( err ) {
@@ -100,29 +116,49 @@
var node = this;
 
// Clear element
-   this.$element.empty();
-
-   if ( this.live ) {
-   this.emit( 'teardown' );
-   }
+   this.$graph.empty();
 
mw.loader.using( 'ext.graph' ).done( function () {
-   node.constructor.static.vegaParseSpec( 
node.getModel().getSpec(), node.$element[ 0 ] ).then(
-

[MediaWiki-commits] [Gerrit] Add Wikipedia to system text selection menu - change (apps...wikipedia)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add Wikipedia to system text selection menu
..


Add Wikipedia to system text selection menu

- Add Wikipedia as an available text selection option for all other apps. The 
text selection menu entry will appear as "Search Wikipedia".
- Feature is supported on devices with API level 23 (Marshmallow) and above.

Change-Id: I66210ece4267dcd59f94d66d6df0f67af691c76a
---
M app/src/main/AndroidManifest.xml
M app/src/main/java/org/wikipedia/page/PageActivity.java
2 files changed, 20 insertions(+), 0 deletions(-)

Approvals:
  BearND: Looks good to me, but someone else must approve
  Dbrant: Looks good to me, approved
  Niedzielski: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6fbd465..ad5a8f2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -65,6 +65,11 @@
 
 
 
+
+
+
+
+
 
 https://gerrit.wikimedia.org/r/253816
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I66210ece4267dcd59f94d66d6df0f67af691c76a
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Sealskej 
Gerrit-Reviewer: BearND 
Gerrit-Reviewer: Brion VIBBER 
Gerrit-Reviewer: Dbrant 
Gerrit-Reviewer: Mholloway 
Gerrit-Reviewer: Niedzielski 
Gerrit-Reviewer: Sealskej 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Merge master into deployment - change (wikimedia...crm)

2015-11-18 Thread Awight (Code Review)
Awight has submitted this change and it was merged.

Change subject: Merge master into deployment
..


Merge master into deployment

968203e28d9df3e376a1148564b2473d59702a6a Unset time limit after loop
2976b9f433c0adca1d75e502a28df80240b0f0c2 Update civicrm submodule

Change-Id: If7566c35843e634647f1c86e93a9139b828ecad0
---
0 files changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Awight: Verified; Looks good to me, approved




-- 
To view, visit https://gerrit.wikimedia.org/r/254084
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If7566c35843e634647f1c86e93a9139b828ecad0
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: deployment
Gerrit-Owner: Awight 
Gerrit-Reviewer: Awight 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Update civicrm submodule - change (wikimedia...crm)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Update civicrm submodule
..


Update civicrm submodule

Bug: T117492
Change-Id: Ife0592d9b4ec3a93c2db64d58b97043b2dc47d58
---
M civicrm
1 file changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Awight: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/civicrm b/civicrm
index b8b152c..488d66d 16
--- a/civicrm
+++ b/civicrm
-Subproject commit b8b152c40a9fbc31bbf24cfda951984101503d15
+Subproject commit 488d66d1b3a88605466b45d821c5224464f7a09c

-- 
To view, visit https://gerrit.wikimedia.org/r/254083
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ife0592d9b4ec3a93c2db64d58b97043b2dc47d58
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight 
Gerrit-Reviewer: Awight 
Gerrit-Reviewer: Cdentinger 
Gerrit-Reviewer: Ejegg 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Merge master into deployment - change (wikimedia...crm)

2015-11-18 Thread Awight (Code Review)
Awight has uploaded a new change for review.

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

Change subject: Merge master into deployment
..

Merge master into deployment

968203e28d9df3e376a1148564b2473d59702a6a Unset time limit after loop
2976b9f433c0adca1d75e502a28df80240b0f0c2 Update civicrm submodule

Change-Id: If7566c35843e634647f1c86e93a9139b828ecad0
---
0 files changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/84/254084/1


-- 
To view, visit https://gerrit.wikimedia.org/r/254084
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If7566c35843e634647f1c86e93a9139b828ecad0
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: deployment
Gerrit-Owner: Awight 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Update civicrm submodule - change (wikimedia...crm)

2015-11-18 Thread Awight (Code Review)
Awight has uploaded a new change for review.

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

Change subject: Update civicrm submodule
..

Update civicrm submodule

Bug: T117492
Change-Id: Ife0592d9b4ec3a93c2db64d58b97043b2dc47d58
---
M civicrm
1 file changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/83/254083/1

diff --git a/civicrm b/civicrm
index b8b152c..488d66d 16
--- a/civicrm
+++ b/civicrm
-Subproject commit b8b152c40a9fbc31bbf24cfda951984101503d15
+Subproject commit 488d66d1b3a88605466b45d821c5224464f7a09c

-- 
To view, visit https://gerrit.wikimedia.org/r/254083
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ife0592d9b4ec3a93c2db64d58b97043b2dc47d58
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] T115717: Strip trailing s - change (mediawiki...parsoid)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: T115717: Strip trailing s
..


T115717: Strip trailing s

This is an interim fix while we stop introducing them in the first place.

Change-Id: Icb7819ac8346f01217dc6f3c8f51d1b526646f3d
---
M lib/html2wt/DOMHandlers.js
M lib/html2wt/SerializerState.js
M lib/html2wt/WikitextSerializer.js
M tests/parserTests.txt
4 files changed, 25 insertions(+), 1 deletion(-)

Approvals:
  Arlolra: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/html2wt/DOMHandlers.js b/lib/html2wt/DOMHandlers.js
index 86036ed..0d58ed2 100644
--- a/lib/html2wt/DOMHandlers.js
+++ b/lib/html2wt/DOMHandlers.js
@@ -1333,7 +1333,10 @@
// implement generic src round-tripping:
// return src, and drop the generated content
return {
-   handle: function() {
+   handle: function(node, state) {
+   if (//.test(dp.src)) {
+   state.hasSelfClosingNowikis = 
true;
+   }
// FIXME: Should this also check for 
tabs and plain space chars
// interspersed with newlines?
if (dp.src.match(/^\n+$/)) {
diff --git a/lib/html2wt/SerializerState.js b/lib/html2wt/SerializerState.js
index 2f5a1d3..eb4296c 100644
--- a/lib/html2wt/SerializerState.js
+++ b/lib/html2wt/SerializerState.js
@@ -87,6 +87,7 @@
inPHPBlock: false,
inAttribute: false,
hasIndentPreNowikis: false,
+   hasSelfClosingNowikis: false,
hasQuoteNowikis: false,
wikiTableNesting: 0,
wteHandlerStack: [],
diff --git a/lib/html2wt/WikitextSerializer.js 
b/lib/html2wt/WikitextSerializer.js
index d74d418..6a40f73 100644
--- a/lib/html2wt/WikitextSerializer.js
+++ b/lib/html2wt/WikitextSerializer.js
@@ -1197,6 +1197,12 @@
this._stripUnnecessaryQuoteNowikis();
}
 
+   if (state.hasSelfClosingNowikis || state.selserMode) {
+   // Strip (useless) trailing s
+   // Interim fix till we stop introducing them in the first place.
+   state.out = state.out.replace(/(?:)+($|\n)/g, 
'$1');
+   }
+
return state.out;
 };
 
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index 7b3fe9f..28271e1 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -26258,6 +26258,20 @@
 ''foo''
 !! end
 
+# This is meant to be an interim fix while we go about figuring out
+# how to not introduce these trailing s in the first place.
+!! test
+T115717: Strip trailing s
+!! options
+parsoid=html2wt
+!! html/parsoid
+x
+y
+!! wikitext
+x
+y
+!! end
+
 # ---
 # End of tests spec'ing wikitext serialization norms |
 # ---

-- 
To view, visit https://gerrit.wikimedia.org/r/253070
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Icb7819ac8346f01217dc6f3c8f51d1b526646f3d
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry 
Gerrit-Reviewer: Arlolra 
Gerrit-Reviewer: Subramanya Sastry 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Presentation model for reverted - change (mediawiki...Echo)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Presentation model for reverted
..


Presentation model for reverted

Bug: T116843
Change-Id: Ide03220ad8ad621b5943e36d71e484a21bc8a65b
---
M Echo.php
M autoload.php
M i18n/en.json
M i18n/qqq.json
A includes/formatters/RevertedPresentationModel.php
5 files changed, 48 insertions(+), 4 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Echo.php b/Echo.php
index 7e38a40..cb11735 100644
--- a/Echo.php
+++ b/Echo.php
@@ -328,6 +328,7 @@
'immediate' => true,
),
'reverted' => array(
+   'presentation-model' => 'EchoRevertedPresentationModel',
'user-locators' => array(
array( 'EchoUserLocator::locateFromEventExtra', array( 
'reverted-user-id' ) ),
),
@@ -338,8 +339,6 @@
'formatter-class' => 'EchoEditFormatter',
'title-message' => 'notification-reverted2',
'title-params' => array( 'agent', 'title', 'difflink', 
'number', 'userpage-contributions' ),
-   'flyout-message' => 'notification-reverted-flyout2',
-   'flyout-params' => array( 'agent', 'title', 'difflink', 
'number' ),
'email-subject-message' => 
'notification-reverted-email-subject2',
'email-subject-params' => array( 'agent', 'title', 'number' ),
'email-body-batch-message' => 
'notification-reverted-email-batch-body2',
diff --git a/autoload.php b/autoload.php
index 681690a..5387fda 100644
--- a/autoload.php
+++ b/autoload.php
@@ -73,6 +73,7 @@
'EchoNotifier' => __DIR__ . '/Notifier.php',
'EchoOnWikiList' => __DIR__ . '/includes/ContainmentSet.php',
'EchoPageLinkFormatter' => __DIR__ . 
'/includes/formatters/PageLinkFormatter.php',
+   'EchoRevertedPresentationModel' => __DIR__ . 
'/includes/formatters/RevertedPresentationModel.php',
'EchoRevisionLocalCache' => __DIR__ . 
'/includes/cache/RevisionLocalCache.php',
'EchoRowUpdateGenerator' => __DIR__ . '/includes/BatchRowUpdate.php',
'EchoSeenTime' => __DIR__ . '/includes/SeenTime.php',
diff --git a/i18n/en.json b/i18n/en.json
index 43c97b7..1eae999 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -80,7 +80,7 @@
"notification-welcome-link": "",
"notification-welcome-linktext": "Welcome",
"notification-reverted2": "Your {{PLURAL:$4|edit on [[:$2]] has|edits 
on [[:$2]] have}} been {{GENDER:$1|reverted}} by [[$5|$1]]. $3",
-   "notification-reverted-flyout2": "Your {{PLURAL:$4|edit on $2 has|edits 
on $2 have}} been {{GENDER:$1|reverted}} by $1. $3",
+   "notification-header-reverted": "Your {{PLURAL:$4|edit on $3 has|edits 
on $3 have}} been {{GENDER:$2|reverted}} by $1.",
"notification-emailuser": "[[User:$1|$1]] {{GENDER:$1|sent}} you an 
email.",
"notification-emailuser-flyout": "$1 {{GENDER:$1|sent}} you an email",
"notification-edit-talk-page-email-subject2": "$1 {{GENDER:$1|left}} 
you a message on {{SITENAME}}",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index b66dfcb..94eb661 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -101,7 +101,7 @@
"notification-welcome-link": "{{notranslate}}",
"notification-welcome-linktext": "Link text for link to the wiki's 
welcome or introduction page.\n{{Identical|Welcome}}",
"notification-reverted2": "Format for displaying notifications of a 
user's edit being reverted. Parameters:\n* $1 - the username of the person who 
reverted, plain text. Can be used for GENDER.\n* $2 - the page that was 
reverted, formatted\n* $3 - a diff link which is labeled {{msg-mw|Showdiff}}\n* 
$4 - the number of edits that were reverted. NOTE: This will only be set to 1 
or 2, with 2 actually meaning 'an unknown number greater than 0'.\n* $5 - Page 
for reverting user.\nUser page if logged in, or user's contributions page if 
logged out.\n{{Related|Notification-reverted}}",
-   "notification-reverted-flyout2": "Flyout-specific format for displaying 
notifications of a user's edit being reverted.\n\nParameters:\n* $1 - the 
username of the person who reverted, plain text. Can be used for GENDER.\n* $2 
- the page that was reverted, formatted\n* $3 - a diff link which is labeled 
{{msg-mw|Showdiff}}\n* $4 - the number of edits that were reverted. NOTE: This 
will only be set to 1 or 2, with 2 actually meaning \"an unknown number greater 
than 0\".\n{{Related|Notification-reverted}}",
+   "notification-header-reverted": "Flyout-specific format for displaying 
notifications of a user's edit being reverted.\n\nParameters:\n* $1 - the 
formatted username of the person who reverted.\n* $2 - the username for 
GENDER\n* $3 - the page that was reverted, formatted\n* $4 - the number of 
edits that were reverted. NOTE: This will only be set to 1 or 2, with 2 

[MediaWiki-commits] [Gerrit] namespaceDupes: Ignore duplicate key errors in link table up... - change (mediawiki/core)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: namespaceDupes: Ignore duplicate key errors in link table 
updates
..


namespaceDupes: Ignore duplicate key errors in link table updates

Bug: T115824
Change-Id: I67f57f680587c2c1e00f63a268019270bf8d5f86
---
M maintenance/namespaceDupes.php
1 file changed, 2 insertions(+), 1 deletion(-)

Approvals:
  Aaron Schulz: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/maintenance/namespaceDupes.php b/maintenance/namespaceDupes.php
index 184cba8..28176a5 100644
--- a/maintenance/namespaceDupes.php
+++ b/maintenance/namespaceDupes.php
@@ -390,7 +390,8 @@
$titleField => 
$row->$titleField,
$fromField => $row->$fromField
),
-   __METHOD__
+   __METHOD__,
+   array( 'IGNORE' )
);
$this->output( "$table $logTitle -> " .
$destTitle->getPrefixedDBkey() . "\n" );

-- 
To view, visit https://gerrit.wikimedia.org/r/254078
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I67f57f680587c2c1e00f63a268019270bf8d5f86
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Catrope 
Gerrit-Reviewer: Aaron Schulz 
Gerrit-Reviewer: Parent5446 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Edit graph size in VisualEditor - change (mediawiki...Graph)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Edit graph size in VisualEditor
..


Edit graph size in VisualEditor

- Users can now edit width and height through the graph dialog

Bug: T109631
Change-Id: I171a597b81990d901d3d8169304810d8bf8f5744
---
M Graph.hooks.php
M i18n/en.json
M i18n/qqq.json
M modules/ve-graph/ve.dm.MWGraphModel.js
M modules/ve-graph/ve.ui.MWGraphDialog.js
5 files changed, 96 insertions(+), 7 deletions(-)

Approvals:
  Esanders: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Graph.hooks.php b/Graph.hooks.php
index 3addfb2..845d390 100644
--- a/Graph.hooks.php
+++ b/Graph.hooks.php
@@ -42,8 +42,10 @@
'ext.visualEditor.mwcore'
),
'messages' => array(
+   'graph-ve-dialog-button-tooltip',
'graph-ve-dialog-edit-field-graph-type',
'graph-ve-dialog-edit-field-raw-json',
+   'graph-ve-dialog-edit-height',
'graph-ve-dialog-edit-json-invalid',
'graph-ve-dialog-edit-padding-auto',
'graph-ve-dialog-edit-padding-fieldset',
@@ -55,14 +57,16 @@
'graph-ve-dialog-edit-page-data',
'graph-ve-dialog-edit-page-general',
'graph-ve-dialog-edit-page-raw',
+   'graph-ve-dialog-edit-size-fieldset',
+   'graph-ve-dialog-edit-size-table-unit',
'graph-ve-dialog-edit-table-row-delete',
'graph-ve-dialog-edit-title',
'graph-ve-dialog-edit-type-area',
'graph-ve-dialog-edit-type-bar',
'graph-ve-dialog-edit-type-line',
'graph-ve-dialog-edit-type-unknown',
+   'graph-ve-dialog-edit-width',

'graph-ve-dialog-edit-unknown-graph-type-warning',
-   'graph-ve-dialog-button-tooltip',
'graph-ve-no-spec',
'graph-ve-vega-error',
'graph-ve-vega-error-no-render'
diff --git a/i18n/en.json b/i18n/en.json
index cca1506..1574a0c 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -11,8 +11,10 @@
"graph-tracking-category-desc": "The page includes a 
 tag.",
"graph-broken-category": "Pages with broken graphs",
"graph-broken-category-desc": "The page includes a 
 tag with invalid usage.",
+   "graph-ve-dialog-button-tooltip": "Graph",
"graph-ve-dialog-edit-field-graph-type": "Graph type",
"graph-ve-dialog-edit-field-raw-json": "Raw JSON specification",
+   "graph-ve-dialog-edit-height": "Height",
"graph-ve-dialog-edit-json-invalid": "Invalid JSON string",
"graph-ve-dialog-edit-padding-auto": "Automatic padding",
"graph-ve-dialog-edit-padding-fieldset": "Padding",
@@ -24,14 +26,16 @@
"graph-ve-dialog-edit-page-data": "Data",
"graph-ve-dialog-edit-page-general": "General",
"graph-ve-dialog-edit-page-raw": "Raw data",
+   "graph-ve-dialog-edit-size-fieldset": "Size",
+   "graph-ve-dialog-edit-size-table-unit": "Pixels",
"graph-ve-dialog-edit-table-row-delete": "Delete row",
"graph-ve-dialog-edit-title": "Edit graph",
"graph-ve-dialog-edit-type-area": "Area graph",
"graph-ve-dialog-edit-type-bar": "Bar graph",
"graph-ve-dialog-edit-type-line": "Line graph",
"graph-ve-dialog-edit-type-unknown": "Unknown graph type",
+   "graph-ve-dialog-edit-width": "Width",
"graph-ve-dialog-edit-unknown-graph-type-warning": "The type of this 
graph is unsupported, and any modifications made to it may break its display. 
Please edit the graph through the raw data specification on the 
'{{int:graph-ve-dialog-edit-page-raw}}' tab.",
-   "graph-ve-dialog-button-tooltip": "Graph",
"graph-ve-no-spec": "No graph specification found",
"graph-ve-vega-error": "Vega has encountered an error rendering this 
graph",
"graph-ve-vega-error-no-render": "Vega was unable to render this graph"
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 65091f9..b002631 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -13,8 +13,10 @@
"graph-tracking-category-desc": "Description on 
[[Special:TrackingCategories]] for the {{msg-mw|graph-tracking-category}} 
track

[MediaWiki-commits] [Gerrit] Monolog: Backport Attempt to recover from json encoding errors - change (mediawiki/vendor)

2015-11-18 Thread BryanDavis (Code Review)
BryanDavis has uploaded a new change for review.

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

Change subject: Monolog: Backport Attempt to recover from json encoding errors
..

Monolog: Backport Attempt to recover from json encoding errors

Detect and attempt to recover from json_encode errors triggered by strings
containing invalid UTF-8 sequences. Recovery will only be attempted when
encoding strings or arrays. If recovery fails then a RuntimeException will
be thrown.

Backport 6f9e221 from https://github.com/Seldaek/monolog. This
cherry-picked commit will be overwritten by the next monolog/monolog
package bump in our local composer.json but as the commit has already been
merged upstream it will be present in the next official release.

Bug: T118057
Change-Id: I7a31a4d51291a5d9403478818805ffd1bb8fad86
---
M monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
M monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php
M monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php
3 files changed, 228 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vendor 
refs/changes/81/254081/1

diff --git a/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php 
b/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
index 0361935..c8d42fe 100644
--- a/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
+++ b/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
@@ -138,25 +138,76 @@
 return $data;
 }
 
+/**
+ * Return the JSON representation of a value
+ *
+ * @param mixed $data
+ * @param bool  $ignoreErrors
+ * @return string
+ * @throws \RuntimeException if encoding fails and errors are not ignored
+ */
 protected function toJson($data, $ignoreErrors = false)
 {
 // suppress json_encode errors since it's twitchy with some inputs
 if ($ignoreErrors) {
-if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
-return @json_encode($data, JSON_UNESCAPED_SLASHES | 
JSON_UNESCAPED_UNICODE);
-}
-
-return @json_encode($data);
+return @$this->jsonEncode($data);
 }
 
-if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
-$json = json_encode($data, JSON_UNESCAPED_SLASHES | 
JSON_UNESCAPED_UNICODE);
-} else {
-$json = json_encode($data);
-}
+$json = $this->jsonEncode($data);
 
 if ($json === false) {
-$this->throwEncodeError(json_last_error(), $data);
+$json = $this->handleJsonError(json_last_error(), $data);
+}
+
+return $json;
+}
+
+/**
+ * @param mixed $data
+ * @return string JSON encoded data or null on failure
+ */
+private function jsonEncode($data)
+{
+if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
+return json_encode($data, JSON_UNESCAPED_SLASHES | 
JSON_UNESCAPED_UNICODE);
+}
+
+return json_encode($data);
+}
+
+/**
+ * Handle a json_encode failure.
+ *
+ * If the failure is due to invalid string encoding, try to clean the
+ * input and encode again. If the second encoding iattempt fails, the
+ * inital error is not encoding related or the input can't be cleaned then
+ * raise a descriptive exception.
+ *
+ * @param int   $code return code of json_last_error function
+ * @param mixed $data data that was meant to be encoded
+ * @return string JSON encoded data after error correction
+ * @throws \RuntimeException if failure can't be corrected
+ */
+private function handleJsonError($code, $data)
+{
+if ($code !== JSON_ERROR_UTF8) {
+$this->throwEncodeError($code, $data);
+}
+
+if (is_string($data)) {
+$this->detectAndCleanUtf8($data);
+
+} elseif (is_array($data)) {
+array_walk_recursive($data, array($this, 'detectAndCleanUtf8'));
+
+} else {
+$this->throwEncodeError($code, $data);
+}
+
+$json = $this->jsonEncode($data);
+
+if ($json === false) {
+$json = $this->throwEncodeError(json_last_error(), $data);
 }
 
 return $json;
@@ -190,4 +241,36 @@
 
 throw new \RuntimeException('JSON encoding failed: '.$msg.'. Encoding: 
'.var_export($data, true));
 }
+
+/**
+ * Detect invalid UTF-8 string characters and convert to valid UTF-8.
+ *
+ * Valid UTF-8 input will be left unmodified, but strings containing
+ * invalid UTF-8 codepoints will be reencoded as UTF-8 with an assumed
+ * original encoding of ISO-8859-15. This conversion may result in
+ * incorrect output if the actual encoding was not ISO-8859-15, but it
+ * will be clean UTF-8 output and will not rely on expensive and fragile
+ * detection algorithms.
+ *
+   

[MediaWiki-commits] [Gerrit] Invalidate cached user ID after user is added to the database - change (mediawiki/core)

2015-11-18 Thread Code Review
Gergő Tisza has uploaded a new change for review.

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

Change subject: Invalidate cached user ID after user is added to the database
..

Invalidate cached user ID after user is added to the database

Bug: T119021
Change-Id: I5e0599d1d045b0389a7825fddc2b346e4cfd001d
---
M includes/User.php
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/80/254080/1

diff --git a/includes/User.php b/includes/User.php
index b09e4e4..dd58463 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -3898,6 +3898,7 @@
return Status::newFatal( 'userexists' );
}
$this->mId = $dbw->insertId();
+   self::$idCacheByName[$this->mName] = $this->mId;
 
// Clear instance cache other than user table data, which is 
already accurate
$this->clearInstanceCache();

-- 
To view, visit https://gerrit.wikimedia.org/r/254080
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5e0599d1d045b0389a7825fddc2b346e4cfd001d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Consolidate setting separator in a method - change (mediawiki...parsoid)

2015-11-18 Thread Arlolra (Code Review)
Arlolra has uploaded a new change for review.

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

Change subject: Consolidate setting separator in a method
..

Consolidate setting separator in a method

 * We do this is several places and should be wary of updating SOL
   state.

 * Noticed in review:
   https://gerrit.wikimedia.org/r/#/c/253070/2/lib/html2wt/DOMHandlers.js

Change-Id: I6aaeba837af59e97a708afc95886dc0aa849649e
---
M lib/html2wt/DOMHandlers.js
M lib/html2wt/SerializerState.js
M lib/html2wt/WikitextSerializer.js
M lib/html2wt/separators.js
4 files changed, 45 insertions(+), 40 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/79/254079/1

diff --git a/lib/html2wt/DOMHandlers.js b/lib/html2wt/DOMHandlers.js
index 86036ed..cbad532 100644
--- a/lib/html2wt/DOMHandlers.js
+++ b/lib/html2wt/DOMHandlers.js
@@ -881,7 +881,7 @@
state.emitChunk(content, node);
 
// Preserve separator source
-   state.sep.src = trailingNL && trailingNL[0] || '';
+   state.setSep((trailingNL && trailingNL[0]) || '');
},
sepnls: {
before: function(node, otherNode) {
@@ -1334,10 +1334,10 @@
// return src, and drop the generated content
return {
handle: function() {
-   // FIXME: Should this also check for 
tabs and plain space chars
-   // interspersed with newlines?
+   // FIXME: Should this also check for 
tabs and plain space
+   // chars interspersed with newlines?
if (dp.src.match(/^\n+$/)) {
-   state.sep.src = (state.sep.src 
|| '') + dp.src;
+   state.setSep((state.sep.src || 
'') + dp.src);
} else {
self.emitWikitext(dp.src, node);
}
diff --git a/lib/html2wt/SerializerState.js b/lib/html2wt/SerializerState.js
index 2f5a1d3..3998a71 100644
--- a/lib/html2wt/SerializerState.js
+++ b/lib/html2wt/SerializerState.js
@@ -148,6 +148,13 @@
 
 /**
  */
+SSP.setSep = function(src) {
+   this.sep.src = src;
+   this.sepIntroducedSOL(src);
+};
+
+/**
+ */
 SSP.updateSep = function(node) {
this.sep.lastSourceNode = node;
this.sep.lastSourceSep = this.sep.src;
@@ -236,6 +243,19 @@
// Don't get tripped by newlines in comments!  Be wary of nowikis added
// by makeSepIndentPreSafe on the last line.
if (sep.replace(Util.COMMENT_REGEXP_G, '').search(/\n$/) !== -1) {
+   // Since we are stashing away newlines for emitting
+   // before the next element, we are in SOL state wrt
+   // the content of that next element.
+   //
+   // FIXME: The only serious caveat is if all these newlines
+   // will get stripped out in the context of any parent node
+   // that suppress newlines (ex:  nodes that are forcibly
+   // converted to non-html wikitext representation -- newlines
+   // will get suppressed in those context). We currently don't
+   // handle arbitrary HTML which cause these headaches. And,
+   // in any case, we might decide to emit such HTML as native
+   // HTML to avoid these problems. To be figured out later when
+   // it is a real issue.
this.onSOL = true;
}
 };
diff --git a/lib/html2wt/WikitextSerializer.js 
b/lib/html2wt/WikitextSerializer.js
index d74d418..494d148 100644
--- a/lib/html2wt/WikitextSerializer.js
+++ b/lib/html2wt/WikitextSerializer.js
@@ -698,30 +698,16 @@
 
// If not in nowiki and pre context, escape wikitext
// XXX refactor: Handle this with escape handlers instead!
-   state.escapeText = (state.onSOL || !state.currNodeUnmodified) && 
!state.inNoWiki && !state.inHTMLPre;
+   state.escapeText = (state.onSOL || !state.currNodeUnmodified) &&
+   !state.inNoWiki && !state.inHTMLPre;
state.emitChunk(res, node);
state.escapeText = false;
 
// Move trailing newlines into the next separator
if (newSepMatch) {
if (!state.sep.src) {
-   state.sep.src = newSepMatch[0];
-   state.sep.lastSourceSep = state.sep.src;
-
-   // Since we are stashing away newlines for emitting
-   // before the next element, we are in SOL state wrt
-   // the content of that next element.
-   

[MediaWiki-commits] [Gerrit] Add support for edit summary formatting in topic titles - change (mediawiki...Flow)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add support for edit summary formatting in topic titles
..


Add support for edit summary formatting in topic titles

This adds support for basic links in topic titles using the edit summary
parser.  To do so, it stops using the 'plaintext' format for topic
titles, and adds topic-title-wikitext' and 'topic-title-html'.  There
is also logic to Do What I Mean in limited cases.  For example, if you
request a topic list in 'fixed-html', it will understand that the topic
titles should be 'topic-title-html'.

* getContentInWikitext() and getContentInHtml helpers for when you need
  some type of wikitext/HTML and don't care whether it's the topic
  title subset or the full version.

* Rename Flow\Parsoid\Utils since it handles more than Parsoid (even
  before it did in some cases).

* Rename PostRevision::create to PostRevision::createTopicPost to make
  clear it's specifically for the root post of a topic.

* Show text version of the HTML (i.e. the displayed text of the links,
  no brackets) in some cases per spec.

* Simplify description PHP widget by removing content format.

* Explicitly do not track references in topic titles by short-circuiting.
Bug: T59153
Change-Id: I8d6bd8090de242c2b1761003cce04d590d7f9ae6
---
M Flow.php
M FlowActions.php
M Hooks.php
M autoload.php
M handlebars/compiled/flow_block_header.handlebars.php
M handlebars/flow_header_detail.partial.handlebars
M i18n/en.json
M includes/Api/ApiParsoidUtilsFlow.php
M includes/Block/Topic.php
M includes/Block/TopicList.php
M includes/Block/TopicSummary.php
R includes/Conversion/Utils.php
M includes/Data/Listener/ReferenceRecorder.php
M includes/Formatter/AbstractFormatter.php
M includes/Formatter/CategoryViewerFormatter.php
M includes/Formatter/ChangesListFormatter.php
M includes/Formatter/ContributionsFormatter.php
M includes/Formatter/RevisionDiffViewFormatter.php
M includes/Formatter/RevisionFormatter.php
M includes/Formatter/RevisionUndoViewFormatter.php
M includes/Formatter/TocTopicListFormatter.php
M includes/Import/Importer.php
M includes/Import/OptInController.php
M includes/Import/TemplateHelper.php
M includes/Import/Wikitext/ImportSource.php
M includes/Log/ActionFormatter.php
M includes/Model/AbstractRevision.php
M includes/Model/PostRevision.php
M includes/Notifications/Controller.php
M includes/Notifications/Formatter.php
M includes/OOUI/BoardDescriptionWidget.php
M includes/Parsoid/ContentFixer.php
M includes/Parsoid/Fixer/BadImageRemover.php
M includes/Parsoid/Fixer/WikiLinkFixer.php
M includes/Parsoid/ReferenceExtractor.php
M includes/Parsoid/ReferenceFactory.php
M includes/Search/HeaderUpdater.php
M includes/Search/TopicUpdater.php
M includes/SpamFilter/AbuseFilter.php
M includes/SpamFilter/ConfirmEdit.php
M includes/SpamFilter/SpamBlacklist.php
M includes/SpamFilter/SpamRegex.php
M includes/TemplateHelper.php
M includes/Templating.php
M includes/View.php
M maintenance/FlowUpdateRevisionContentLength.php
M maintenance/convertToText.php
M maintenance/repair_missing_revision_content.php
M modules/engine/misc/flow-handlebars.js
M modules/flow/dm/mw.flow.dm.RevisionedContent.js
M tests/browser/features/new_topic.feature
M tests/browser/features/step_definitions/flow_steps.rb
A tests/browser/features/step_definitions/new_topic_steps.rb
M tests/browser/features/support/pages/abstract_flow_page.rb
R tests/phpunit/Conversion/UtilsTest.php
M tests/phpunit/Data/Listener/RecentChangesListenerTest.php
M tests/phpunit/Formatter/RevisionFormatterTest.php
M tests/phpunit/HookTest.php
M tests/phpunit/Import/PageImportStateTest.php
M tests/phpunit/Import/Wikitext/ImportSourceTest.php
M tests/phpunit/LinksTableTest.php
M tests/phpunit/Model/PostRevisionTest.php
M tests/phpunit/Parsoid/Fixer/BadImageRemoverTest.php
M tests/phpunit/Parsoid/Fixer/WikiLinkFixerTest.php
M tests/phpunit/Parsoid/ReferenceExtractorTest.php
M tests/phpunit/SpamFilter/ConfirmEditTest.php
M tests/phpunit/SpamFilter/ContentLengthFilterTest.php
M tests/phpunit/TemplatingTest.php
M tests/phpunit/api/ApiFlowEditTitleTest.php
M tests/phpunit/api/ApiFlowViewTopicListTest.php
M tests/qunit/flow/dm/test_mw.flow.dm.Board.js
M tests/qunit/flow/dm/test_mw.flow.dm.Post.js
M tests/qunit/flow/dm/test_mw.flow.dm.System.js
M tests/qunit/flow/dm/test_mw.flow.dm.Topic.js
74 files changed, 738 insertions(+), 231 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Flow.php b/Flow.php
index 6fa73f6..925b372 100644
--- a/Flow.php
+++ b/Flow.php
@@ -239,7 +239,7 @@
 // If $wgFlowParsoidURL is null, $wgFlowContentFormat will be forced to 
wikitext.
 //
 // The 'wikitext' format is likely to be deprecated in the future.
-$wgFlowContentFormat = 'html'; // possible values: html|wikitext XXX bug 70148 
with wikitext
+$wgFlowContentFormat = 'html'; // possible values: html|wikitext
 
 // Flow Parsoid config
 // THESE

[MediaWiki-commits] [Gerrit] namespaceDupes: Ignore duplicate key errors in link table up... - change (mediawiki/core)

2015-11-18 Thread Catrope (Code Review)
Catrope has uploaded a new change for review.

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

Change subject: namespaceDupes: Ignore duplicate key errors in link table 
updates
..

namespaceDupes: Ignore duplicate key errors in link table updates

Bug: T115824
Change-Id: I67f57f680587c2c1e00f63a268019270bf8d5f86
---
M maintenance/namespaceDupes.php
1 file changed, 2 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/78/254078/1

diff --git a/maintenance/namespaceDupes.php b/maintenance/namespaceDupes.php
index 184cba8..28176a5 100644
--- a/maintenance/namespaceDupes.php
+++ b/maintenance/namespaceDupes.php
@@ -390,7 +390,8 @@
$titleField => 
$row->$titleField,
$fromField => $row->$fromField
),
-   __METHOD__
+   __METHOD__,
+   array( 'IGNORE' )
);
$this->output( "$table $logTitle -> " .
$destTitle->getPrefixedDBkey() . "\n" );

-- 
To view, visit https://gerrit.wikimedia.org/r/254078
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I67f57f680587c2c1e00f63a268019270bf8d5f86
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Catrope 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Unset time limit after loop - change (wikimedia...crm)

2015-11-18 Thread XenoRyet (Code Review)
XenoRyet has submitted this change and it was merged.

Change subject: Unset time limit after loop
..


Unset time limit after loop

I was wondering if this was gonna act funny... I believe we're causing unit
tests to time out.

Change-Id: Id6eb3897d240698599b932a5e6c6c56a7667601b
---
M sites/all/modules/offline2civicrm/ChecksFile.php
1 file changed, 3 insertions(+), 0 deletions(-)

Approvals:
  XenoRyet: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/sites/all/modules/offline2civicrm/ChecksFile.php 
b/sites/all/modules/offline2civicrm/ChecksFile.php
index c8b098f..c92dbc3 100644
--- a/sites/all/modules/offline2civicrm/ChecksFile.php
+++ b/sites/all/modules/offline2civicrm/ChecksFile.php
@@ -101,6 +101,9 @@
 }
 }
 
+   // Unset time limit.
+   set_time_limit( 0 );
+
 $message = t( "Checks import complete. @successful imported, @ignored 
ignored, not including @duplicates duplicates.", array( '@successful' => 
$num_successful, '@ignored' => $num_ignored, '@duplicates' => $num_duplicates ) 
);
 ChecksImportLog::record( $message );
 watchdog( 'offline2civicrm', $message, array(), WATCHDOG_INFO );

-- 
To view, visit https://gerrit.wikimedia.org/r/254075
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id6eb3897d240698599b932a5e6c6c56a7667601b
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight 
Gerrit-Reviewer: Cdentinger 
Gerrit-Reviewer: Ejegg 
Gerrit-Reviewer: XenoRyet 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Use custom exceptions - change (mediawiki/oauthclient-php)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Use custom exceptions
..


Use custom exceptions

This was probably the original intention but a stray namespace
rule caused generic \Exception to be thrown.

Change-Id: I2995bb55438621cd70d3aefef10a7762b8e07275
---
M src/Client.php
1 file changed, 0 insertions(+), 1 deletion(-)

Approvals:
  BryanDavis: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/Client.php b/src/Client.php
index 39d13d0..477321a 100644
--- a/src/Client.php
+++ b/src/Client.php
@@ -23,7 +23,6 @@
 
 namespace MediaWiki\OAuthClient;
 
-use Exception;
 use MediaWiki\OAuthClient\SignatureMethod\HmacSha1;
 use Psr\Log\LoggerAwareInterface;
 use Psr\Log\LoggerInterface;

-- 
To view, visit https://gerrit.wikimedia.org/r/254076
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2995bb55438621cd70d3aefef10a7762b8e07275
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/oauthclient-php
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza 
Gerrit-Reviewer: BryanDavis 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Surface permission errors - change (mediawiki...Flow)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Surface permission errors
..


Surface permission errors

Bug: T118890
Change-Id: I22a713766f00e053f0566a8200cc3eab080e8e9b
(cherry picked from commit 4d87be3f9a0ca104107947ddb0a9d9e4af2d224a)
---
M includes/Model/Workflow.php
M includes/SubmissionHandler.php
2 files changed, 34 insertions(+), 2 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/Model/Workflow.php b/includes/Model/Workflow.php
index 4c0bb63..0f2063a 100644
--- a/includes/Model/Workflow.php
+++ b/includes/Model/Workflow.php
@@ -350,4 +350,29 @@
 
return $allowed;
}
+
+   /**
+* Pass-through to Title::getUserPermissionsErrors
+* with title, and owning title if needed.
+* @param string $permission
+* @param User $user
+* @return array Array of arrays of the arguments to wfMessage to 
explain permissions problems.
+*/
+   public function getPermissionErrors( $permission, $user ) {
+   $title = $this->getArticleTitle();
+
+   $errors = $title->getUserPermissionsErrors( $permission, $user 
);
+   if ( count( $errors ) ) {
+   return $errors;
+   }
+
+   if ( $this->type === 'topic' ) {
+   $errors = 
$this->getOwnerTitle()->getUserPermissionsErrors( $permission, $user );
+   if ( count( $errors ) ) {
+   return $errors;
+   }
+   }
+
+   return array();
+   }
 }
diff --git a/includes/SubmissionHandler.php b/includes/SubmissionHandler.php
index d83fbd7..955a809 100644
--- a/includes/SubmissionHandler.php
+++ b/includes/SubmissionHandler.php
@@ -92,8 +92,15 @@
 
// Check mediawiki core permissions for title protection, 
blocked
// status, etc.
-   if ( !$workflow->userCan( 'edit', $context->getUser() ) ) {
-   reset( $interestedBlocks )->addError( 'block', 
wfMessage( 'blockedtitle' ) );
+   $errors = $workflow->getPermissionErrors( 'edit', 
$context->getUser() );
+   if ( count( $errors ) ) {
+   foreach ( $errors as $errorMsgArgs ) {
+   $msg = wfMessage( array_shift( $errorMsgArgs ) 
);
+   if ( $errorMsgArgs ) {
+   $msg->params( $errorMsgArgs );
+   }
+   reset( $interestedBlocks )->addError( 'block', 
$msg );
+   }
return array();
}
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254074
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I22a713766f00e053f0566a8200cc3eab080e8e9b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: wmf/1.27.0-wmf.7
Gerrit-Owner: Catrope 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: Sbisson 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Bump portals - change (operations/mediawiki-config)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Bump portals
..


Bump portals

Change-Id: Iaa54694aee87bfd1e5235dfc30d960943d92e58f
---
M portals
1 file changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/portals b/portals
index da510f5..fc041b8 16
--- a/portals
+++ b/portals
-Subproject commit da510f590f2fa7047df710d8af608f972ca2838e
+Subproject commit fc041b88d742751a9ef011de66d01d083f3ae899

-- 
To view, visit https://gerrit.wikimedia.org/r/254065
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iaa54694aee87bfd1e5235dfc30d960943d92e58f
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: MaxSem 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: Chad 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Namespace configuration on es.wiktionary - change (operations/mediawiki-config)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Namespace configuration on es.wiktionary
..


Namespace configuration on es.wiktionary

New alias: WN -> NS_PROJECT

Bug: T119006
Change-Id: I8222634069190930ab197d17698b77cb279d45c5
---
M wmf-config/InitialiseSettings.php
1 file changed, 3 insertions(+), 0 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 21c250f..6b6d715 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -2893,6 +2893,9 @@
'Auxtoro' => 102,
'Auxtoro-Diskuto' => 103,
),
+   '+eswiktionary' => array(
+   'WN' => NS_PROJECT, // T119006
+   ),
'+etwiki' => array(
'Portal' => 100,
'Portal_talk' => 101,

-- 
To view, visit https://gerrit.wikimedia.org/r/254072
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8222634069190930ab197d17698b77cb279d45c5
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dereckson 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: Chad 
Gerrit-Reviewer: Florianschmidtwelzow 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Whitelist domains for server-side upload - Coding Da Vinci H... - change (operations/mediawiki-config)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Whitelist domains for server-side upload - Coding Da Vinci 
Hackathon
..


Whitelist domains for server-side upload - Coding Da Vinci Hackathon

The following domains are whitelisted:

* coll.mfn-berlin.de
* gbif.naturkundemuseum-berlin.de
* *.bgbm.org
* fotothek.slub-dresden.de
* digital.slub-dresden.de
* grossstadtgeschichten-berlin.de
* content.staatsbibliothek-berlin.de

Bug: T118844
Change-Id: I04a6adc724573e5efde6ec7f7c26935a9877b524
---
M wmf-config/InitialiseSettings.php
1 file changed, 7 insertions(+), 0 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 21c250f..c12e0eb 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -11569,6 +11569,13 @@
'*.nps.gov',// National Park Service, 
United States - T113188
'*.unesco.org', // Unesco - T115338
'www.webarchive.org.uk',// UK Web Archive - T116179
+   'coll.mfn-berlin.de',   // Coding Da Vinci 
Hackathon - T118844
+   'gbif.naturkundemuseum-berlin.de',
+   '*.bgbm.org',
+   'fotothek.slub-dresden.de',
+   'digital.slub-dresden.de',
+   'grossstadtgeschichten-berlin.de',
+   'content.staatsbibliothek-berlin.de',
),
 ),
 

-- 
To view, visit https://gerrit.wikimedia.org/r/253963
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I04a6adc724573e5efde6ec7f7c26935a9877b524
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dereckson 
Gerrit-Reviewer: Catrope 
Gerrit-Reviewer: Chad 
Gerrit-Reviewer: Florianschmidtwelzow 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Use custom exceptions - change (mediawiki/oauthclient-php)

2015-11-18 Thread Code Review
Gergő Tisza has uploaded a new change for review.

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

Change subject: Use custom exceptions
..

Use custom exceptions

This was probably the original intention but a stray namespace
rule caused generic \Exception to be thrown.

Change-Id: I2995bb55438621cd70d3aefef10a7762b8e07275
---
M src/Client.php
1 file changed, 0 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/oauthclient-php 
refs/changes/76/254076/1

diff --git a/src/Client.php b/src/Client.php
index 39d13d0..477321a 100644
--- a/src/Client.php
+++ b/src/Client.php
@@ -23,7 +23,6 @@
 
 namespace MediaWiki\OAuthClient;
 
-use Exception;
 use MediaWiki\OAuthClient\SignatureMethod\HmacSha1;
 use Psr\Log\LoggerAwareInterface;
 use Psr\Log\LoggerInterface;

-- 
To view, visit https://gerrit.wikimedia.org/r/254076
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2995bb55438621cd70d3aefef10a7762b8e07275
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/oauthclient-php
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] SquidUpdate doc cleanups - change (mediawiki/core)

2015-11-18 Thread Aaron Schulz (Code Review)
Aaron Schulz has uploaded a new change for review.

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

Change subject: SquidUpdate doc cleanups
..

SquidUpdate doc cleanups

Change-Id: Ia5b8060e8a93f40a2e31272e043b225f59fb6d50
---
M includes/deferred/SquidUpdate.php
1 file changed, 5 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/77/254077/1

diff --git a/includes/deferred/SquidUpdate.php 
b/includes/deferred/SquidUpdate.php
index bad91a5..d33e4a5 100644
--- a/includes/deferred/SquidUpdate.php
+++ b/includes/deferred/SquidUpdate.php
@@ -30,7 +30,7 @@
protected $urls = array();
 
/**
-* @param array $urlArr Collection of URLs to purge
+* @param string[] $urlArr Collection of URLs to purge
 */
public function __construct( array $urlArr ) {
// Remove duplicate URLs from list
@@ -41,7 +41,7 @@
 * Create a SquidUpdate from an array of Title objects, or a TitleArray 
object
 *
 * @param Traversable|array $titles
-* @param array $urlArr
+* @param string[] $urlArr
 * @return SquidUpdate
 */
public static function newFromTitles( $titles, $urlArr = array() ) {
@@ -77,7 +77,7 @@
 * (example: $urlArr[] = 'http://my.host/something')
 * XXX report broken Squids per mail or log
 *
-* @param array $urlArr List of full URLs to purge
+* @param string[] $urlArr List of full URLs to purge
 */
public static function purge( array $urlArr ) {
global $wgSquidServers, $wgHTCPRouting;
@@ -125,9 +125,9 @@
 * Send Hyper Text Caching Protocol (HTCP) CLR requests.
 *
 * @throws MWException
-* @param array $urlArr Collection of URLs to purge
+* @param string[] $urlArr Collection of URLs to purge
 */
-   protected static function HTCPPurge( $urlArr ) {
+   protected static function HTCPPurge( array $urlArr ) {
global $wgHTCPRouting, $wgHTCPMulticastTTL;
 
// HTCP CLR operation

-- 
To view, visit https://gerrit.wikimedia.org/r/254077
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia5b8060e8a93f40a2e31272e043b225f59fb6d50
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Record if language detection occured in UserTesting logs - change (mediawiki...CirrusSearch)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Record if language detection occured in UserTesting logs
..


Record if language detection occured in UserTesting logs

Additionally adds the Accept-Language header to facilitate some
other analysis.

Bug: T118577
Change-Id: Ia52b5ffeb2e804771366ea75ccdedd3781d132fc
---
M includes/CirrusSearch.php
M includes/ElasticsearchIntermediary.php
2 files changed, 18 insertions(+), 2 deletions(-)

Approvals:
  Smalyshev: Looks good to me, approved
  jenkins-bot: Verified

Objections:
  Cindy-the-browser-test-bot: There's a problem with this change, please improve



diff --git a/includes/CirrusSearch.php b/includes/CirrusSearch.php
index 5ef82dc..93685ac 100644
--- a/includes/CirrusSearch.php
+++ b/includes/CirrusSearch.php
@@ -156,7 +156,9 @@
return $rewrittenResult;
}
}
-
+   Searcher::appendLastLogContext( array(
+   'langdetect' => true,
+   ) );
$altWiki = $this->hasSecondaryLanguage( $term );
if ( $altWiki ) {
try {
diff --git a/includes/ElasticsearchIntermediary.php 
b/includes/ElasticsearchIntermediary.php
index 72b79d5..76b3658 100644
--- a/includes/ElasticsearchIntermediary.php
+++ b/includes/ElasticsearchIntermediary.php
@@ -194,7 +194,11 @@
return;
}
$queries = array();
-   $parameters = array( 'index' => array(), 'queryType' => array() 
);
+   $parameters = array(
+   'index' => array(),
+   'queryType' => array(),
+   'acceptLang' => $GLOBALS['wgRequest']->getHeader( 
'Accept-Language' ),
+   );
$elasticTook = 0;
$hits = 0;
foreach ( self::$logContexts as $context ) {
@@ -210,6 +214,9 @@
}
if ( isset( $context['queryType'] ) ) {
$parameters['queryType'][] = 
$context['queryType'];
+   }
+   if ( !empty( $context['langdetect' ] ) ) {
+   $parameters['langdetect'] = true;
}
}
 
@@ -494,6 +501,13 @@
return $params;
}
 
+   static public function appendLastLogContext( array $values ) {
+   $idx = count( self::$logContexts ) - 1;
+   if ( $idx >= 0 ) {
+   self::$logContexts[$idx] += $values;
+   }
+   }
+
/**
 * @return string The context the request is in. Either cli, api or web.
 */

-- 
To view, visit https://gerrit.wikimedia.org/r/254062
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia52b5ffeb2e804771366ea75ccdedd3781d132fc
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: EBernhardson 
Gerrit-Reviewer: Chad 
Gerrit-Reviewer: Cindy-the-browser-test-bot 
Gerrit-Reviewer: DCausse 
Gerrit-Reviewer: EBernhardson 
Gerrit-Reviewer: Manybubbles 
Gerrit-Reviewer: Smalyshev 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Unset time limit after loop - change (wikimedia...crm)

2015-11-18 Thread Awight (Code Review)
Awight has uploaded a new change for review.

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

Change subject: Unset time limit after loop
..

Unset time limit after loop

I was wondering if this was gonna act funny... I believe we're causing unit
tests to time out.

Change-Id: Id6eb3897d240698599b932a5e6c6c56a7667601b
---
M sites/all/modules/offline2civicrm/ChecksFile.php
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/75/254075/1

diff --git a/sites/all/modules/offline2civicrm/ChecksFile.php 
b/sites/all/modules/offline2civicrm/ChecksFile.php
index c8b098f..c92dbc3 100644
--- a/sites/all/modules/offline2civicrm/ChecksFile.php
+++ b/sites/all/modules/offline2civicrm/ChecksFile.php
@@ -101,6 +101,9 @@
 }
 }
 
+   // Unset time limit.
+   set_time_limit( 0 );
+
 $message = t( "Checks import complete. @successful imported, @ignored 
ignored, not including @duplicates duplicates.", array( '@successful' => 
$num_successful, '@ignored' => $num_ignored, '@duplicates' => $num_duplicates ) 
);
 ChecksImportLog::record( $message );
 watchdog( 'offline2civicrm', $message, array(), WATCHDOG_INFO );

-- 
To view, visit https://gerrit.wikimedia.org/r/254075
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id6eb3897d240698599b932a5e6c6c56a7667601b
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Surface permission errors - change (mediawiki...Flow)

2015-11-18 Thread Catrope (Code Review)
Catrope has uploaded a new change for review.

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

Change subject: Surface permission errors
..

Surface permission errors

Bug: T118890
Change-Id: I22a713766f00e053f0566a8200cc3eab080e8e9b
(cherry picked from commit 4d87be3f9a0ca104107947ddb0a9d9e4af2d224a)
---
M includes/Model/Workflow.php
M includes/SubmissionHandler.php
2 files changed, 34 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow 
refs/changes/74/254074/1

diff --git a/includes/Model/Workflow.php b/includes/Model/Workflow.php
index 4c0bb63..0f2063a 100644
--- a/includes/Model/Workflow.php
+++ b/includes/Model/Workflow.php
@@ -350,4 +350,29 @@
 
return $allowed;
}
+
+   /**
+* Pass-through to Title::getUserPermissionsErrors
+* with title, and owning title if needed.
+* @param string $permission
+* @param User $user
+* @return array Array of arrays of the arguments to wfMessage to 
explain permissions problems.
+*/
+   public function getPermissionErrors( $permission, $user ) {
+   $title = $this->getArticleTitle();
+
+   $errors = $title->getUserPermissionsErrors( $permission, $user 
);
+   if ( count( $errors ) ) {
+   return $errors;
+   }
+
+   if ( $this->type === 'topic' ) {
+   $errors = 
$this->getOwnerTitle()->getUserPermissionsErrors( $permission, $user );
+   if ( count( $errors ) ) {
+   return $errors;
+   }
+   }
+
+   return array();
+   }
 }
diff --git a/includes/SubmissionHandler.php b/includes/SubmissionHandler.php
index d83fbd7..955a809 100644
--- a/includes/SubmissionHandler.php
+++ b/includes/SubmissionHandler.php
@@ -92,8 +92,15 @@
 
// Check mediawiki core permissions for title protection, 
blocked
// status, etc.
-   if ( !$workflow->userCan( 'edit', $context->getUser() ) ) {
-   reset( $interestedBlocks )->addError( 'block', 
wfMessage( 'blockedtitle' ) );
+   $errors = $workflow->getPermissionErrors( 'edit', 
$context->getUser() );
+   if ( count( $errors ) ) {
+   foreach ( $errors as $errorMsgArgs ) {
+   $msg = wfMessage( array_shift( $errorMsgArgs ) 
);
+   if ( $errorMsgArgs ) {
+   $msg->params( $errorMsgArgs );
+   }
+   reset( $interestedBlocks )->addError( 'block', 
$msg );
+   }
return array();
}
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254074
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I22a713766f00e053f0566a8200cc3eab080e8e9b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: wmf/1.27.0-wmf.7
Gerrit-Owner: Catrope 
Gerrit-Reviewer: Sbisson 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add ability to purge originals cached by thumbor - change (mediawiki/vagrant)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add ability to purge originals cached by thumbor
..


Add ability to purge originals cached by thumbor

Bug: T111005
Change-Id: I00172f7c2ba20d8ff285dd1b1c8cda75cfd638ea
---
M puppet/modules/thumbor/manifests/init.pp
M puppet/modules/thumbor/templates/thumbor.conf.erb
M puppet/modules/thumbor/templates/upstart.erb
3 files changed, 10 insertions(+), 1 deletion(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/puppet/modules/thumbor/manifests/init.pp 
b/puppet/modules/thumbor/manifests/init.pp
index bcd90b1..debb714 100644
--- a/puppet/modules/thumbor/manifests/init.pp
+++ b/puppet/modules/thumbor/manifests/init.pp
@@ -45,6 +45,8 @@
 packages => [
 'git+git://github.com/thumbor/thumbor.git',
 'git+git://github.com/gi11es/thumbor-memcached.git',
+'git+git://github.com/thumbor-community/core',
+'git+https://gerrit.wikimedia.org/r/thumbor/purger',
 'cv2',
 'numpy',
 'opencv-engine',
diff --git a/puppet/modules/thumbor/templates/thumbor.conf.erb 
b/puppet/modules/thumbor/templates/thumbor.conf.erb
index 2ab0709..7ed75db 100644
--- a/puppet/modules/thumbor/templates/thumbor.conf.erb
+++ b/puppet/modules/thumbor/templates/thumbor.conf.erb
@@ -575,3 +575,10 @@
 

 
 
+## Extensions 
##
+
+COMMUNITY_EXTENSIONS = [
+'tc_purger',
+]
+
+
diff --git a/puppet/modules/thumbor/templates/upstart.erb 
b/puppet/modules/thumbor/templates/upstart.erb
index 873477e..b8b5996 100644
--- a/puppet/modules/thumbor/templates/upstart.erb
+++ b/puppet/modules/thumbor/templates/upstart.erb
@@ -10,4 +10,4 @@
 setuid www-data
 setgid www-data
 
-exec <%= @deploy_dir %>/bin/thumbor -c <%= @cfg_file %>
\ No newline at end of file
+exec <%= @deploy_dir %>/bin/thumbor -c <%= @cfg_file %> -a tc_core.app.App
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/251316
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I00172f7c2ba20d8ff285dd1b1c8cda75cfd638ea
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Gilles 
Gerrit-Reviewer: BryanDavis 
Gerrit-Reviewer: Dduvall 
Gerrit-Reviewer: Ori.livneh 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Store thumbor originals in memcache - change (mediawiki/vagrant)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Store thumbor originals in memcache
..


Store thumbor originals in memcache

This is to cater for bursts of thumbnail requests with different parameters
for the same original. Which are common due to prerendering/warmup at
upload time.

This breaks purging, which will be addressed separately.

Bug: T117075
Change-Id: I90a4faf1bf3db95d8dfad3b450641b8208d789d6
---
M puppet/modules/role/manifests/thumbor.pp
M puppet/modules/thumbor/files/varnish.vcl
M puppet/modules/thumbor/manifests/init.pp
M puppet/modules/thumbor/templates/thumbor.conf.erb
4 files changed, 12 insertions(+), 9 deletions(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/puppet/modules/role/manifests/thumbor.pp 
b/puppet/modules/role/manifests/thumbor.pp
index abccb71..1078d52 100644
--- a/puppet/modules/role/manifests/thumbor.pp
+++ b/puppet/modules/role/manifests/thumbor.pp
@@ -5,6 +5,7 @@
 ) {
 require ::role::varnish
 require ::role::statsd
+require ::role::memcached
 require ::role::sentry
 include ::apache::mod::proxy
 include ::apache::mod::proxy_http
diff --git a/puppet/modules/thumbor/files/varnish.vcl 
b/puppet/modules/thumbor/files/varnish.vcl
index 858c8fa..7c79b49 100644
--- a/puppet/modules/thumbor/files/varnish.vcl
+++ b/puppet/modules/thumbor/files/varnish.vcl
@@ -59,15 +59,15 @@
 
 # qlow jpg thumbs
 if (req.url ~ "^/images/thumb/(.*)/qlow-(\d+)px-.*\.(jpg|jpeg)") {
-set req.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/qlow-(\d+)px-.*\.(jpg|jpeg)", "\2") + 
"x/filters:quality(40):sharpen(0.6,0.01,false)/http://127.0.0.1:8080/images/"; + 
regsub(req.url, "^/images/thumb/(.*)/qlow-(\d+)px-.*\.(jpg|jpeg)", "\1");
+set req.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/qlow-(\d+)px-.*\.(jpg|jpeg)", "\2") + 
"x/filters:quality(40):sharpen(0.6,0.01,false)/127.0.0.1/images/" + 
regsub(req.url, "^/images/thumb/(.*)/qlow-(\d+)px-.*\.(jpg|jpeg)", "\1");
 return (hash);
 # regular jpg thumbs
 } else if (req.url ~ "^/images/thumb/(.*)/(\d+)px-.*\.(jpg|jpeg)") {
-set req.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.(jpg|jpeg)", "\2") + 
"x/filters:quality(87):sharpen(0.6,0.01,false)/http://127.0.0.1:8080/images/"; + 
regsub(req.url, "^/images/thumb/(.*)/(\d+)px-.*\.(jpg|jpeg)", "\1");
+set req.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.(jpg|jpeg)", "\2") + 
"x/filters:quality(87):sharpen(0.6,0.01,false)/127.0.0.1/images/" + 
regsub(req.url, "^/images/thumb/(.*)/(\d+)px-.*\.(jpg|jpeg)", "\1");
 return (hash);
 # png thumbs
 } else if (req.url ~ "^/images/thumb/(.*)/(\d+)px-.*\.png") {
-set req.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.png", "\2") + 
"x/http://127.0.0.1:8080/images/"; + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.png", "\1");
+set req.url = "/unsafe/" + regsub(req.url, 
"^/images/thumb/(.*)/(\d+)px-.*\.png", "\2") + "x/127.0.0.1/images/" + 
regsub(req.url, "^/images/thumb/(.*)/(\d+)px-.*\.png", "\1");
 return (hash);
 }
 
diff --git a/puppet/modules/thumbor/manifests/init.pp 
b/puppet/modules/thumbor/manifests/init.pp
index 2a7a29d..bcd90b1 100644
--- a/puppet/modules/thumbor/manifests/init.pp
+++ b/puppet/modules/thumbor/manifests/init.pp
@@ -43,11 +43,13 @@
 virtualenv::environment { $deploy_dir:
 ensure   => present,
 packages => [
-'thumbor',
+'git+git://github.com/thumbor/thumbor.git',
+'git+git://github.com/gi11es/thumbor-memcached.git',
 'cv2',
 'numpy',
 'opencv-engine',
 'raven',
+'pylibmc', # For memcache original file storage
 ],
 require  => [
 Package['libjpeg-progs'],
diff --git a/puppet/modules/thumbor/templates/thumbor.conf.erb 
b/puppet/modules/thumbor/templates/thumbor.conf.erb
index 51affb4..2ab0709 100644
--- a/puppet/modules/thumbor/templates/thumbor.conf.erb
+++ b/puppet/modules/thumbor/templates/thumbor.conf.erb
@@ -138,7 +138,7 @@
 ## The file storage thumbor should use to store original images. This must be 
the
 ## full name of a python module (python must be able to import it)
 ## Defaults to: thumbor.storages.file_storage
-#STORAGE = 'thumbor.storages.file_storage'
+STORAGE = 'thumbor_memcached.storage'
 
 ## The result storage thumbor should use to store generated images. This must 
be
 ## the full name of a python module (python must be able to import it)
@@ -275,7 +275,7 @@
 ## Expiration in seconds for the images in the File Storage. Defaults to one
 ## month
 ## Defaults to: 2592000
-STORAGE_EXPIRATION_SECONDS = 60
+STORAGE_EXPIRATION_SECONDS = 600
 
 ## Indicates whether thumbor should store the signing key for each image in the
 ## file s

[MediaWiki-commits] [Gerrit] Fix undefined variable warning - change (wikimedia...crm)

2015-11-18 Thread Awight (Code Review)
Awight has uploaded a new change for review.

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

Change subject: Fix undefined variable warning
..

Fix undefined variable warning

Was not causing any side effects, happily.

Change-Id: I3afa16334637e1d739b537fe8e74ad964d037dad
---
M sites/all/modules/wmf_campaigns/wmf_campaigns.module
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/73/254073/1

diff --git a/sites/all/modules/wmf_campaigns/wmf_campaigns.module 
b/sites/all/modules/wmf_campaigns/wmf_campaigns.module
index ea2a324..34853f2 100644
--- a/sites/all/modules/wmf_campaigns/wmf_campaigns.module
+++ b/sites/all/modules/wmf_campaigns/wmf_campaigns.module
@@ -217,6 +217,7 @@
 $giftDataGroupId = (int)$result['id'];
 
 if ( (int)$groupId === $giftDataGroupId ) {
+$campaignKey = null;
 foreach ( $params as $index => $values ) {
 if ( $values['column_name'] === 'appeal' ) {
 $contributionId = $values['entity_id'];

-- 
To view, visit https://gerrit.wikimedia.org/r/254073
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3afa16334637e1d739b537fe8e74ad964d037dad
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Namespace configuration on es.wiktionary - change (operations/mediawiki-config)

2015-11-18 Thread Dereckson (Code Review)
Dereckson has uploaded a new change for review.

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

Change subject: Namespace configuration on es.wiktionary
..

Namespace configuration on es.wiktionary

New alias: WN -> NS_PROJECT

Bug: T119006
Change-Id: I8222634069190930ab197d17698b77cb279d45c5
---
M wmf-config/InitialiseSettings.php
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/72/254072/1

diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 21c250f..6b6d715 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -2893,6 +2893,9 @@
'Auxtoro' => 102,
'Auxtoro-Diskuto' => 103,
),
+   '+eswiktionary' => array(
+   'WN' => NS_PROJECT, // T119006
+   ),
'+etwiki' => array(
'Portal' => 100,
'Portal_talk' => 101,

-- 
To view, visit https://gerrit.wikimedia.org/r/254072
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8222634069190930ab197d17698b77cb279d45c5
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Dereckson 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Turn off language detection user test - change (operations/mediawiki-config)

2015-11-18 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

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

Change subject: Turn off language detection user test
..

Turn off language detection user test

Deploy after test has been in production 7 days, so evening
SWAT on Nov 26.

Bug: T118292
Change-Id: I91e69f08e6ba034945f11058d6bd42e1c2212d30
---
M wmf-config/InitialiseSettings.php
1 file changed, 0 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/71/254071/1

diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 8a5adba..21c250f 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -15522,20 +15522,6 @@
 
 'wmgCirrusSearchUserTesting' => array(
'default' => array(
-   // Multiple languages search test. Languages supported: en, es, 
de, pt, zh, ar, ru
-   'multilang-n-lt-3' => array(
-   'sampleRate' => 10,
-   'buckets' => array(
-   // control bucket, retain defaults
-   'a' => array(),
-   // test bucket, try lang detect and append 
results if < 3 results found
-   'b' => array(
-   'wgCirrusSearchEnableAltLanguage' => 
true,
-   'wgCirrusSearchInterwikiProv' => 
'iwsw2',
-   'wgCirrusSearchInterwikiThreshold' => 3,
-   ),
-   ),
-   ),
),
 ),
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254071
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I91e69f08e6ba034945f11058d6bd42e1c2212d30
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: EBernhardson 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Turn on language detection user test - change (operations/mediawiki-config)

2015-11-18 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

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

Change subject: Turn on language detection user test
..

Turn on language detection user test

This test measures the zero result rate and clickthroughs for doing
language detection when the user has < 3 results.

Bug: T118290
Change-Id: Ia25eebace85727d3a7afce1643d51ba7368d4023
---
M wmf-config/InitialiseSettings.php
1 file changed, 14 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/70/254070/1

diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 21c250f..8a5adba 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -15522,6 +15522,20 @@
 
 'wmgCirrusSearchUserTesting' => array(
'default' => array(
+   // Multiple languages search test. Languages supported: en, es, 
de, pt, zh, ar, ru
+   'multilang-n-lt-3' => array(
+   'sampleRate' => 10,
+   'buckets' => array(
+   // control bucket, retain defaults
+   'a' => array(),
+   // test bucket, try lang detect and append 
results if < 3 results found
+   'b' => array(
+   'wgCirrusSearchEnableAltLanguage' => 
true,
+   'wgCirrusSearchInterwikiProv' => 
'iwsw2',
+   'wgCirrusSearchInterwikiThreshold' => 3,
+   ),
+   ),
+   ),
),
 ),
 

-- 
To view, visit https://gerrit.wikimedia.org/r/254070
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia25eebace85727d3a7afce1643d51ba7368d4023
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: EBernhardson 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Upgrade Gradle to v2.9 - change (apps...wikipedia)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Upgrade Gradle to v2.9
..


Upgrade Gradle to v2.9

Upgrade Gradle to v2.9[0] and regenerate the Gradle wrapper files.

[0] https://docs.gradle.org/2.9/release-notes

Change-Id: I242e35970dc4b5d98ddcabae2b9d63e023ca4cd2
---
M gradle/wrapper/gradle-wrapper.jar
M gradle/wrapper/gradle-wrapper.properties
2 files changed, 2 insertions(+), 2 deletions(-)

Approvals:
  BearND: Looks good to me, approved
  Mholloway: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
index 05ef575..9411448 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 02c74ac..bc58788 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Oct 22 10:27:13 MDT 2015
+#Tue Nov 17 21:31:06 MST 2015
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip

-- 
To view, visit https://gerrit.wikimedia.org/r/253828
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I242e35970dc4b5d98ddcabae2b9d63e023ca4cd2
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski 
Gerrit-Reviewer: BearND 
Gerrit-Reviewer: Brion VIBBER 
Gerrit-Reviewer: Dbrant 
Gerrit-Reviewer: Mholloway 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] wikimedia.vcl: set CP ('Connection Properties') cookie in vc... - change (operations/puppet)

2015-11-18 Thread BBlack (Code Review)
BBlack has submitted this change and it was merged.

Change subject: wikimedia.vcl: set CP ('Connection Properties') cookie in 
vcl_deliver
..


wikimedia.vcl: set CP ('Connection Properties') cookie in vcl_deliver

Batching ResourceLoader module requests (that is, loading as many modules as
possible in a single request) is essential for site performance for HTTP 1.x
clients. For SPDY clients, it leads to needless cache invalidation, because
whenever a module is updated, we retrieve a whole bunch of other modules with
it. So, set a CP ('Connection Properties') cookie in vcl_deliver with a value
of 'H2' for SPDY clients (I am looking ahead to HTTP 2.0 replacing SPDY).
The format of the cookie will be !-separated fields, like the current CN
(CentralNotice) cookie.

Needs bblack's review, since I think I may have promised him at one point or
another not to do this.

Untested.

Change-Id: I669cf5fb5116158c5c05cf029934bddab5e2847a
---
M modules/varnish/templates/vcl/wikimedia.vcl.erb
1 file changed, 14 insertions(+), 0 deletions(-)

Approvals:
  BBlack: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/varnish/templates/vcl/wikimedia.vcl.erb 
b/modules/varnish/templates/vcl/wikimedia.vcl.erb
index a386793..452c768 100644
--- a/modules/varnish/templates/vcl/wikimedia.vcl.erb
+++ b/modules/varnish/templates/vcl/wikimedia.vcl.erb
@@ -661,6 +661,20 @@
 <% if @vcl_config.fetch("layer", "") == "frontend" -%>
std.collect(resp.http.Via);
std.collect(resp.http.X-Varnish);
+
+   // Set CP ('Connection Properties') cookie
+   if (req.http.X-Connection-Properties ~ "SPDY=3") {
+   if (req.http.X-Orig-Cookie !~ "(^|;\s*)CP=H2" && 
req.http.Cookie !~ "(^|;\s*)CP=H2") {
+   header.append(resp.http.Set-Cookie, "CP=H2; Path=/");
+   }
+   } else {
+   // Explicitly unset the cookie if it exists. Support for SPDY 
in a browser session can
+   // flip if a device moves networks and thus behind a proxy.
+   if (req.http.X-Orig-Cookie ~ "(^|;\s*)CP=H2" || req.http.Cookie 
~ "(^|;\s*)CP=H2") {
+   header.append(resp.http.Set-Cookie, "CP=H1; 
Expires=Thu, 01-Jan-1970 00:00:01 GMT; Path=/");
+   }
+   }
+
 <% end -%>
 
if (resp.http.X-Cache) {

-- 
To view, visit https://gerrit.wikimedia.org/r/253645
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I669cf5fb5116158c5c05cf029934bddab5e2847a
Gerrit-PatchSet: 5
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh 
Gerrit-Reviewer: BBlack 
Gerrit-Reviewer: Ori.livneh 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Update graphoid to 380ee86 - change (mediawiki...deploy)

2015-11-18 Thread Yurik (Code Review)
Yurik has uploaded a new change for review.

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

Change subject: Update graphoid to 380ee86
..

Update graphoid to 380ee86

List of changes:
380ee86 Introduced support for "version" value

Change-Id: Id5456bb6e852ebacda620f8c5de5da8f7c941df6
---
M src
1 file changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/graphoid/deploy 
refs/changes/69/254069/1

diff --git a/src b/src
index 45ee9ee..380ee86 16
--- a/src
+++ b/src
-Subproject commit 45ee9ee12d302e960bdfa3471c4ecbcd9cd59103
+Subproject commit 380ee86581c06964010146e95e9a5caa3611e719

-- 
To view, visit https://gerrit.wikimedia.org/r/254069
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id5456bb6e852ebacda620f8c5de5da8f7c941df6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/graphoid/deploy
Gerrit-Branch: master
Gerrit-Owner: Yurik 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Update graphoid to 380ee86 - change (mediawiki...deploy)

2015-11-18 Thread Yurik (Code Review)
Yurik has submitted this change and it was merged.

Change subject: Update graphoid to 380ee86
..


Update graphoid to 380ee86

List of changes:
380ee86 Introduced support for "version" value

Change-Id: Id5456bb6e852ebacda620f8c5de5da8f7c941df6
---
M src
1 file changed, 0 insertions(+), 0 deletions(-)

Approvals:
  Yurik: Verified; Looks good to me, approved



diff --git a/src b/src
index 45ee9ee..380ee86 16
--- a/src
+++ b/src
-Subproject commit 45ee9ee12d302e960bdfa3471c4ecbcd9cd59103
+Subproject commit 380ee86581c06964010146e95e9a5caa3611e719

-- 
To view, visit https://gerrit.wikimedia.org/r/254069
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id5456bb6e852ebacda620f8c5de5da8f7c941df6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/graphoid/deploy
Gerrit-Branch: master
Gerrit-Owner: Yurik 
Gerrit-Reviewer: Yurik 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add aggregate by user report - change (analytics/wikimetrics)

2015-11-18 Thread Mforns (Code Review)
Mforns has uploaded a new change for review.

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

Change subject: Add aggregate by user report
..

Add aggregate by user report

Bug: T117287
Change-Id: I5f4954ab821d0579528fcfecea6270e298353889
---
A tests/test_models/test_aggregate_by_user_report.py
M wikimetrics/models/report_nodes/__init__.py
A wikimetrics/models/report_nodes/aggregate_by_user_report.py
3 files changed, 97 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/68/254068/1

diff --git a/tests/test_models/test_aggregate_by_user_report.py 
b/tests/test_models/test_aggregate_by_user_report.py
new file mode 100644
index 000..ce4cbfc
--- /dev/null
+++ b/tests/test_models/test_aggregate_by_user_report.py
@@ -0,0 +1,50 @@
+from nose.tools import assert_equals
+from wikimetrics.metrics import metric_classes
+from wikimetrics.models import AggregateByUserReport
+from ..fixtures import DatabaseTest
+
+
+class AggregateByUserReportWithoutQueueTest(DatabaseTest):
+def setUp(self):
+DatabaseTest.setUp(self)
+self.common_cohort_1()
+
+def test_finish_positive(self):
+metric = metric_classes['RollingActiveEditor'](
+name='RollingActiveEditor',
+number_of_edits=5,
+rolling_days=30,
+end_date='2015-01-01 00:00:00',
+)
+report = AggregateByUserReport(self.cohort, metric)
+finished = report.finish([
+{
+'1|enwiki|12': {'rolling_active_editor': 0},
+'1|dewiki|12': {'rolling_active_editor': 1},
+'1|frwiki|12': {'rolling_active_editor': 0},
+'2|ptwiki|12': {'rolling_active_editor': 1},
+}
+])
+assert_equals(len(finished), 2)
+assert_equals(finished['1|_all_|12']['rolling_active_editor'], 1)
+assert_equals(finished['2|_all_|12']['rolling_active_editor'], 1)
+
+def test_finish_negative(self):
+metric = metric_classes['RollingActiveEditor'](
+name='RollingActiveEditor',
+number_of_edits=5,
+rolling_days=30,
+end_date='2015-01-01 00:00:00',
+)
+report = AggregateByUserReport(self.cohort, metric)
+finished = report.finish([
+{
+'1|enwiki|12': {'rolling_active_editor': 0},
+'1|dewiki|12': {'rolling_active_editor': 0},
+'1|frwiki|12': {'rolling_active_editor': 0},
+'2|ptwiki|12': {'rolling_active_editor': 0},
+}
+])
+assert_equals(len(finished), 2)
+assert_equals(finished['1|_all_|12']['rolling_active_editor'], 0)
+assert_equals(finished['2|_all_|12']['rolling_active_editor'], 0)
diff --git a/wikimetrics/models/report_nodes/__init__.py 
b/wikimetrics/models/report_nodes/__init__.py
index f93c230..8ad21ed 100644
--- a/wikimetrics/models/report_nodes/__init__.py
+++ b/wikimetrics/models/report_nodes/__init__.py
@@ -1,6 +1,7 @@
 from aggregate_report import *
 from metric_report import *
 from multi_project_metric_report import *
+from aggregate_by_user_report import *
 from report import *
 from run_report import *
 
diff --git a/wikimetrics/models/report_nodes/aggregate_by_user_report.py 
b/wikimetrics/models/report_nodes/aggregate_by_user_report.py
new file mode 100644
index 000..0c51f14
--- /dev/null
+++ b/wikimetrics/models/report_nodes/aggregate_by_user_report.py
@@ -0,0 +1,46 @@
+from report import ReportNode
+from multi_project_metric_report import MultiProjectMetricReport
+from wikimetrics.models.storage.wikiuser import WikiUserKey
+
+
+__all__ = ['AggregateByUserReport']
+
+ALL_PROJECTS = '_all_'
+
+
+class AggregateByUserReport(ReportNode):
+"""
+A node responsible for aggregating the results of MultiProjectMetricReport
+by user, and formatting them as expected by RunGlobalReport. It knows
+specifically how to aggregate the 3 active editor metrics run by the 
latter.
+"""
+show_in_ui = False
+
+def __init__(self, cohort, metric, *args, **kwargs):
+"""
+Parameters:
+metric  : an instance of a Metric class
+cohort  : a logical cohort object
+args: should include any parameters needed by ReportNode
+kwargs  : should include any parameters needed by ReportNode
+"""
+super(AggregateByUserReport, self).__init__(*args, **kwargs)
+self.children = [
+MultiProjectMetricReport(cohort, metric, *args, **kwargs)
+]
+
+def finish(self, child_results):
+results = child_results[0]  # one child only
+# The way of aggregating results accross different projects
+# is applying the OR operator. Read more in the Wikitech docs:
+# 
https://wikitech.wikimedia.org/wiki/Analytics/Wikimetrics/Global_metrics
+ 

[MediaWiki-commits] [Gerrit] Introduced support for "version" value - change (mediawiki...graphoid)

2015-11-18 Thread Yurik (Code Review)
Yurik has submitted this change and it was merged.

Change subject: Introduced support for "version" value
..


Introduced support for "version" value

Removed the previous 'vegaN' approach
Now simply checks for an integer version value
inside the graph spec

Change-Id: I8ac1a71532f7400596eb67a0f044560bc9571a43
---
M lib/vega.js
1 file changed, 10 insertions(+), 15 deletions(-)

Approvals:
  Yurik: Verified; Looks good to me, approved



diff --git a/lib/vega.js b/lib/vega.js
index 199c918..7fcdcad 100644
--- a/lib/vega.js
+++ b/lib/vega.js
@@ -1,5 +1,6 @@
 'use strict';
 
+var _ = require('underscore');
 var BBPromise = require('bluebird');
 var urllib = require('url');
 var vega1x = require('vega-1x');
@@ -182,22 +183,16 @@
 if (typeof spec === 'string') {
 spec = JSON.parse(spec);
 }
-// if spec is a {type:'vega1', spec:{...}}, unpack it
-if (Object.keys(spec).length === 2 && 'type' in spec && 'spec' in 
spec) {
-var type = spec.type;
-spec = spec.spec;
-switch (type) {
+// the spec may contain vega version
+if (_.has(spec, 'version')) {
+switch (spec.version) {
+case 0:
+case 1:
+case 2:
+version = spec.version;
+break;
 default:
-throw new Error('Invalid graph type');
-case 'vega0':
-version = 0;
-break;
-case 'vega1':
-version = 1;
-break;
-case 'vega2':
-version = 2;
-break;
+throw new Error('Invalid vega version');
 }
 }
 });

-- 
To view, visit https://gerrit.wikimedia.org/r/254067
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8ac1a71532f7400596eb67a0f044560bc9571a43
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/graphoid
Gerrit-Branch: master
Gerrit-Owner: Yurik 
Gerrit-Reviewer: Yurik 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Introduced support for "version" value - change (mediawiki...graphoid)

2015-11-18 Thread Yurik (Code Review)
Yurik has uploaded a new change for review.

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

Change subject: Introduced support for "version" value
..

Introduced support for "version" value

Removed the previous 'vegaN' approach
Now simply checks for an integer version value
inside the graph spec

Change-Id: I8ac1a71532f7400596eb67a0f044560bc9571a43
---
M lib/vega.js
1 file changed, 10 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/graphoid 
refs/changes/67/254067/1

diff --git a/lib/vega.js b/lib/vega.js
index 199c918..7fcdcad 100644
--- a/lib/vega.js
+++ b/lib/vega.js
@@ -1,5 +1,6 @@
 'use strict';
 
+var _ = require('underscore');
 var BBPromise = require('bluebird');
 var urllib = require('url');
 var vega1x = require('vega-1x');
@@ -182,22 +183,16 @@
 if (typeof spec === 'string') {
 spec = JSON.parse(spec);
 }
-// if spec is a {type:'vega1', spec:{...}}, unpack it
-if (Object.keys(spec).length === 2 && 'type' in spec && 'spec' in 
spec) {
-var type = spec.type;
-spec = spec.spec;
-switch (type) {
+// the spec may contain vega version
+if (_.has(spec, 'version')) {
+switch (spec.version) {
+case 0:
+case 1:
+case 2:
+version = spec.version;
+break;
 default:
-throw new Error('Invalid graph type');
-case 'vega0':
-version = 0;
-break;
-case 'vega1':
-version = 1;
-break;
-case 'vega2':
-version = 2;
-break;
+throw new Error('Invalid vega version');
 }
 }
 });

-- 
To view, visit https://gerrit.wikimedia.org/r/254067
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8ac1a71532f7400596eb67a0f044560bc9571a43
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/graphoid
Gerrit-Branch: master
Gerrit-Owner: Yurik 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Initial commit - change (thumbor/exif-optimizer)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Initial commit
..


Initial commit

This thumbor optimizer provides the ability to filter exif fields, only to
leave the ones defined in the thumbor config. It also provides the ability
to swap an ICC profile for another (which we'll use to swap sRGB for
TinyRGB). It relies on exiftool.

Bug: T111722
Bug: T118480
Change-Id: Icd25678ea1e294b4f7ed9e519b6508832f5b3fd0
---
A LICENSE
A requirements.txt
A setup.py
A tox.ini
A wikimedia_thumbor_exif_optimizer/__init__.py
5 files changed, 163 insertions(+), 0 deletions(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000..133846d
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Gilles Dubuc, Wikimedia Foundation
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 000..ef29d7d
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1 @@
+thumbor
diff --git a/setup.py b/setup.py
new file mode 100644
index 000..adfac16
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+
+from setuptools import setup, find_packages
+
+
+setup(
+name='wikimedia_thumbor_exif_optimizer',
+version='0.1.1',
+url='https://github.com/wikimedia/thumbor-exif-optimizer',
+license='MIT',
+author='Gilles Dubuc, Wikimedia Foundation',
+description='Thumbor optimizer processing EXIF',
+packages=find_packages(),
+include_package_data=True,
+zip_safe=False,
+platforms='any',
+install_requires=[
+'thumbor',
+],
+extras_require={
+'tests': [
+'pyvows',
+'coverage',
+],
+},
+classifiers=[
+'Development Status :: 4 - Beta',
+'Intended Audience :: Developers',
+'License :: OSI Approved :: MIT License',
+'Operating System :: OS Independent',
+'Programming Language :: Python',
+'Topic :: Software Development :: Libraries :: Python Modules'
+]
+)
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 000..9e359d2
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,12 @@
+[tox]
+minversion = 1.6
+skipsdist = True
+envlist = flake8
+
+[testenv]
+setenv = VIRTUAL_ENV={envdir}
+deps = -r{toxinidir}/requirements.txt
+
+[testenv:flake8]
+commands = flake8 {posargs}
+deps = flake8
diff --git a/wikimedia_thumbor_exif_optimizer/__init__.py 
b/wikimedia_thumbor_exif_optimizer/__init__.py
new file mode 100644
index 000..eaabb1e
--- /dev/null
+++ b/wikimedia_thumbor_exif_optimizer/__init__.py
@@ -0,0 +1,94 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# thumbor imaging service
+# https://github.com/thumbor/thumbor/wiki
+
+# Licensed under the MIT license:
+# http://www.opensource.org/licenses/mit-license
+# Copyright (c) 2011 globo.com timeh...@corp.globo.com
+# Copyright (c) 2015 Wikimedia Foundation
+
+# EXIF optimizer, aims to reduce thumbnail weight as much as possible
+# while retaining some critical metadata
+
+import os
+import subprocess
+
+from thumbor.optimizers import BaseOptimizer
+from thumbor.utils import logger
+
+
+class Optimizer(BaseOptimizer):
+def __init__(self, context):
+super(Optimizer, self).__init__(context)
+
+self.runnable = True
+self.exiftool_path = self.context.config.EXIFTOOL_PATH
+self.exif_fields_to_keep = self.context.config.EXIF_FIELDS_TO_KEEP
+self.tinyrgb_path = self.context.config.EXIF_TINYRGB_PATH
+self.tinyrgb_icc_replace = self.context.config.EXIF_TINYRGB_ICC_REPLACE
+
+if not (os.path.isfile(self.exiftool_path)
+and os.access(self.exiftool_path, os.X_OK)):
+logger.error(
+"ERROR exiftool path '{0}' is not accessible"
+.format(self.exiftool_path)
+)
+ 

[MediaWiki-commits] [Gerrit] [WIP] Adding test schema to test json->avro publishing - change (analytics...source)

2015-11-18 Thread Nuria (Code Review)
Nuria has uploaded a new change for review.

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

Change subject: [WIP] Adding test schema to test json->avro publishing
..

[WIP] Adding test schema to test json->avro publishing

Change-Id: I5c4a7f6f6ed3f3825316d567cc8b816126bd507c
---
A refinery-camus/src/main/avro/testJsonToAvro.avsc
M 
refinery-camus/src/main/java/org/wikimedia/analytics/refinery/camus/schemaregistry/KafkaTopicSchemaRegistry.java
2 files changed, 16 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/refinery/source 
refs/changes/66/254066/1

diff --git a/refinery-camus/src/main/avro/testJsonToAvro.avsc 
b/refinery-camus/src/main/avro/testJsonToAvro.avsc
new file mode 100644
index 000..ca3212c
--- /dev/null
+++ b/refinery-camus/src/main/avro/testJsonToAvro.avsc
@@ -0,0 +1,10 @@
+{
+"type": "record",
+ "namespace": "org.wikimedia.analytics.schemas",
+"name": "testJsonToAvro",
+"fields": [
+{"name": "userName","type": "string", "default":""},
+{"name": "favouriteNumber", "type": "int", "default":1},
+{"name": "interests",   "type": {"type": "array", "items": 
"string"}, "default":[]}
+]
+}
diff --git 
a/refinery-camus/src/main/java/org/wikimedia/analytics/refinery/camus/schemaregistry/KafkaTopicSchemaRegistry.java
 
b/refinery-camus/src/main/java/org/wikimedia/analytics/refinery/camus/schemaregistry/KafkaTopicSchemaRegistry.java
index 0cc802a..72e33e9 100644
--- 
a/refinery-camus/src/main/java/org/wikimedia/analytics/refinery/camus/schemaregistry/KafkaTopicSchemaRegistry.java
+++ 
b/refinery-camus/src/main/java/org/wikimedia/analytics/refinery/camus/schemaregistry/KafkaTopicSchemaRegistry.java
@@ -34,7 +34,12 @@
 Integer pos = topicName.indexOf('_');
 schemaName = topicName.substring(pos + 1);
 }
-return schemaName;
+//harcode to test schema
+if (topicName.equals("test")) {
+return "testJsonToAvro";
+} else {
+ return schemaName;
+}
 }
 
 public String getSchemaCanonicalName(String schemaName) {

-- 
To view, visit https://gerrit.wikimedia.org/r/254066
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5c4a7f6f6ed3f3825316d567cc8b816126bd507c
Gerrit-PatchSet: 1
Gerrit-Project: analytics/refinery/source
Gerrit-Branch: master
Gerrit-Owner: Nuria 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Drop magic escaping logic from OutputFormatValueFormatterFac... - change (mediawiki...Wikibase)

2015-11-18 Thread Daniel Kinzler (Code Review)
Daniel Kinzler has uploaded a new change for review.

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

Change subject: Drop magic escaping logic from 
OutputFormatValueFormatterFactory.
..

Drop magic escaping logic from OutputFormatValueFormatterFactory.

Factory callbacks defined via DataTypeDefinitions are now required
directly to provide formatters for all output formats. This allows
us to drop some rather convoluted magic for escaping from the
factory. Magic that would have to be repeated in 
OutputFormatSnakFormatterFactory
in order to allow it to also use factory callbacks from DataTypeDefinitions.

Change-Id: I04e6db7524f0903c5d088adec5a0163fd35b3d69
---
M client/WikibaseClient.datatypes.php
M lib/includes/formatters/OutputFormatValueFormatterFactory.php
M lib/includes/formatters/WikibaseValueFormatterBuilders.php
M lib/tests/phpunit/formatters/OutputFormatValueFormatterFactoryTest.php
M lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
M repo/WikibaseRepo.datatypes.php
6 files changed, 186 insertions(+), 266 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/64/254064/1

diff --git a/client/WikibaseClient.datatypes.php 
b/client/WikibaseClient.datatypes.php
index e62c5ea..6ffc5c3 100644
--- a/client/WikibaseClient.datatypes.php
+++ b/client/WikibaseClient.datatypes.php
@@ -58,9 +58,7 @@
},
),
'string' => array(
-   'formatter-factory-callback' => function( $format, 
FormatterOptions $options ) {
-   return null; // rely on formatter for string 
value type
-   },
+   //'formatter-factory-callback' => // rely on formatter 
for string value type
),
'time' => array(
'formatter-factory-callback' => function( $format, 
FormatterOptions $options ) {
diff --git a/lib/includes/formatters/OutputFormatValueFormatterFactory.php 
b/lib/includes/formatters/OutputFormatValueFormatterFactory.php
index 48d7dd8..d14c1d2 100644
--- a/lib/includes/formatters/OutputFormatValueFormatterFactory.php
+++ b/lib/includes/formatters/OutputFormatValueFormatterFactory.php
@@ -138,163 +138,9 @@
public function getValueFormatter( $format, FormatterOptions $options ) 
{
$this->applyLanguageDefaults( $options );
 
-   switch ( $format ) {
-   case SnakFormatter::FORMAT_PLAIN:
-   $formatters = $this->getPlainTextFormatters( 
$options );
-   break;
-   case SnakFormatter::FORMAT_WIKI:
-   $formatters = $this->getWikiTextFormatters( 
$options );
-   break;
-   case SnakFormatter::FORMAT_HTML:
-   $formatters = $this->getHtmlFormatters( 
$options );
-   break;
-   case SnakFormatter::FORMAT_HTML_WIDGET:
-   $formatters = $this->getWidgetFormatters( 
$options );
-   break;
-   case SnakFormatter::FORMAT_HTML_DIFF:
-   $formatters = $this->getDiffFormatters( 
$options );
-   break;
-   default:
-   throw new InvalidArgumentException( 
'Unsupported format: ' . $format );
-   }
+   $formatters = $this->buildDefinedFormatters( $format, $options 
);
 
return new DispatchingValueFormatter( $formatters );
-   }
-
-   /**
-* Returns a full set of formatters for generating plain text output.
-*
-* @param FormatterOptions $options
-* @param string[] $skip A list of types to be skipped. Useful when the 
caller already has
-*formatters for some types.
-*
-* @return ValueFormatter[] A map from prefixed type IDs to 
ValueFormatter instances.
-*/
-   private function getPlainTextFormatters( FormatterOptions $options, 
array $skip = array() ) {
-   return $this->buildDefinedFormatters(
-   SnakFormatter::FORMAT_PLAIN,
-   $options,
-   $skip
-   );
-   }
-
-   /**
-* Returns a full set of formatters for generating wikitext output.
-* If there are formatters defined for plain text that are not defined 
for wikitext,
-* the plain text formatters are used with the appropriate escaping 
applied.
-*
-* @param FormatterOptions $options
-* @param string[] $skip A list of types to be skipped. Useful when the 
caller already has
-*formatters for some types.
-*
-* @return ValueFormatter[] A 

[MediaWiki-commits] [Gerrit] Bump portals - change (operations/mediawiki-config)

2015-11-18 Thread MaxSem (Code Review)
MaxSem has uploaded a new change for review.

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

Change subject: Bump portals
..

Bump portals

Change-Id: Iaa54694aee87bfd1e5235dfc30d960943d92e58f
---
M portals
1 file changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config 
refs/changes/65/254065/1

diff --git a/portals b/portals
index da510f5..fc041b8 16
--- a/portals
+++ b/portals
-Subproject commit da510f590f2fa7047df710d8af608f972ca2838e
+Subproject commit fc041b88d742751a9ef011de66d01d083f3ae899

-- 
To view, visit https://gerrit.wikimedia.org/r/254065
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaa54694aee87bfd1e5235dfc30d960943d92e58f
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: MaxSem 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add .gitreview - change (mediawiki...EventBus)

2015-11-18 Thread Ori.livneh (Code Review)
Ori.livneh has submitted this change and it was merged.

Change subject: Add .gitreview
..


Add .gitreview

Change-Id: Ic15e0d22ef5913d2a232bd857d7512b56efdf9b1
---
A .gitreview
1 file changed, 6 insertions(+), 0 deletions(-)

Approvals:
  Ori.livneh: Verified; Looks good to me, approved



diff --git a/.gitreview b/.gitreview
new file mode 100644
index 000..6e8864a
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,6 @@
+[gerrit]
+host=gerrit.wikimedia.org
+port=29418
+project=mediawiki/extensions/EventBus.git
+defaultbranch=master
+defaultrebase=0

-- 
To view, visit https://gerrit.wikimedia.org/r/254063
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic15e0d22ef5913d2a232bd857d7512b56efdf9b1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventBus
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh 
Gerrit-Reviewer: Ori.livneh 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Add .gitreview - change (mediawiki...EventBus)

2015-11-18 Thread Ori.livneh (Code Review)
Ori.livneh has uploaded a new change for review.

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

Change subject: Add .gitreview
..

Add .gitreview

Change-Id: Ic15e0d22ef5913d2a232bd857d7512b56efdf9b1
---
A .gitreview
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/EventBus 
refs/changes/63/254063/1

diff --git a/.gitreview b/.gitreview
new file mode 100644
index 000..6e8864a
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,6 @@
+[gerrit]
+host=gerrit.wikimedia.org
+port=29418
+project=mediawiki/extensions/EventBus.git
+defaultbranch=master
+defaultrebase=0

-- 
To view, visit https://gerrit.wikimedia.org/r/254063
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic15e0d22ef5913d2a232bd857d7512b56efdf9b1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventBus
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Have Flow depend on Varnish - change (mediawiki/vagrant)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Have Flow depend on Varnish
..


Have Flow depend on Varnish

This should help us stay aware of potentially caching-dependent
issues, such as T116095.

For consistent use of Varnish, always access 127.0.0.1:6081
instead of 127.0.0.1:8080.  Due to T118605 , you currently
still need to do:

vagrant enable-role varnish

Otherwise port forwarding will not be set up.

However, this will hopefully at least make people think about it.

Also, clarify varnish role docs.

Bug: T116095
Change-Id: I3dbe6800b7d7d0309c05f0fa8525c1d17ad0f0bf
---
M puppet/modules/role/manifests/flow.pp
M puppet/modules/role/manifests/varnish.pp
2 files changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Sbisson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/puppet/modules/role/manifests/flow.pp 
b/puppet/modules/role/manifests/flow.pp
index 8c4d225..1a8acfb 100644
--- a/puppet/modules/role/manifests/flow.pp
+++ b/puppet/modules/role/manifests/flow.pp
@@ -5,6 +5,7 @@
 include ::role::parsoid
 include ::role::echo
 include ::role::betafeatures
+include ::role::varnish
 
 mediawiki::extension { 'Flow':
 needs_update  => true,
diff --git a/puppet/modules/role/manifests/varnish.pp 
b/puppet/modules/role/manifests/varnish.pp
index 5c1eb8b..c5e4ea9 100644
--- a/puppet/modules/role/manifests/varnish.pp
+++ b/puppet/modules/role/manifests/varnish.pp
@@ -1,7 +1,7 @@
 # == Class: role::varnish
 #
 # Installs a Varnish instance
-#
+# To go through Varnish, use 127.0.0.1:6081 instead of 127.0.0.1:8080.
 class role::varnish {
 include ::varnish
 
@@ -12,4 +12,3 @@
 }
 }
 }
-

-- 
To view, visit https://gerrit.wikimedia.org/r/253955
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I3dbe6800b7d7d0309c05f0fa8525c1d17ad0f0bf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Mattflaschen 
Gerrit-Reviewer: BryanDavis 
Gerrit-Reviewer: Dduvall 
Gerrit-Reviewer: Sbisson 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Record if language detection occured in UserTesting logs - change (mediawiki...CirrusSearch)

2015-11-18 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

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

Change subject: Record if language detection occured in UserTesting logs
..

Record if language detection occured in UserTesting logs

Additionally adds the Accept-Language header to facilitate some
other analysis.

Bug: T118577
Change-Id: Ia52b5ffeb2e804771366ea75ccdedd3781d132fc
---
M includes/CirrusSearch.php
M includes/ElasticsearchIntermediary.php
2 files changed, 18 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch 
refs/changes/62/254062/1

diff --git a/includes/CirrusSearch.php b/includes/CirrusSearch.php
index 5ef82dc..93685ac 100644
--- a/includes/CirrusSearch.php
+++ b/includes/CirrusSearch.php
@@ -156,7 +156,9 @@
return $rewrittenResult;
}
}
-
+   Searcher::appendLastLogContext( array(
+   'langdetect' => true,
+   ) );
$altWiki = $this->hasSecondaryLanguage( $term );
if ( $altWiki ) {
try {
diff --git a/includes/ElasticsearchIntermediary.php 
b/includes/ElasticsearchIntermediary.php
index 72b79d5..12c0f8a 100644
--- a/includes/ElasticsearchIntermediary.php
+++ b/includes/ElasticsearchIntermediary.php
@@ -194,7 +194,11 @@
return;
}
$queries = array();
-   $parameters = array( 'index' => array(), 'queryType' => array() 
);
+   $parameters = array(
+   'index' => array(),
+   'queryType' => array(),
+   'acceptLang' => $GLOBALS['wgRequest']->getHeader( 
'Accept-Language' ),
+   );
$elasticTook = 0;
$hits = 0;
foreach ( self::$logContexts as $context ) {
@@ -210,6 +214,9 @@
}
if ( isset( $context['queryType'] ) ) {
$parameters['queryType'][] = 
$context['queryType'];
+   }
+   if ( isset( $context['langdetect' ] ) && 
$context['langdetect'] ) {
+   $parameters['langdetect'] = true;
}
}
 
@@ -494,6 +501,13 @@
return $params;
}
 
+   static public function appendLastLogContext( array $values ) {
+   $idx = count( self::$logContexts ) - 1;
+   if ( $idx >= 0 ) {
+   self::$logContexts[$idx] += $values;
+   }
+   }
+
/**
 * @return string The context the request is in. Either cli, api or web.
 */

-- 
To view, visit https://gerrit.wikimedia.org/r/254062
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia52b5ffeb2e804771366ea75ccdedd3781d132fc
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: EBernhardson 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Try interwiki search if we have less that N (default 3) results - change (mediawiki...CirrusSearch)

2015-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Try interwiki search if we have less that N (default 3) results
..


Try interwiki search if we have less that N (default 3) results

Bug: T118286
Change-Id: I87748776bd50872ccbda7a10ace9bf8d8c13376c
---
M CirrusSearch.php
M includes/CirrusSearch.php
M includes/Search/ResultSet.php
3 files changed, 24 insertions(+), 11 deletions(-)

Approvals:
  EBernhardson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/CirrusSearch.php b/CirrusSearch.php
index 02a87cf..81197e2 100644
--- a/CirrusSearch.php
+++ b/CirrusSearch.php
@@ -806,6 +806,11 @@
  */
 $wgCirrusSearchRescoreProfile = $wgCirrusSearchRescoreProfiles['default'];
 
+/**
+ * If current wiki has less than this number of results, try to search other 
language wikis.
+ */
+$wgCirrusSearchInterwikiThreshold = 3;
+
 $includes = __DIR__ . "/includes/";
 $apiDir = $includes . 'Api/';
 $buildDocument = $includes . 'BuildDocument/';
diff --git a/includes/CirrusSearch.php b/includes/CirrusSearch.php
index d275b3b..e083e77 100644
--- a/includes/CirrusSearch.php
+++ b/includes/CirrusSearch.php
@@ -95,7 +95,8 @@
return $matches;
}
 
-   if ( $this->isFeatureEnabled( 'rewrite' ) && 
$matches->isQueryRewriteAllowed() ) {
+   if ( $this->isFeatureEnabled( 'rewrite' ) &&
+   $matches->isQueryRewriteAllowed( 
$GLOBALS['wgCirrusSearchInterwikiThreshold'] ) ) {
$matches = $this->searchTextSecondTry( $term, $matches 
);
}
return $matches;
@@ -140,11 +141,11 @@
return isset( $this->features[$feature] ) && 
$this->features[$feature];
}
 
-   private function searchTextSecondTry( $term, ResultSet $zeroResult ) {
+   private function searchTextSecondTry( $term, ResultSet $oldResult ) {
// TODO: figure out who goes first - language or suggestion?
-   if ( $zeroResult->hasSuggestion() ) {
-   $rewritten = $zeroResult->getSuggestionQuery();
-   $rewrittenSnippet = $zeroResult->getSuggestionSnippet();
+   if ( $oldResult->numRows() == 0 && $oldResult->hasSuggestion() 
) {
+   $rewritten = $oldResult->getSuggestionQuery();
+   $rewrittenSnippet = $oldResult->getSuggestionSnippet();
$this->showSuggestion = false;
$rewrittenResult = $this->searchTextReal( $rewritten );
if (
@@ -152,7 +153,12 @@
&& $rewrittenResult->numRows() > 0
) {
$rewrittenResult->setRewrittenQuery( 
$rewritten, $rewrittenSnippet );
-   return $rewrittenResult;
+   if ( $rewrittenResult->numRows() < 
$GLOBALS['wgCirrusSearchInterwikiThreshold'] ) {
+   // replace the result but still try the 
alt language
+   $oldResult = $rewrittenResult;
+   } else {
+   return $rewrittenResult;
+   }
}
}
 
@@ -167,13 +173,13 @@
if ( $config ) {
$matches = $this->searchTextReal( $term, 
$config );
if( $matches instanceof ResultSet && 
$matches->numRows() > 0 ) {
-   $zeroResult->addInterwikiResults( 
$matches, SearchResultSet::INLINE_RESULTS, $altWiki[1] );
+   $oldResult->addInterwikiResults( 
$matches, SearchResultSet::INLINE_RESULTS, $altWiki[1] );
}
}
}
 
// Don't have any other options yet.
-   return $zeroResult;
+   return $oldResult;
}
 
/**
diff --git a/includes/Search/ResultSet.php b/includes/Search/ResultSet.php
index 0c0ab64..58cc2a7 100644
--- a/includes/Search/ResultSet.php
+++ b/includes/Search/ResultSet.php
@@ -60,14 +60,16 @@
}
 
/**
+* Is rewriting this query OK?
+* @param int $threshold Minimum number of results to reach before 
rewriting is not allowed.
 * @return bool True when rewriting this query is allowed
 */
-   public function isQueryRewriteAllowed() {
-   if ( $this->numRows() > 0 || $this->searchContainedSyntax() ) {
+   public function isQueryRewriteAllowed( $threshold = 1 ) {
+   if ( $this->numRows() >= $threshold || 
$this->searchContainedSyntax() ) {
return false;
}
foreach ( $this->getInterwikiResults( 
SearchResultS

  1   2   3   4   >