[MediaWiki-commits] [Gerrit] mediawiki...DonationInterface[master]: Fix merchant order ID on order reference

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Fix merchant order ID on order reference
..


Fix merchant order ID on order reference

We were calling setOrderReferenceDetails with the wrong argument,
so we didn't associate a merchant order ID with the txn until we
attempted authorization.

Bug: T147973
Change-Id: I51ef1c326591cefccde8f95cb4fa20b25ae3ae7b
---
M amazon_gateway/amazon.adapter.php
M tests/phpunit/Adapter/Amazon/AmazonTest.php
2 files changed, 2 insertions(+), 2 deletions(-)

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



diff --git a/amazon_gateway/amazon.adapter.php 
b/amazon_gateway/amazon.adapter.php
index 13ccdc1..5608f08 100644
--- a/amazon_gateway/amazon.adapter.php
+++ b/amazon_gateway/amazon.adapter.php
@@ -298,7 +298,7 @@
'amount' => $this->getData_Staged( 'amount' ),
'currency_code' => $this->getData_Staged( 
'currency_code' ),
'seller_note' => WmfFramework::formatMessage( 
'donate_interface-donation-description' ),
-   'seller_order_reference_id' => $this->getData_Staged( 
'order_id' ),
+   'seller_order_id' => $this->getData_Staged( 'order_id' 
),
) );
$orderRefs = WmfFramework::getSessionValue( 'order_refs' );
$orderRefs[$orderReferenceId] = true;
diff --git a/tests/phpunit/Adapter/Amazon/AmazonTest.php 
b/tests/phpunit/Adapter/Amazon/AmazonTest.php
index 19cfcb4..8284d51 100644
--- a/tests/phpunit/Adapter/Amazon/AmazonTest.php
+++ b/tests/phpunit/Adapter/Amazon/AmazonTest.php
@@ -146,7 +146,7 @@
$mockClient = TestingAmazonAdapter::$mockClient;
$setOrderReferenceDetailsArgs = 
$mockClient->calls['setOrderReferenceDetails'][0];
$oid = $gateway->getData_Unstaged_Escaped( 'order_id' );
-   $this->assertEquals( $oid, 
$setOrderReferenceDetailsArgs['seller_order_reference_id'], 'Did not set order 
id on order reference' );
+   $this->assertEquals( $oid, 
$setOrderReferenceDetailsArgs['seller_order_id'], 'Did not set order id on 
order reference' );
$this->assertEquals( $init['amount'], 
$setOrderReferenceDetailsArgs['amount'], 'Did not set amount on order 
reference' );
$this->assertEquals( $init['currency_code'], 
$setOrderReferenceDetailsArgs['currency_code'], 'Did not set currency code on 
order reference' );
$queued = $gateway->queue_messages;

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I51ef1c326591cefccde8f95cb4fa20b25ae3ae7b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Ejegg 
Gerrit-Reviewer: AndyRussG 
Gerrit-Reviewer: Awight 
Gerrit-Reviewer: Cdentinger 
Gerrit-Reviewer: Ssmith 
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] mediawiki...CollaborationKit[master]: Icon select dialog for creating hub features.

2016-10-17 Thread Harej (Code Review)
Harej has uploaded a new change for review.

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

Change subject: Icon select dialog for creating hub features.
..

Icon select dialog for creating hub features.

Probably not perfect but it works. Currently implemented for 
Special:CreateHubFeature. Will be implemented in JS-augmented action=edit for 
CollaborationHubContent soon.

Bug: T140165
Change-Id: I05c7e417cefcc44e127764530a017c7cf667570d
---
M extension.json
M i18n/en.json
M i18n/qqq.json
M includes/CollaborationHubContentEditor.php
M includes/SpecialCreateHubFeature.php
A modules/ext.CollaborationKit.icon.js
A modules/ext.CollaborationKit.iconbrowser.styles.less
7 files changed, 153 insertions(+), 3 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CollaborationKit 
refs/changes/22/316522/1

diff --git a/extension.json b/extension.json
index ebc1cac..cfe4e81 100755
--- a/extension.json
+++ b/extension.json
@@ -83,6 +83,24 @@
"ext.CollaborationKit.list.styles": {
"styles": "ext.CollaborationKit.list.styles.less"
},
+   "ext.CollaborationKit.iconbrowser.styles": {
+   "styles": "ext.CollaborationKit.iconbrowser.styles.less"
+   },
+   "ext.CollaborationKit.icon": {
+   "scripts": "ext.CollaborationKit.icon.js",
+   "dependencies": [
+   "oojs-ui",
+   "oojs-ui.styles.icons-movement",
+   "mediawiki.widgets",
+   "mediawiki.widgets.UserInputWidget"
+   ],
+   "messages": [
+   "collaborationkit-icon-browser",
+   "collaborationkit-icon-select",
+   "collaborationkit-icon-launchbutton",
+   "cancel"
+   ]
+   },
"ext.CollaborationKit.list.edit": {
"scripts": "ext.CollaborationKit.list.edit.js",
"dependencies": [
diff --git a/i18n/en.json b/i18n/en.json
index 2e9f509..263604a 100755
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -85,6 +85,9 @@
"collaborationkit-hub-addpage": "Add feature",
"collaborationkit-hub-manage": "Manage project",
"collaborationkit-hub-invalid": "This content does not meet the 
requirements of the CollaborationHubContent schema. This may happen as a result 
of a software update. The content is reproduced below.",
+   "collaborationkit-icon-launchbutton": "Browse icons",
+   "collaborationkit-icon-browser": "Icon browser",
+   "collaborationkit-icon-select": "Select",
"collaborationkit-subpage-toc-label": "Part of a project:",
"collaborationkit-red1": "Dark red",
"collaborationkit-red2": "Red",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 815b4a5..716d9ca 100755
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -85,6 +85,9 @@
"collaborationkit-hub-addpage": "Label for button/link to add a new 
subpage/feature to a Collaboration Hub",
"collaborationkit-hub-manage": "Label for extra button/link to edit 
Collaboration Hub",
"collaborationkit-hub-invalid": "Message shown on hubs that do not 
comply with the JSON Schema; shown before displaying the offending content",
+   "collaborationkit-icon-launchbutton": "Button label for button that 
launches the feature icon browser",
+   "collaborationkit-icon-browser": "Header label for the icon browser",
+   "collaborationkit-icon-select": "Button for selecting an icon in the 
icon browser",
"collaborationkit-subpage-toc-label": "Label for the toc on a 
Collaboration Hub subpage",
"collaborationkit-red1": "Color label",
"collaborationkit-red2": "Color label",
diff --git a/includes/CollaborationHubContentEditor.php 
b/includes/CollaborationHubContentEditor.php
index b725e6c..64dffb4 100755
--- a/includes/CollaborationHubContentEditor.php
+++ b/includes/CollaborationHubContentEditor.php
@@ -126,11 +126,11 @@
'type' => 'textarea',
'rows' => 10,
'class' => 'mw-ck-introductioninput',
-   'value' => $includedContent
+   'value' => $includedContent,
] ),
[
'label' => wfMessage( 
'collaborationkit-hubedit-content' )->text(),
-   'align' => 'top'
+   'align' => 'top',
] );
 
return $fields;
diff --git a/includes/SpecialCreateHubFeature.php 
b/includes/SpecialCreateHubFeature.php
index 88071b1..6c908c3 100755
--- 

[MediaWiki-commits] [Gerrit] mediawiki...FileAnnotations[master]: Fix typo in comment

2016-10-17 Thread Brian Wolff (Code Review)
Brian Wolff has uploaded a new change for review.

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

Change subject: Fix typo in comment
..

Fix typo in comment

Change-Id: I65cf74846e68ea4301b7e67103b9147349a3e721
---
M FileAnnotations.php
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/FileAnnotations 
refs/changes/20/316520/1

diff --git a/FileAnnotations.php b/FileAnnotations.php
index 1a54c68..ca81b03 100644
--- a/FileAnnotations.php
+++ b/FileAnnotations.php
@@ -1,7 +1,7 @@
 https://www.mediawiki.org/wiki/Manual:Extension_registration 
for more details.

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I65cf74846e68ea4301b7e67103b9147349a3e721
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/FileAnnotations
Gerrit-Branch: master
Gerrit-Owner: Brian Wolff 

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Added array_replace_recursive merge strategy

2016-10-17 Thread Yurik (Code Review)
Yurik has uploaded a new change for review.

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

Change subject: Added array_replace_recursive merge strategy
..

Added array_replace_recursive merge strategy

For extension registry, add array_replace_recursive merge strategy,
as some extensions/configuration may prefer that to array_merge_recursive.

Change-Id: Ica6ddd0ae76f23e60de9b6235c6e2a3f2754a95d
---
M includes/registration/ExtensionRegistry.php
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/21/316521/1

diff --git a/includes/registration/ExtensionRegistry.php 
b/includes/registration/ExtensionRegistry.php
index 35044e1..913d747 100644
--- a/includes/registration/ExtensionRegistry.php
+++ b/includes/registration/ExtensionRegistry.php
@@ -259,6 +259,9 @@
case 'array_merge_recursive':
$GLOBALS[$key] = array_merge_recursive( 
$GLOBALS[$key], $val );
break;
+   case 'array_replace_recursive':
+   $GLOBALS[$key] = 
array_replace_recursive( $GLOBALS[$key], $val );
+   break;
case 'array_plus_2d':
$GLOBALS[$key] = wfArrayPlus2d( 
$GLOBALS[$key], $val );
break;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ica6ddd0ae76f23e60de9b6235c6e2a3f2754a95d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
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] mediawiki/core[master]: Fix extension loader ignoring 'merge_strategy' key

2016-10-17 Thread Yurik (Code Review)
Yurik has uploaded a new change for review.

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

Change subject: Fix extension loader ignoring 'merge_strategy' key
..

Fix extension loader ignoring 'merge_strategy' key

Bug: T148493
Change-Id: Ibd88c4dc98f36d7d8336691884bbaa9a4864da83
---
M includes/registration/ExtensionProcessor.php
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/19/316519/1

diff --git a/includes/registration/ExtensionProcessor.php 
b/includes/registration/ExtensionProcessor.php
index 745c233..d613b2e 100644
--- a/includes/registration/ExtensionProcessor.php
+++ b/includes/registration/ExtensionProcessor.php
@@ -397,7 +397,7 @@
if ( isset( $info['config'] ) ) {
foreach ( $info['config'] as $key => $data ) {
$value = $data['value'];
-   if ( isset( $value['merge_strategy'] ) ) {
+   if ( isset( $data['merge_strategy'] ) ) {

$value[ExtensionRegistry::MERGE_STRATEGY] = $data['merge_strategy'];
}
if ( isset( $data['path'] ) && $data['path'] ) {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd88c4dc98f36d7d8336691884bbaa9a4864da83
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
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] mediawiki...Favorites[master]: Favorites' current method of adding itself to the personal U...

2016-10-17 Thread Jkmartindale (Code Review)
Jkmartindale has uploaded a new change for review.

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

Change subject: Favorites' current method of adding itself to the personal URL 
bar conflicts with other extensions, notably Echo. Using wfArrayInsertAfter() 
allows myfavoritelist to show up after the Watchlist with minimal effort and no 
adverse effects.
..

Favorites' current method of adding itself to the personal URL bar conflicts 
with other extensions, notably Echo. Using wfArrayInsertAfter() allows 
myfavoritelist to show up after the Watchlist with minimal effort and no 
adverse effects.

Change-Id: Ic71a29f4b82f2e30c2000858425f176a5b0b3e04
---
M FavoritesHooks.php
1 file changed, 1 insertion(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Favorites 
refs/changes/18/316518/2

diff --git a/FavoritesHooks.php b/FavoritesHooks.php
index d03f9db..10a2521 100644
--- a/FavoritesHooks.php
+++ b/FavoritesHooks.php
@@ -93,13 +93,9 @@
global $wgFavoritesPersonalURL, $wgUser;

if ( $wgFavoritesPersonalURL && $wgUser->isLoggedIn() ) {
-   $url['userpage'] = array_shift( $personal_urls );
-   $url[] = array_shift( $personal_urls );
-   $url[] = array_shift( $personal_urls );
-   
$url[] = array( 'text' => wfMessage( 'myfavoritelist' 
)->text(),
'href' => SpecialPage::getTitleFor( 
'Favoritelist' )->getLocalURL() );
-   $personal_urls = $url + $personal_urls;
+   $personal_urls = wfArrayInsertAfter( $personal_urls, 
$url, 'watchlist' );
}

return true;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic71a29f4b82f2e30c2000858425f176a5b0b3e04
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Favorites
Gerrit-Branch: master
Gerrit-Owner: Jkmartindale 

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: gerrit: log4j config to log to files

2016-10-17 Thread Dzahn (Code Review)
Dzahn has submitted this change and it was merged.

Change subject: gerrit: log4j config to log to files
..


gerrit: log4j config to log to files

In Ie0c4c0aa202574743 we introduced the log4j config snippet
from upstream, in order to later send it to logstash
in T141324, but since that is not done yet and we did not
define a FileAppender we did not have any logs.

So for now, make log4j log to local files.

Change-Id: Id15568b49fce5db9ed55fd72cffdd9a2b4366182
---
M modules/gerrit/templates/log4j.properties.erb
1 file changed, 42 insertions(+), 6 deletions(-)

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



diff --git a/modules/gerrit/templates/log4j.properties.erb 
b/modules/gerrit/templates/log4j.properties.erb
index 7e24cdc..fe3ba12 100644
--- a/modules/gerrit/templates/log4j.properties.erb
+++ b/modules/gerrit/templates/log4j.properties.erb
@@ -15,11 +15,47 @@
 
 monitorInterval=60
 
-log4j.rootCategory=INFO, stderr
-log4j.appender.stderr=org.apache.log4j.ConsoleAppender
-log4j.appender.stderr.target=System.err
-log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
-log4j.appender.stderr.layout.ConversionPattern=[%d] [%t] %-5p %c %x: %m%n
+log4j.rootLogger=DEBUG, error_log
+log4j.logger.com.google.gerrit.sshd.SshLog=DEBUG, sshd_log
+log4j.logger.com.google.gerrit.pgm.http.jetty.HttpLog=DEBUG, httpd_log
+log4j.logger.gc_log=DEBUG, gc_log
+# Prevent gc_log from outputting to error_log
+log4j.additivity.gc_log=false
+
+# Configure log appenders as defaults
+log4j.appender.error_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.error_log.File=/var/log/gerrit/error_log
+log4j.appender.error_log.layout=org.apache.log4j.PatternLayout
+log4j.appender.error_log.layout.ConversionPattern=[%d] %-5p %c %x: %m%n
+log4j.appender.error_log.encoding=UTF-8
+log4j.appender.error_log.threshold=INFO
+log4j.appender.error_log.immediateFlush=true
+log4j.appender.error_log.fileAppend=true
+log4j.appender.httpd_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.httpd_log.File=/var/log/gerrit/httpd_log
+log4j.appender.httpd_log.layout=com.google.gerrit.pgm.http.jetty.HttpLogLayout
+log4j.appender.httpd_log.encoding=UTF-8
+log4j.appender.httpd_log.threshold=INFO
+log4j.appender.httpd_log.immediateFlush=true
+log4j.appender.httpd_log.fileAppend=true
+log4j.appender.sshd_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.sshd_log.File=/var/log/gerrit/sshd_log
+log4j.appender.sshd_log.layout=com.google.gerrit.sshd.SshLogLayout
+log4j.appender.sshd_log.encoding=UTF-8
+log4j.appender.sshd_log.threshold=INFO
+log4j.appender.sshd_log.immediateFlush=true
+log4j.appender.sshd_log.fileAppend=true
+log4j.appender.gc_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.gc_log.File=/var/log/gerrit/gc_log
+log4j.appender.gc_log.layout=org.apache.log4j.PatternLayout
+log4j.appender.gc_log.layout.ConversionPattern=[%d] %-5p %x: %m%n
+log4j.appender.gc_log.encoding=UTF-8
+log4j.appender.gc_log.threshold=INFO
+log4j.appender.gc_log.immediateFlush=true
+log4j.appender.gc_log.fileAppend=true
+
+log4j.logger.com.google.gerrit=INFO
+
 
 # Silence non-critical messages from MINA SSHD.
 #
@@ -54,7 +90,7 @@
 log4j.logger.velocity=WARN
 
 # Silence non-critical messages from apache.http
-log4j.logger.org.apache.http=WARN
+# log4j.logger.org.apache.http=WARN
 
 # Silence non-fatal messages from cookie parsing
 log4j.logger.org.apache.http.client.protocol.ResponseProcessCookies=FATAL

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id15568b49fce5db9ed55fd72cffdd9a2b4366182
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dzahn 
Gerrit-Reviewer: Chad 
Gerrit-Reviewer: Dzahn 
Gerrit-Reviewer: Hashar 
Gerrit-Reviewer: Volans 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: gerrit: log4j config to log to files

2016-10-17 Thread Dzahn (Code Review)
Dzahn has uploaded a new change for review.

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

Change subject: gerrit: log4j config to log to files
..

gerrit: log4j config to log to files

In Ie0c4c0aa202574743 we introduced the log4j config snippet
from upstream, in order to later send it to logstash
in T141324, but since that is not done yet and we did not
define a FileAppender we did not have any logs.

So for now, make log4j log to local files.

Change-Id: Id15568b49fce5db9ed55fd72cffdd9a2b4366182
---
M modules/gerrit/templates/log4j.properties.erb
1 file changed, 42 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/17/316517/1

diff --git a/modules/gerrit/templates/log4j.properties.erb 
b/modules/gerrit/templates/log4j.properties.erb
index 7e24cdc..fe3ba12 100644
--- a/modules/gerrit/templates/log4j.properties.erb
+++ b/modules/gerrit/templates/log4j.properties.erb
@@ -15,11 +15,47 @@
 
 monitorInterval=60
 
-log4j.rootCategory=INFO, stderr
-log4j.appender.stderr=org.apache.log4j.ConsoleAppender
-log4j.appender.stderr.target=System.err
-log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
-log4j.appender.stderr.layout.ConversionPattern=[%d] [%t] %-5p %c %x: %m%n
+log4j.rootLogger=DEBUG, error_log
+log4j.logger.com.google.gerrit.sshd.SshLog=DEBUG, sshd_log
+log4j.logger.com.google.gerrit.pgm.http.jetty.HttpLog=DEBUG, httpd_log
+log4j.logger.gc_log=DEBUG, gc_log
+# Prevent gc_log from outputting to error_log
+log4j.additivity.gc_log=false
+
+# Configure log appenders as defaults
+log4j.appender.error_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.error_log.File=/var/log/gerrit/error_log
+log4j.appender.error_log.layout=org.apache.log4j.PatternLayout
+log4j.appender.error_log.layout.ConversionPattern=[%d] %-5p %c %x: %m%n
+log4j.appender.error_log.encoding=UTF-8
+log4j.appender.error_log.threshold=INFO
+log4j.appender.error_log.immediateFlush=true
+log4j.appender.error_log.fileAppend=true
+log4j.appender.httpd_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.httpd_log.File=/var/log/gerrit/httpd_log
+log4j.appender.httpd_log.layout=com.google.gerrit.pgm.http.jetty.HttpLogLayout
+log4j.appender.httpd_log.encoding=UTF-8
+log4j.appender.httpd_log.threshold=INFO
+log4j.appender.httpd_log.immediateFlush=true
+log4j.appender.httpd_log.fileAppend=true
+log4j.appender.sshd_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.sshd_log.File=/var/log/gerrit/sshd_log
+log4j.appender.sshd_log.layout=com.google.gerrit.sshd.SshLogLayout
+log4j.appender.sshd_log.encoding=UTF-8
+log4j.appender.sshd_log.threshold=INFO
+log4j.appender.sshd_log.immediateFlush=true
+log4j.appender.sshd_log.fileAppend=true
+log4j.appender.gc_log=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.gc_log.File=/var/log/gerrit/gc_log
+log4j.appender.gc_log.layout=org.apache.log4j.PatternLayout
+log4j.appender.gc_log.layout.ConversionPattern=[%d] %-5p %x: %m%n
+log4j.appender.gc_log.encoding=UTF-8
+log4j.appender.gc_log.threshold=INFO
+log4j.appender.gc_log.immediateFlush=true
+log4j.appender.gc_log.fileAppend=true
+
+log4j.logger.com.google.gerrit=INFO
+
 
 # Silence non-critical messages from MINA SSHD.
 #
@@ -54,7 +90,7 @@
 log4j.logger.velocity=WARN
 
 # Silence non-critical messages from apache.http
-log4j.logger.org.apache.http=WARN
+# log4j.logger.org.apache.http=WARN
 
 # Silence non-fatal messages from cookie parsing
 log4j.logger.org.apache.http.client.protocol.ResponseProcessCookies=FATAL

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

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

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


[MediaWiki-commits] [Gerrit] integration/commit-message-validator[master]: Remove StopIteration for PEP 479 compatibility

2016-10-17 Thread BryanDavis (Code Review)
BryanDavis has uploaded a new change for review.

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

Change subject: Remove StopIteration for PEP 479 compatibility
..

Remove StopIteration for PEP 479 compatibility

Replace 'raise StopIteration' with 'return' which is a forward and
backward compatible replacement to exit a generator.

Change-Id: I5210ec038bd98e623207001c5b8832394805db7e
---
M commit_message_validator/__init__.py
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/integration/commit-message-validator 
refs/changes/15/316515/1

diff --git a/commit_message_validator/__init__.py 
b/commit_message_validator/__init__.py
index bc83397..7c0f9b8 100644
--- a/commit_message_validator/__init__.py
+++ b/commit_message_validator/__init__.py
@@ -121,7 +121,7 @@
 
 if normalized_name not in FOOTERS:
 # Meh. Not a name we care about
-raise StopIteration
+return
 
 if normalized_name in BAD_FOOTERS:
 # Treat as the correct name for the rest of the rules

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5210ec038bd98e623207001c5b8832394805db7e
Gerrit-PatchSet: 1
Gerrit-Project: integration/commit-message-validator
Gerrit-Branch: master
Gerrit-Owner: BryanDavis 

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


[MediaWiki-commits] [Gerrit] mediawiki...JsonConfig[master]: WIP: implement string limiting

2016-10-17 Thread Yurik (Code Review)
Yurik has uploaded a new change for review.

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

Change subject: WIP: implement string limiting
..

WIP: implement string limiting

Change-Id: Ib229c04a624a423d7073fdf13b52bca741510f4e
---
M i18n/en.json
M i18n/qqq.json
M includes/JCDataContent.php
M includes/JCValidators.php
4 files changed, 27 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/JsonConfig 
refs/changes/16/316516/1

diff --git a/i18n/en.json b/i18n/en.json
index 36d6113..43d5b33 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -19,6 +19,7 @@
"jsonconfig-err-root-array-expected": "JSON data should be a list, 
surrounded by the [...] brackets",
"jsonconfig-err-root-object-expected": "JSON data should be an object, 
surrounded by the {...} braces",
"jsonconfig-err-string": "Parameter \"$1\" must be a string",
+   "jsonconfig-err-stringline": "Parameter \"$1\" must be a single line 
string without surrounding spaces and no longer than $2 characters",
"jsonconfig-err-bad-header-string": "Header \"$1\" must only consist of 
letters, numbers, and underscore characters, and must not begin with a number",
"jsonconfig-err-bad-type": "Parameter \"$1\" must be a valid type like 
\"string\", \"number\", or \"boolean\"",
"jsonconfig-err-unique-strings": "Parameter \"$1\" must be a list of 
unique non-empty strings",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 0254459..c013423 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -27,6 +27,7 @@
"jsonconfig-err-root-array-expected": "Entire JSON data was not a list 
surrounded by the [...] brackets",
"jsonconfig-err-root-object-expected": "Entire JSON data was not an 
object, surrounded by the {...} braces",
"jsonconfig-err-string": "A field named \"$1\" is not a valid string. 
Parameters:\n* $1 - field name",
+   "jsonconfig-err-stringline": "A field named \"$1\" is not a valid 
string. Parameters:\n* $1 - field name\n* $2 - maximum allowed string length",
"jsonconfig-err-bad-header-string": "A field named \"$1\" must contain 
only the allowed characters. Parameters:\n* $1 - field name",
"jsonconfig-err-bad-type": "A field named \"$1\" must be set to one of 
the allowed values. Parameters:\n* $1 - field name",
"jsonconfig-err-unique-strings": "A list named \"$1\" must only contain 
non-empty strings that do not repeat. Parameters:\n* $1 - field name",
diff --git a/includes/JCDataContent.php b/includes/JCDataContent.php
index f9ae379..f8f3b8a 100644
--- a/includes/JCDataContent.php
+++ b/includes/JCDataContent.php
@@ -24,7 +24,7 @@
}
 
// TODO: handle well-known licenses and link to them
-   $this->test( 'license', JCValidators::isString() );
+   $this->test( 'license', JCValidators::isStringLine() );
$this->test( 'info', JCValidators::isLocalizedString() );
}
 
diff --git a/includes/JCValidators.php b/includes/JCValidators.php
index f3caa17..a112775 100644
--- a/includes/JCValidators.php
+++ b/includes/JCValidators.php
@@ -54,6 +54,24 @@
};
}
 
+   /** Returns a validator function to check if the value is a valid 
single line string
+* @param int $maxlength maximum allowed string size
+* @return callable
+*/
+   public static function isStringLine( $maxlength = 400 ) {
+   return function ( JCValue $v, array $path ) use ( $maxlength ) {
+   $str = $v->getValue();
+   if ( !is_string( $str ) ||
+mb_strlen( $str ) > $maxlength ||
+preg_match( "/^\s|[\r\n\t]|\s$/", $str )
+   ) {
+   $v->error( 'jsonconfig-err-stringline', $path, 
$maxlength );
+   return false;
+   }
+   return true;
+   };
+   }
+
/** Returns a validator function to check if the value is a valid 
integer
 * @return callable
 */
@@ -185,8 +203,11 @@
}
}
if ( is_array( $v ) ) {
-   if ( JCUtils::isListOfLangs( array_keys( $v ) ) 
&&
-JCUtils::allValuesAreStrings( $v )
+   if ( is_array( $v ) &&
+JCUtils::isListOfLangs( array_keys( $v 
) ) &&
+count( array_filter( $v, 'is_string' ) 
) === count( $v );
+
+   JCUtils::allValuesAreStrings( $v )
) {
// Sort array so that the values are 
sorted alphabetically,
 

[MediaWiki-commits] [Gerrit] mediawiki...Echo[master]: Fix bogus variable usage

2016-10-17 Thread Aaron Schulz (Code Review)
Aaron Schulz has uploaded a new change for review.

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

Change subject: Fix bogus variable usage
..

Fix bogus variable usage

Change-Id: I9100648d5b6be63a697a8660def33e592d010688
---
M includes/model/Notification.php
1 file changed, 1 insertion(+), 1 deletion(-)


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

diff --git a/includes/model/Notification.php b/includes/model/Notification.php
index a94b665..7192d29 100644
--- a/includes/model/Notification.php
+++ b/includes/model/Notification.php
@@ -144,7 +144,7 @@
 
if ( $this->event->getCategory() === 'edit-user-talk' ) {
$notifUser->flagCacheWithNewTalkNotification();
-   $this->mUser->setNewTalk( true );
+   $this->user->setNewtalk( true );
}
Hooks::run( 'EchoCreateNotificationComplete', array( $this ) );
}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9100648d5b6be63a697a8660def33e592d010688
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
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] mediawiki/core[master]: Clarify phpdoc of DatabaseUpdater::addExtensionUpdate

2016-10-17 Thread Code Review
Gergő Tisza has uploaded a new change for review.

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

Change subject: Clarify phpdoc of DatabaseUpdater::addExtensionUpdate
..

Clarify phpdoc of DatabaseUpdater::addExtensionUpdate

Change-Id: Ibc9951e70b8388f5c23c3e05e31e20bd037beacb
---
M includes/installer/DatabaseUpdater.php
1 file changed, 5 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/13/316513/1

diff --git a/includes/installer/DatabaseUpdater.php 
b/includes/installer/DatabaseUpdater.php
index 6f066ce..6a702e9 100644
--- a/includes/installer/DatabaseUpdater.php
+++ b/includes/installer/DatabaseUpdater.php
@@ -222,12 +222,11 @@
 *
 * @since 1.17
 *
-* @param array $update The update to run. Format is the following:
-*first item is the callback function, it also can be a
-*simple string with the name of a function in this 
class,
-*following elements are parameters to the function.
-*Note that callback functions will receive this object 
as
-*first parameter.
+* @param array $update The update to run. Format is [ $callback, 
$params... ]
+*   $callback is the method to call; either a DatabaseUpdater method 
name or a callable.
+*   Must be serializable (ie. no anonymous functions allowed). The 
rest of the parameters
+*   (if any) will be passed to the callback. The first parameter 
passed to the callback
+*   is always this object.
 */
public function addExtensionUpdate( array $update ) {
$this->extensionUpdates[] = $update;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibc9951e70b8388f5c23c3e05e31e20bd037beacb
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] operations/puppet[production]: deployment-prep: Make LVS config compatible with new require...

2016-10-17 Thread Alex Monk (Code Review)
Alex Monk has uploaded a new change for review.

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

Change subject: deployment-prep: Make LVS config compatible with new 
requirements
..

deployment-prep: Make LVS config compatible with new requirements

I couldn't get LVS working in the labs network, so this just has
the minimum required to stop puppet breaking on instances using these
roles.

Change-Id: I844fdb54cea786b4e7c0ed8dca7091eaffa900d8
---
M hieradata/labs/deployment-prep/common.yaml
M modules/lvs/manifests/configuration.pp
2 files changed, 37 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/12/316512/1

diff --git a/hieradata/labs/deployment-prep/common.yaml 
b/hieradata/labs/deployment-prep/common.yaml
index 216c65e..14e27f2 100644
--- a/hieradata/labs/deployment-prep/common.yaml
+++ b/hieradata/labs/deployment-prep/common.yaml
@@ -66,6 +66,41 @@
 conftool:
   cluster: appserver
   service: apache2
+  restbase:
+class: low-traffic
+conftool:
+  cluster: restbase
+  service: restbase
+  apertium:
+class: low-traffic
+conftool:
+  cluster: scb
+  service: apertium
+  mathoid:
+class: low-traffic
+conftool:
+  cluster: scb
+  service: mathoid
+  citoid:
+class: low-traffic
+conftool:
+  cluster: scb
+  service: citoid
+  graphoid:
+class: low-traffic
+conftool:
+  cluster: scb
+  service: graphoid
+  cxserver:
+class: low-traffic
+conftool:
+  cluster: scb
+  service: cxserver
+  ores:
+class: low-traffic
+conftool:
+  cluster: scb
+  service: ores
 lvs::configuration::lvs_service_ips:
   apaches:
 eqiad: dummy
diff --git a/modules/lvs/manifests/configuration.pp 
b/modules/lvs/manifests/configuration.pp
index 4978dae..b571010 100644
--- a/modules/lvs/manifests/configuration.pp
+++ b/modules/lvs/manifests/configuration.pp
@@ -37,7 +37,8 @@
 'ulsfo' => [ ],
 default => undef,
 },
-'labs' => $::site ? {
+'labs' => $::labsproject ? {
+'deployment-prep' => [ ],
 default => undef,
 },
 default => undef,

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I844fdb54cea786b4e7c0ed8dca7091eaffa900d8
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alex Monk 

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: toollabs: Don't mount /srv in docker builders

2016-10-17 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: toollabs: Don't mount /srv in docker builders
..


toollabs: Don't mount /srv in docker builders

is needed by docker itself :)

Change-Id: Iba1ecde05bf3aa423bc184f7cfca022416aa0943
---
M modules/role/manifests/toollabs/docker/builder.pp
1 file changed, 0 insertions(+), 5 deletions(-)

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



diff --git a/modules/role/manifests/toollabs/docker/builder.pp 
b/modules/role/manifests/toollabs/docker/builder.pp
index 61993e8..3f277a1 100644
--- a/modules/role/manifests/toollabs/docker/builder.pp
+++ b/modules/role/manifests/toollabs/docker/builder.pp
@@ -1,11 +1,6 @@
 class role::toollabs::docker::builder {
 include ::toollabs::infrastructure
 
-require role::labs::lvm::srv
-
-# Send *all* the logs!
-
-
 class { '::docker::engine': }
 
 class { '::toollabs::images': }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iba1ecde05bf3aa423bc184f7cfca022416aa0943
Gerrit-PatchSet: 2
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] operations/puppet[production]: toollabs: Don't mount /srv in docker builders

2016-10-17 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: toollabs: Don't mount /srv in docker builders
..

toollabs: Don't mount /srv in docker builders

is needed by docker itself :)

Change-Id: Iba1ecde05bf3aa423bc184f7cfca022416aa0943
---
M modules/role/manifests/toollabs/docker/builder.pp
1 file changed, 0 insertions(+), 5 deletions(-)


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

diff --git a/modules/role/manifests/toollabs/docker/builder.pp 
b/modules/role/manifests/toollabs/docker/builder.pp
index 61993e8..3f277a1 100644
--- a/modules/role/manifests/toollabs/docker/builder.pp
+++ b/modules/role/manifests/toollabs/docker/builder.pp
@@ -1,11 +1,6 @@
 class role::toollabs::docker::builder {
 include ::toollabs::infrastructure
 
-require role::labs::lvm::srv
-
-# Send *all* the logs!
-
-
 class { '::docker::engine': }
 
 class { '::toollabs::images': }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba1ecde05bf3aa423bc184f7cfca022416aa0943
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] integration/commit-message-validator[master]: Release 0.4.1

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Release 0.4.1
..


Release 0.4.1

Change-Id: I2efefdc1794352956823461dc6b55ee932b0b5c3
---
M commit_message_validator/__init__.py
1 file changed, 1 insertion(+), 1 deletion(-)

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



diff --git a/commit_message_validator/__init__.py 
b/commit_message_validator/__init__.py
index 2f53c65..bc83397 100644
--- a/commit_message_validator/__init__.py
+++ b/commit_message_validator/__init__.py
@@ -27,7 +27,7 @@
 import subprocess
 import sys
 
-__version__ = '0.4.0'
+__version__ = '0.4.1'
 
 RE_BUGID = re.compile('^T[0-9]+$')
 RE_CHANGEID = re.compile('^I[a-f0-9]{40}$')

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2efefdc1794352956823461dc6b55ee932b0b5c3
Gerrit-PatchSet: 1
Gerrit-Project: integration/commit-message-validator
Gerrit-Branch: master
Gerrit-Owner: Legoktm 
Gerrit-Reviewer: Legoktm 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] integration/commit-message-validator[master]: Release 0.4.1

2016-10-17 Thread Legoktm (Code Review)
Legoktm has uploaded a new change for review.

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

Change subject: Release 0.4.1
..

Release 0.4.1

Change-Id: I2efefdc1794352956823461dc6b55ee932b0b5c3
---
M commit_message_validator/__init__.py
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/integration/commit-message-validator 
refs/changes/10/316510/1

diff --git a/commit_message_validator/__init__.py 
b/commit_message_validator/__init__.py
index 2f53c65..bc83397 100644
--- a/commit_message_validator/__init__.py
+++ b/commit_message_validator/__init__.py
@@ -27,7 +27,7 @@
 import subprocess
 import sys
 
-__version__ = '0.4.0'
+__version__ = '0.4.1'
 
 RE_BUGID = re.compile('^T[0-9]+$')
 RE_CHANGEID = re.compile('^I[a-f0-9]{40}$')

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2efefdc1794352956823461dc6b55ee932b0b5c3
Gerrit-PatchSet: 1
Gerrit-Project: integration/commit-message-validator
Gerrit-Branch: master
Gerrit-Owner: Legoktm 

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Clean up postgres connection handling

2016-10-17 Thread Aaron Schulz (Code Review)
Aaron Schulz has uploaded a new change for review.

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

Change subject: Clean up postgres connection handling
..

Clean up postgres connection handling

* Remove non-connection magic case when no DB $user
  is given. This was removed from the base class.
* Use PGSQL_CONNECT_FORCE_NEW to let LoadBalancer
  handle connection reuse. This makes it work like
  the mysql classes.
* Make postgres connection error messages actually
  be useful by using the PHP error when possible.
  This makes it clear if the problem is authentication
  or something else and so on.

Change-Id: I3fd76c1e2db8d6008074f5347b201554579b549a
---
M includes/libs/rdbms/database/Database.php
M includes/libs/rdbms/database/DatabasePostgres.php
M includes/libs/rdbms/loadbalancer/LoadBalancer.php
3 files changed, 19 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/09/316509/1

diff --git a/includes/libs/rdbms/database/Database.php 
b/includes/libs/rdbms/database/Database.php
index f33e244..4266912 100644
--- a/includes/libs/rdbms/database/Database.php
+++ b/includes/libs/rdbms/database/Database.php
@@ -651,14 +651,22 @@
if ( $this->htmlErrors !== false ) {
ini_set( 'html_errors', $this->htmlErrors );
}
+
+   return $this->getLastPHPError();
+   }
+
+   /**
+* @return string|bool Last PHP error for this DB (typically connection 
errors)
+*/
+   protected function getLastPHPError() {
if ( $this->mPHPError ) {
$error = preg_replace( '!\[mPHPError );
$error = preg_replace( '!^.*?:\s?(.*)$!', '$1', $error 
);
 
return $error;
-   } else {
-   return false;
}
+
+   return false;
}
 
/**
diff --git a/includes/libs/rdbms/database/DatabasePostgres.php 
b/includes/libs/rdbms/database/DatabasePostgres.php
index 84021a0..016b9cd 100644
--- a/includes/libs/rdbms/database/DatabasePostgres.php
+++ b/includes/libs/rdbms/database/DatabasePostgres.php
@@ -92,10 +92,6 @@
);
}
 
-   if ( !strlen( $user ) ) { # e.g. the class is being loaded
-   return null;
-   }
-
$this->mServer = $server;
$this->mUser = $user;
$this->mPassword = $password;
@@ -121,7 +117,8 @@
$this->installErrorHandler();
 
try {
-   $this->mConn = pg_connect( $this->connectString );
+   // Use new connections to let LoadBalancer/LBFactory 
handle reuse
+   $this->mConn = pg_connect( $this->connectString, 
PGSQL_CONNECT_FORCE_NEW );
} catch ( Exception $ex ) {
$this->restoreErrorHandler();
throw $ex;
@@ -130,10 +127,11 @@
$phpError = $this->restoreErrorHandler();
 
if ( !$this->mConn ) {
-   $this->queryLogger->debug( "DB connection error\n" );
$this->queryLogger->debug(
+   "DB connection error\n" .
"Server: $server, Database: $dbName, User: 
$user, Password: " .
-   substr( $password, 0, 3 ) . "...\n" );
+   substr( $password, 0, 3 ) . "...\n"
+   );
$this->queryLogger->debug( $this->lastError() . "\n" );
throw new DBConnectionError( $this, str_replace( "\n", 
' ', $phpError ) );
}
@@ -380,9 +378,9 @@
} else {
return pg_last_error();
}
-   } else {
-   return 'No database connection';
}
+
+   return $this->getLastPHPError() ?: 'No database connection';
}
 
function lastErrno() {
diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php 
b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
index 682698d..a7df9c8 100644
--- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
+++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
@@ -552,7 +552,7 @@
if ( $i == self::DB_REPLICA ) {
$this->mLastError = 'Unknown error'; // reset error 
string
# Try the general server pool if $groups are 
unavailable.
-   $i = in_array( false, $groups, true )
+   $i = ( $groups == [ false ] )
? false // don't bother with this if that is 
what was tried above
: $this->getReaderIndex( false, $domain );

[MediaWiki-commits] [Gerrit] mediawiki/core[master]: POC: Support static conditional dependencies in RL modules

2016-10-17 Thread Legoktm (Code Review)
Legoktm has uploaded a new change for review.

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

Change subject: POC: Support static conditional dependencies in RL modules
..

POC: Support static conditional dependencies in RL modules

The most comon usage of the ResourceLoaderRegisterModules hook is to
conditionally register ResourceLoader modules based on the existence of
another module/extension. The downside of this is that those module
definitions are split from the other static ones in extension.json, and
are harder to maintain.

This adds a 'registrationDependencies' property to all
ResourceLoaderModule definitions, which is an array name of all the
modules this one depends upon for registration. Note that a
conditionally loaded module cannot depend upon another conditionally
loaded module, mostly to avoid having to implement a cyclical dependency
resolver for this edge case. A structure test should be added to
implement this.

This is still a POC, needs adding to the extension.json schema, tests,
etc.

Bug: T128012
Change-Id: Ia9385f603319e311b6e104da7fb709288eae3595
---
M includes/resourceloader/ResourceLoader.php
1 file changed, 41 insertions(+), 1 deletion(-)


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

diff --git a/includes/resourceloader/ResourceLoader.php 
b/includes/resourceloader/ResourceLoader.php
index 143f5cc..b977d8f 100644
--- a/includes/resourceloader/ResourceLoader.php
+++ b/includes/resourceloader/ResourceLoader.php
@@ -87,6 +87,14 @@
 */
private $logger;
 
+   /**
+* Name => definition of modules that
+* are conditionally registered
+*
+* @var array
+*/
+   protected $conditionalModules = [];
+
/** @var string JavaScript / CSS pragma to disable minification. **/
const FILTER_NOMIN = '/*@nomin*/';
 
@@ -260,6 +268,8 @@
$this->registerTestModules();
}
 
+   $this->registerConditionalModules();
+
$this->setMessageBlobStore( new MessageBlobStore( $this, 
$this->logger ) );
}
 
@@ -343,7 +353,12 @@
$this->modules[$name] = $info;
} elseif ( is_array( $info ) ) {
// New calling convention
-   $this->moduleInfos[$name] = $info;
+   if ( isset( $info['registrationDependencies'] ) 
) {
+   // Defer, we'll re-evaluate once 
everything else is loaded
+   $this->conditionalModules[$name] = 
$info;
+   } else {
+   $this->moduleInfos[$name] = $info;
+   }
} else {
throw new MWException(
'ResourceLoader module info type error 
for module \'' . $name .
@@ -391,6 +406,31 @@
 
}
 
+   private function registerConditionalModules() {
+   if ( !$this->conditionalModules ) {
+   return;
+   }
+   $knownModules = array_keys( $this->moduleInfos );
+   $toRegister = [];
+   foreach ( $this->conditionalModules as $name => $info ) {
+   $registrationDependencies = 
$info['registrationDependencies'];
+   if ( !array_diff( $registrationDependencies, 
$knownModules ) ) {
+   // All dependencies are satisfied, yay
+   // Remove the dependencies to register() doesn't
+   // defer it again.
+   unset( $info['registrationDependencies'] );
+   $toRegister[$name] = $info;
+   } // else we just silently skip since it was conditional
+   }
+
+   // Discard the list of unfulfilled conditional modules
+   $this->conditionalModules = [];
+
+   if ( $toRegister ) {
+   $this->register( $toRegister );
+   }
+   }
+
/**
 */
public function registerTestModules() {

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

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

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: docker: Don't subscribe service to package

2016-10-17 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: docker: Don't subscribe service to package
..


docker: Don't subscribe service to package

We need to manage this by hand anyway

Change-Id: I7c8763b3209d94903dbae7f1acf47097ef69839f
---
M modules/docker/manifests/engine.pp
1 file changed, 0 insertions(+), 1 deletion(-)

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



diff --git a/modules/docker/manifests/engine.pp 
b/modules/docker/manifests/engine.pp
index 12b2674..0351462 100644
--- a/modules/docker/manifests/engine.pp
+++ b/modules/docker/manifests/engine.pp
@@ -31,7 +31,6 @@
 if $declare_service {
 service { 'docker':
 ensure=> running,
-subscribe => Package['docker-engine'],
 }
 }
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I7c8763b3209d94903dbae7f1acf47097ef69839f
Gerrit-PatchSet: 2
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] operations/puppet[production]: docker: Don't subscribe service to package

2016-10-17 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: docker: Don't subscribe service to package
..

docker: Don't subscribe service to package

We need to manage this by hand anyway

Change-Id: I7c8763b3209d94903dbae7f1acf47097ef69839f
---
M modules/docker/manifests/engine.pp
1 file changed, 0 insertions(+), 1 deletion(-)


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

diff --git a/modules/docker/manifests/engine.pp 
b/modules/docker/manifests/engine.pp
index 12b2674..0351462 100644
--- a/modules/docker/manifests/engine.pp
+++ b/modules/docker/manifests/engine.pp
@@ -31,7 +31,6 @@
 if $declare_service {
 service { 'docker':
 ensure=> running,
-subscribe => Package['docker-engine'],
 }
 }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c8763b3209d94903dbae7f1acf47097ef69839f
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] mediawiki...PageTriage[master]: Fixing broken browser test for text rotation

2016-10-17 Thread Kaldari (Code Review)
Kaldari has uploaded a new change for review.

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

Change subject: Fixing broken browser test for text rotation
..

Fixing broken browser test for text rotation

jquery-client expects an array of rulesets, not just a ruleset.

Also switching writing-mode to -ms-writing-mode.

Bug: T105846
Change-Id: If30615c5dda64c6e15f54d969add6007579ce777
---
M modules/ext.pageTriage.views.toolbar/ext.pageTriage.toolbarView.js
1 file changed, 2 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageTriage 
refs/changes/06/316506/1

diff --git a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.toolbarView.js 
b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.toolbarView.js
index 2650663..08327c6 100644
--- a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.toolbarView.js
+++ b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.toolbarView.js
@@ -113,8 +113,8 @@
 
// since transform only works 
in IE 9 and higher, use writing-mode
// to rotate the minimized 
toolbar content in older versions
-   if ( $.client.test( { msie: [ 
'<', 9 ] }, null, true ) ) {
-   $( 
'#mwe-pt-toolbar-vertical' ).css( 'writing-mode', 'tb-rl' );
+   if ( $.client.test( { msie: [[ 
'<', 9 ]] }, null, true ) ) {
+   $( 
'#mwe-pt-toolbar-vertical' ).css( '-ms-writing-mode', 'tb-rl' );
}
 
// make the close button do 
something

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If30615c5dda64c6e15f54d969add6007579ce777
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PageTriage
Gerrit-Branch: master
Gerrit-Owner: Kaldari 

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


[MediaWiki-commits] [Gerrit] mediawiki...Cargo[master]: Added CargoUtils::fullTextMatchSQL()

2016-10-17 Thread Yaron Koren (Code Review)
Yaron Koren has submitted this change and it was merged.

Change subject: Added CargoUtils::fullTextMatchSQL()
..


Added CargoUtils::fullTextMatchSQL()

Change-Id: I87c2d7ccfa86f6bec186cca3a70b0a86243c8fc4
---
M CargoUtils.php
1 file changed, 6 insertions(+), 0 deletions(-)

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



diff --git a/CargoUtils.php b/CargoUtils.php
index 0c683aa..38b5a27 100644
--- a/CargoUtils.php
+++ b/CargoUtils.php
@@ -660,6 +660,12 @@
) );
}
 
+   public static function fullTextMatchSQL( $cdb, $tableName, $fieldName, 
$searchTerm ) {
+   $fullFieldName = self::escapedFieldName( $cdb, $tableName, 
$fieldName );
+   $searchTerm = str_replace( "'", "\'", $searchTerm );
+   return " MATCH($fullFieldName) AGAINST ('$searchTerm' IN 
BOOLEAN MODE) ";
+   }
+
/**
 * Parses one half of a set of coordinates into a number.
 *

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I87c2d7ccfa86f6bec186cca3a70b0a86243c8fc4
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Cargo
Gerrit-Branch: master
Gerrit-Owner: Yaron Koren 
Gerrit-Reviewer: Yaron Koren 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki...Cargo[master]: Added CargoUtils::fullTextMatchSQL()

2016-10-17 Thread Yaron Koren (Code Review)
Yaron Koren has uploaded a new change for review.

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

Change subject: Added CargoUtils::fullTextMatchSQL()
..

Added CargoUtils::fullTextMatchSQL()

Change-Id: I87c2d7ccfa86f6bec186cca3a70b0a86243c8fc4
---
M CargoUtils.php
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Cargo 
refs/changes/05/316505/2

diff --git a/CargoUtils.php b/CargoUtils.php
index 0c683aa..38b5a27 100644
--- a/CargoUtils.php
+++ b/CargoUtils.php
@@ -660,6 +660,12 @@
) );
}
 
+   public static function fullTextMatchSQL( $cdb, $tableName, $fieldName, 
$searchTerm ) {
+   $fullFieldName = self::escapedFieldName( $cdb, $tableName, 
$fieldName );
+   $searchTerm = str_replace( "'", "\'", $searchTerm );
+   return " MATCH($fullFieldName) AGAINST ('$searchTerm' IN 
BOOLEAN MODE) ";
+   }
+
/**
 * Parses one half of a set of coordinates into a number.
 *

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I87c2d7ccfa86f6bec186cca3a70b0a86243c8fc4
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Cargo
Gerrit-Branch: master
Gerrit-Owner: Yaron Koren 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Handle closures in DatabaseUpdater

2016-10-17 Thread Code Review
Gergő Tisza has uploaded a new change for review.

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

Change subject: Handle closures in DatabaseUpdater
..

Handle closures in DatabaseUpdater

Change-Id: Ica64300ee0bc87ece52c720712ebcd581dba
---
M includes/installer/DatabaseUpdater.php
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/04/316504/1

diff --git a/includes/installer/DatabaseUpdater.php 
b/includes/installer/DatabaseUpdater.php
index 6f066ce..f108542 100644
--- a/includes/installer/DatabaseUpdater.php
+++ b/includes/installer/DatabaseUpdater.php
@@ -465,7 +465,7 @@
foreach ( $updates as $params ) {
$origParams = $params;
$func = array_shift( $params );
-   if ( !is_array( $func ) && method_exists( $this, $func 
) ) {
+   if ( is_string( $func ) && method_exists( $this, $func 
) ) {
$func = [ $this, $func ];
} elseif ( $passSelf ) {
array_unshift( $params, $this );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ica64300ee0bc87ece52c720712ebcd581dba
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] mediawiki...DonationInterface[master]: Fix merchant order ID on order reference

2016-10-17 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review.

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

Change subject: Fix merchant order ID on order reference
..

Fix merchant order ID on order reference

We were calling setOrderReferenceDetails with the wrong argument,
so we didn't associate a merchant order ID with the txn until we
attempted authorization.

Bug: T147973
Change-Id: I51ef1c326591cefccde8f95cb4fa20b25ae3ae7b
---
M amazon_gateway/amazon.adapter.php
M tests/phpunit/Adapter/Amazon/AmazonTest.php
2 files changed, 2 insertions(+), 2 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface 
refs/changes/03/316503/1

diff --git a/amazon_gateway/amazon.adapter.php 
b/amazon_gateway/amazon.adapter.php
index 13ccdc1..5608f08 100644
--- a/amazon_gateway/amazon.adapter.php
+++ b/amazon_gateway/amazon.adapter.php
@@ -298,7 +298,7 @@
'amount' => $this->getData_Staged( 'amount' ),
'currency_code' => $this->getData_Staged( 
'currency_code' ),
'seller_note' => WmfFramework::formatMessage( 
'donate_interface-donation-description' ),
-   'seller_order_reference_id' => $this->getData_Staged( 
'order_id' ),
+   'seller_order_id' => $this->getData_Staged( 'order_id' 
),
) );
$orderRefs = WmfFramework::getSessionValue( 'order_refs' );
$orderRefs[$orderReferenceId] = true;
diff --git a/tests/phpunit/Adapter/Amazon/AmazonTest.php 
b/tests/phpunit/Adapter/Amazon/AmazonTest.php
index 19cfcb4..8284d51 100644
--- a/tests/phpunit/Adapter/Amazon/AmazonTest.php
+++ b/tests/phpunit/Adapter/Amazon/AmazonTest.php
@@ -146,7 +146,7 @@
$mockClient = TestingAmazonAdapter::$mockClient;
$setOrderReferenceDetailsArgs = 
$mockClient->calls['setOrderReferenceDetails'][0];
$oid = $gateway->getData_Unstaged_Escaped( 'order_id' );
-   $this->assertEquals( $oid, 
$setOrderReferenceDetailsArgs['seller_order_reference_id'], 'Did not set order 
id on order reference' );
+   $this->assertEquals( $oid, 
$setOrderReferenceDetailsArgs['seller_order_id'], 'Did not set order id on 
order reference' );
$this->assertEquals( $init['amount'], 
$setOrderReferenceDetailsArgs['amount'], 'Did not set amount on order 
reference' );
$this->assertEquals( $init['currency_code'], 
$setOrderReferenceDetailsArgs['currency_code'], 'Did not set currency code on 
order reference' );
$queued = $gateway->queue_messages;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I51ef1c326591cefccde8f95cb4fa20b25ae3ae7b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DonationInterface
Gerrit-Branch: master
Gerrit-Owner: Ejegg 

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


[MediaWiki-commits] [Gerrit] translatewiki[master]: Add code maps for translations in progress

2016-10-17 Thread Eloquence (Code Review)
Eloquence has uploaded a new change for review.

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

Change subject: Add code maps for translations in progress
..

Add code maps for translations in progress

lib.reviews uses the minimal CLDR codes per
http://cldr.unicode.org/translation/default-content and
https://github.com/unicode-cldr/cldr-core/blob/master/defaultContent.json

Change-Id: I9dd6125130377bbe5135b553d34966dce8addfcf
---
M groups/lib.reviews/lib.reviews.yaml
1 file changed, 4 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/translatewiki 
refs/changes/02/316502/1

diff --git a/groups/lib.reviews/lib.reviews.yaml 
b/groups/lib.reviews/lib.reviews.yaml
index 0919f2d..9fe389a 100644
--- a/groups/lib.reviews/lib.reviews.yaml
+++ b/groups/lib.reviews/lib.reviews.yaml
@@ -11,3 +11,7 @@
   nestingSeparator: /
   parseCLDRPlurals: yes
   sourcePattern: "%GROUPROOT%/lib.reviews/locales/%CODE%.json"
+  codeMap:
+pt: pt-PT
+pt-br: pt
+zh-hans: zh

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9dd6125130377bbe5135b553d34966dce8addfcf
Gerrit-PatchSet: 1
Gerrit-Project: translatewiki
Gerrit-Branch: master
Gerrit-Owner: Eloquence 

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


[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: WIP: add Swedish featured article

2016-10-17 Thread BearND (Code Review)
BearND has uploaded a new change for review.

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

Change subject: WIP: add Swedish featured article
..

WIP: add Swedish featured article

Does not work yet! :((
Not sure why this returns a different response than from the API request.

When I run the following API request
https://sv.wikipedia.org/w/api.php?action=parse=json=text=wikitext=%7B%7BUtvald+artikel%7C2016-10-11%7D%7D
I get
{"parse":{"title":"API","pageid":5657,"text":{"*":"Wikipedia:Utvald 
artikel/\u00c9dith Piaf\n\n"}}}

So far, so good.

But from the service,
Example request: 
http://localhost:6927/sv.wikipedia.org/v1/page/featured/2016/10/11
I get:
...
{"parse": {"title": "API","pageid": 5657,"text": {"*": "Mall:Utvald artikel/2016-10-11\n\n"}}}

Looks like the page doesn't exist.

Change-Id: Ia6e46f0bef879df06114cbb0a5ec2b6f93d56a40
---
M lib/feed/featured.js
M lib/mwapi.js
2 files changed, 143 insertions(+), 30 deletions(-)


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

diff --git a/lib/feed/featured.js b/lib/feed/featured.js
index 11c05c4..982a9ac 100644
--- a/lib/feed/featured.js
+++ b/lib/feed/featured.js
@@ -6,8 +6,9 @@
 
 var preq = require('preq');
 var api = require('../api-util');
-var mwapi = require('../mwapi');
+var domino = require('domino');
 var dateUtil = require('../dateUtil');
+var mwapi = require('../mwapi');
 var sUtil = require('../util');
 var BBPromise = require('bluebird');
 var HTTPError = sUtil.HTTPError;
@@ -21,7 +22,7 @@
  * @param {Date} date for which day the featured article is requested
  * @return {Promise} a promise resolving as an JSON object containing the 
response
  */
-function requestFeaturedArticleTitle(app, domain, date) {
+function requestEnglishFeaturedArticleTitle(app, domain, date) {
 var formattedDateString = dateUtil.formatDateEnglish(date);
 return api.mwApiGet(app, domain, {
 action: 'query',
@@ -29,9 +30,28 @@
 formatversion: 2,
 exchars: 255,
 explaintext: '',
-titles: `Template:TFA_title/${formattedDateString}`,
-prop: 'extracts'
+prop: 'extracts',
+titles: `Template:TFA_title/${formattedDateString}`
 });
+}
+
+/**
+ * Builds the request to get the Featured article of a given date.
+ *
+ * @param {Object} app the application object
+ * @param {Object} req the request object
+ * @return {Promise} a promise resolving as an JSON object containing the 
response
+ */
+function requestSwedishFeaturedArticleTitle(app, req) {
+var formattedDateString = dateUtil.hyphenDelimitedDateString(req);
+var text = `{{Utvald artikel/${formattedDateString}}}`;
+return api.mwApiGet(app, req.params.domain, {
+action: 'parse',
+format: 'json',
+prop: 'text',
+contentmodel: 'wikitext',
+text: text
+}, true);
 }
 
 // -- functions dealing with responses:
@@ -60,6 +80,30 @@
 }
 }
 
+function getParseObject(response, dontThrow) {
+if (response.body.parse) {
+var parse = response.body.parse;
+if (!parse.text) {
+throw new HTTPError({
+status: 404,
+type: 'not_found',
+title: 'No featured article for this date',
+detail: 'There is no featured article for this date.'
+});
+}
+return parse;
+} else {
+if (!dontThrow) {
+throw new HTTPError({
+status: 500,
+type: 'unknown_backend_response',
+title: 'Unexpected backend response',
+detail: 'The backend responded with gibberish.'
+});
+}
+}
+}
+
 /**
  * HAX: TextExtracts extension will (sometimes) add "..." to the extract.  In 
this particular case, we don't
  * want it, so we remove it if present.
@@ -69,6 +113,78 @@
 return extract.slice(0, -3);
 }
 return extract;
+}
+
+/**
+ * Removes extra HTML tags and trim whitespace from a string.
+ */
+function flattenHtml(text) {
+var doc = domino.createDocument();
+var node = doc.createElement('div');
+node.innerHTML = text;
+return node.textContent.trim();
+}
+
+/**
+ * Gets the TITLE from "Wikipedia:Utvald artikel/TITLE\n\n"
+ */
+function removeSwedishTemplateName(text) {
+console.log('removeSwedishTemplateName ' + text);
+return flattenHtml(text).replace('Wikipedia:Utvald artikel/', '');
+}
+
+function unsupported(aggregated) {
+if (aggregated) {
+return BBPromise.resolve({});
+} else {
+throw new HTTPError({
+status: 501,
+type: 'unsupported_language',
+title: 'Language not supported',
+detail: 'The language you have requested is not yet supported.'
+});
+}
+}
+
+function englishTFA(app, req, aggregated) {
+var tfaPageObj, pageTitle;
+
+return 

[MediaWiki-commits] [Gerrit] mediawiki...DonationInterface[master]: WIP test queue stuff with PDO/sqlite

2016-10-17 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review.

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

Change subject: WIP test queue stuff with PDO/sqlite
..

WIP test queue stuff with PDO/sqlite

Less fakery in the test adapters, more accurately testing what
actually will go out over the wire.

Depends on php-queue fix I1d272377b5142785ab17a91d7664d1212

Change-Id: I948ef7e3c02f35563bf1868a003fe3c838de4f29
---
M DonationInterface.class.php
M tests/phpunit/Adapter/Amazon/AmazonTest.php
M tests/phpunit/DonationInterfaceTestCase.php
M tests/phpunit/TestConfiguration.php
M tests/phpunit/includes/test_gateway/TestingAmazonAdapter.php
5 files changed, 14 insertions(+), 17 deletions(-)


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

diff --git a/DonationInterface.class.php b/DonationInterface.class.php
index 6cdcf1d..026440e 100644
--- a/DonationInterface.class.php
+++ b/DonationInterface.class.php
@@ -47,7 +47,7 @@
$testDir = __DIR__ . '/tests/phpunit/';
 
// Set up globaltown
-   require_once $testDir . '/TestConfiguration.php';
+   require_once $testDir . 'TestConfiguration.php';
 
$files[] = $testDir . 'AllTests.php';
 
diff --git a/tests/phpunit/Adapter/Amazon/AmazonTest.php 
b/tests/phpunit/Adapter/Amazon/AmazonTest.php
index 19cfcb4..164f97b 100644
--- a/tests/phpunit/Adapter/Amazon/AmazonTest.php
+++ b/tests/phpunit/Adapter/Amazon/AmazonTest.php
@@ -149,9 +149,8 @@
$this->assertEquals( $oid, 
$setOrderReferenceDetailsArgs['seller_order_reference_id'], 'Did not set order 
id on order reference' );
$this->assertEquals( $init['amount'], 
$setOrderReferenceDetailsArgs['amount'], 'Did not set amount on order 
reference' );
$this->assertEquals( $init['currency_code'], 
$setOrderReferenceDetailsArgs['currency_code'], 'Did not set currency code on 
order reference' );
-   $queued = $gateway->queue_messages;
-   $this->assertNotEmpty( $queued['complete'], 'Not sending a 
message to the complete queue' );
-   $message = $queued['complete'][0];
+   $message = DonationQueue::instance()->pop( 'complete' );
+   $this->assertNotNull( $message, 'Not sending a message to the 
complete queue' );
$this->assertEquals( 'S01-0391295-0674065-C095112', 
$message['gateway_txn_id'], 'Queue message has wrong txn ID' );
}
 
@@ -273,9 +272,8 @@
$authorizeOnBillingAgreementDetailsArgs = 
$mockClient->calls['authorizeOnBillingAgreement'][0];
$this->assertEquals( $init['amount'], 
$authorizeOnBillingAgreementDetailsArgs['authorization_amount'], 'Did not 
authorize correct amount' );
$this->assertEquals( $init['currency_code'], 
$authorizeOnBillingAgreementDetailsArgs['currency_code'], 'Did not authorize 
correct currency code' );
-   $queued = $gateway->queue_messages;
-   $this->assertNotEmpty( $queued['complete'], 'Not sending a 
message to the complete queue' );
-   $message = $queued['complete'][0];
+   $message = DonationQueue::instance()->pop( 'complete' );
+   $this->assertNotNull( $message, 'Not sending a message to the 
complete queue' );
$this->assertEquals( 'S01-5318994-6362993-C004044', 
$message['gateway_txn_id'], 'Queue message has wrong txn ID' );
$this->assertEquals( $init['subscr_id'], $message['subscr_id'], 
'Queue message has wrong subscription ID' );
}
diff --git a/tests/phpunit/DonationInterfaceTestCase.php 
b/tests/phpunit/DonationInterfaceTestCase.php
index 1d26801..e3f5644 100644
--- a/tests/phpunit/DonationInterfaceTestCase.php
+++ b/tests/phpunit/DonationInterfaceTestCase.php
@@ -71,6 +71,14 @@
// SmashPig core logger.
$this->testLogger = new TestingDonationLogger();
DonationLoggerFactory::$overrideLogger = $this->testLogger;
+   $this->setMwGlobals( array(
+   'wgDonationInterfaceEnableQueue' => true,
+   'wgDonationInterfaceDefaultQueueServer' => array(
+   'type' => 'PHPQueue\Backend\PDO',
+   'connection_string' => 'sqlite::memory:',
+   'pdo_options' => array( PDO::ATTR_PERSISTENT => 
true )
+   ),
+   ) );
parent::setUp();
}
 
diff --git a/tests/phpunit/TestConfiguration.php 
b/tests/phpunit/TestConfiguration.php
index f86f1ea..51a21fe 100644
--- a/tests/phpunit/TestConfiguration.php
+++ b/tests/phpunit/TestConfiguration.php
@@ -159,10 +159,7 @@
 $wgMinFraudTimeout = 1;
 $wgDonationInterfaceMinFraudServers = array( "minfraud.wikimedia.org" );
 
-// Don't connect to the queue.
-$wgDonationInterfaceEnableQueue 

[MediaWiki-commits] [Gerrit] wikimedia...php-queue[master]: Fix bad pdo_options merge

2016-10-17 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review.

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

Change subject: Fix bad pdo_options merge
..

Fix bad pdo_options merge

We need this e.g. to be able to open a sqlite connection with
ATTR_PERSISTENT = true. array_merge was re-keying the array and
using the wrong attributes.

Change-Id: I1d272377b5142785ab17a91d7664d121241a565f
---
M src/PHPQueue/Backend/PDO.php
1 file changed, 2 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/php-queue 
refs/changes/99/316499/1

diff --git a/src/PHPQueue/Backend/PDO.php b/src/PHPQueue/Backend/PDO.php
index e3a620a..fe41689 100644
--- a/src/PHPQueue/Backend/PDO.php
+++ b/src/PHPQueue/Backend/PDO.php
@@ -39,7 +39,8 @@
 $this->db_table = $options['db_table'];
 }
 if (!empty($options['pdo_options']) && 
is_array($options['pdo_options'])) {
-$this->pdo_options = array_merge($this->pdo_options, 
$options['pdo_options']);
+   // Use + operator instead of array_merge to preserve integer 
keys
+$this->pdo_options = $options['pdo_options'] + $this->pdo_options;
 }
 }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1d272377b5142785ab17a91d7664d121241a565f
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/php-queue
Gerrit-Branch: master
Gerrit-Owner: Ejegg 

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Use namespaced ScopedCallback

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Use namespaced ScopedCallback
..


Use namespaced ScopedCallback

The un-namespaced \ScopedCallback is deprecated.

Change-Id: Ie014d5a775ead66335a24acac9d339915884d1a4
---
M includes/EditPage.php
M includes/api/ApiStashEdit.php
M includes/auth/AuthManager.php
M includes/cache/MessageCache.php
M includes/context/RequestContext.php
M includes/deferred/LinksDeletionUpdate.php
M includes/deferred/LinksUpdate.php
M includes/jobqueue/JobQueueDB.php
M includes/jobqueue/JobRunner.php
M includes/jobqueue/jobs/AssembleUploadChunksJob.php
M includes/jobqueue/jobs/PublishStashedFileJob.php
M includes/libs/filebackend/FileBackend.php
M includes/libs/objectcache/BagOStuff.php
M includes/libs/rdbms/database/Database.php
M includes/libs/rdbms/database/IDatabase.php
M includes/libs/rdbms/lbfactory/LBFactory.php
M includes/libs/rdbms/loadbalancer/LoadBalancer.php
M includes/libs/rdbms/loadmonitor/LoadMonitor.php
M includes/libs/xmp/XMP.php
M includes/media/SVG.php
M includes/parser/Parser.php
M includes/parser/ParserOptions.php
M includes/profiler/Profiler.php
M includes/resourceloader/ResourceLoaderModule.php
M includes/session/Session.php
M includes/session/SessionBackend.php
M includes/session/SessionManager.php
M includes/user/User.php
M tests/parser/ParserTestRunner.php
M tests/parser/fuzzTest.php
M tests/phpunit/includes/WatchedItemStoreUnitTest.php
M tests/phpunit/includes/auth/AuthManagerTest.php
M tests/phpunit/includes/auth/CheckBlocksSecondaryAuthenticationProviderTest.php
M 
tests/phpunit/includes/auth/TemporaryPasswordPrimaryAuthenticationProviderTest.php
M tests/phpunit/includes/changes/RecentChangeTest.php
M tests/phpunit/includes/page/WikiCategoryPageTest.php
M tests/phpunit/includes/parser/ParserIntegrationTest.php
M tests/phpunit/includes/session/PHPSessionHandlerTest.php
M tests/phpunit/includes/session/SessionBackendTest.php
M tests/phpunit/includes/session/SessionManagerTest.php
M tests/phpunit/includes/session/TestUtils.php
M tests/phpunit/includes/specialpage/SpecialPageFactoryTest.php
M tests/phpunit/includes/user/BotPasswordTest.php
M tests/phpunit/suites/ParserTestTopLevelSuite.php
44 files changed, 78 insertions(+), 35 deletions(-)

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



diff --git a/includes/EditPage.php b/includes/EditPage.php
index 0d8def3..770a74e 100644
--- a/includes/EditPage.php
+++ b/includes/EditPage.php
@@ -22,6 +22,7 @@
 
 use MediaWiki\Logger\LoggerFactory;
 use MediaWiki\MediaWikiServices;
+use Wikimedia\ScopedCallback;
 
 /**
  * The edit page/HTML interface (split from Article)
diff --git a/includes/api/ApiStashEdit.php b/includes/api/ApiStashEdit.php
index 5a2492d..92cbe90 100644
--- a/includes/api/ApiStashEdit.php
+++ b/includes/api/ApiStashEdit.php
@@ -21,6 +21,7 @@
 
 use MediaWiki\Logger\LoggerFactory;
 use MediaWiki\MediaWikiServices;
+use Wikimedia\ScopedCallback;
 
 /**
  * Prepare an edit in shared cache so that it can be reused on edit
diff --git a/includes/auth/AuthManager.php b/includes/auth/AuthManager.php
index eeb233e..d88a5b2 100644
--- a/includes/auth/AuthManager.php
+++ b/includes/auth/AuthManager.php
@@ -2382,7 +2382,7 @@
$session->set( 'AuthManager:lastAuthTimestamp', time() );
$session->persist();
 
-   \ScopedCallback::consume( $delay );
+   \Wikimedia\ScopedCallback::consume( $delay );
 
\Hooks::run( 'UserLoggedIn', [ $user ] );
}
diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php
index 6834ac0..48a13c5 100644
--- a/includes/cache/MessageCache.php
+++ b/includes/cache/MessageCache.php
@@ -21,6 +21,7 @@
  * @ingroup Cache
  */
 use MediaWiki\MediaWikiServices;
+use Wikimedia\ScopedCallback;
 
 /**
  * MediaWiki message cache structure version.
diff --git a/includes/context/RequestContext.php 
b/includes/context/RequestContext.php
index a8cad9f..ebedb7e 100644
--- a/includes/context/RequestContext.php
+++ b/includes/context/RequestContext.php
@@ -25,6 +25,7 @@
 use Liuggio\StatsdClient\Factory\StatsdDataFactory;
 use MediaWiki\Logger\LoggerFactory;
 use MediaWiki\MediaWikiServices;
+use Wikimedia\ScopedCallback;
 
 /**
  * Group all the pieces relevant to the context of a request into one instance
diff --git a/includes/deferred/LinksDeletionUpdate.php 
b/includes/deferred/LinksDeletionUpdate.php
index 93b3ef6..6aa3831 100644
--- a/includes/deferred/LinksDeletionUpdate.php
+++ b/includes/deferred/LinksDeletionUpdate.php
@@ -20,6 +20,7 @@
  * @file
  */
 use MediaWiki\MediaWikiServices;
+use Wikimedia\ScopedCallback;
 
 /**
  * Update object handling the cleanup of links tables after a page was deleted.
diff --git a/includes/deferred/LinksUpdate.php 
b/includes/deferred/LinksUpdate.php
index 8954304..c7d378e 100644
--- a/includes/deferred/LinksUpdate.php
+++ 

[MediaWiki-commits] [Gerrit] operations/puppet[production]: tcpircbot: improve firewall rule setup

2016-10-17 Thread Dzahn (Code Review)
Dzahn has uploaded a new change for review.

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

Change subject: tcpircbot: improve firewall rule setup
..

tcpircbot: improve firewall rule setup

- Replace ferm::rule with ferm::service.
- Use @resolve instead of IP addresses.
- resolve v4 and v6 addresses from DNS instead of having to list both
- make everything more readable
- add eventlog2001 which wasn't there before for consistency eqiad/codfw

Also per comments on Ic7bf1903f8a04649ea7ec.

Change-Id: Ia611b075d18a91630fd1700ddfcc8bc9fee64486
---
M manifests/role/tcpircbot.pp
1 file changed, 16 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/97/316497/1

diff --git a/manifests/role/tcpircbot.pp b/manifests/role/tcpircbot.pp
index b7a7cc2..fb348ab 100644
--- a/manifests/role/tcpircbot.pp
+++ b/manifests/role/tcpircbot.pp
@@ -33,9 +33,21 @@
 ],
 }
 
-ferm::rule { 'tcpircbot_allowed':
-# eventlog1001 (v4), tin (v4), mira (v4), puppetmaster1001 (v4), tin 
(v6), mira (v6), puppetmaster1001 (v6, unnamed in DNS), terbium (v4), terbium 
(v6), wasat (v4), wasat (v6), puppetmaster2001 (v4), puppetmaster2001 (v6, 
unnamed in DNS)
-# Please DO NOT change the IPs in the rule below without updating the 
comment above
-rule => 'proto tcp dport 9200 { saddr (10.64.32.167/32 10.64.0.196/32 
10.192.16.132/32 10.64.16.73/32 2620:0:861:101:10:64:0:196/128 
2620:0:860:102:10:192:16:132/128 2620:0:861:102:10:64:16:73/128 10.64.32.13/32 
2620:0:861:103:10:64:32:13/64 10.192.48.45/32 2620:0:860:104:10:192:48:45/64 
10.192.0.27/32 2620:0:860:101:10:192:0:27/128) ACCEPT; }',
+$allowed_hosts = [
+'eventlog1001.eqiad.wmnet', # logging eqiad
+'eventlog2001.codfw.wmnet', # logging codfw
+'tin.eqiad.wmnet',  # deployment eqiad
+'mira.codfw.wmnet', # deployment codfw
+'puppetmaster1001.eqiad.wmnet', # puppet eqiad
+'puppetmaster2001.codfw.wmnet', # puppet codfw
+'terbium.eqiad.wmnet',  # maintenance eqiad
+'wasat.codfw.wmnet',# maintenance codfw
+]
+
+ferm::service { 'tcpircbot_allowed':
+proto  => 'tcp',
+port   => '9200',
+srange => "(@resolve((${allowed_hosts})) @resolve((${allowed_hosts}), 
))',
 }
+
 }

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

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

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


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: make Uri Exception handling more granular

2016-10-17 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review.

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

Change subject: Hygiene: make Uri Exception handling more granular
..

Hygiene: make Uri Exception handling more granular

Catch all exception handlers should be rare. Clarify impossible states
by crashing.

Change-Id: I6b926b45163b955754ff4b7fc99c196ec32837b7
---
M app/src/main/java/org/wikipedia/util/UriUtil.java
1 file changed, 10 insertions(+), 7 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/util/UriUtil.java 
b/app/src/main/java/org/wikipedia/util/UriUtil.java
index 74e310d..485dbda 100644
--- a/app/src/main/java/org/wikipedia/util/UriUtil.java
+++ b/app/src/main/java/org/wikipedia/util/UriUtil.java
@@ -10,14 +10,15 @@
 import android.support.annotation.StringRes;
 import android.support.annotation.VisibleForTesting;
 import android.text.TextUtils;
-import android.util.Log;
 
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.page.PageTitle;
 import org.wikipedia.settings.Prefs;
+import org.wikipedia.util.log.L;
 import org.wikipedia.zero.WikipediaZeroHandler;
 
+import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
 import static 
org.wikipedia.zero.WikipediaZeroHandler.showZeroExitInterstitialDialog;
@@ -25,19 +26,21 @@
 public final class UriUtil {
 
 /**
- * Decodes a URL-encoded string into its UTF-8 equivalent.
+ * Decodes a URL-encoded string into its UTF-8 equivalent. If the string 
cannot be decoded, the
+ * original string is returned.
  * @param url The URL-encoded string that you wish to decode.
  * @return The decoded string, or the input string if the decoding failed.
  */
 @NonNull public static String decodeURL(@NonNull String url) {
 try {
 return URLDecoder.decode(url, "UTF-8");
-} catch (Exception e) {
-// Swallow any exception, including UnsupportedEncodingException 
(shouldn't happen),
-// and IllegalArgumentException (can happen with malformed 
encoding), and just return
-// the original string.
-Log.d("Wikipedia", "URL decoding failed. String was: " + url);
+} catch (IllegalArgumentException e) {
+// Swallow IllegalArgumentException (can happen with malformed 
encoding), and just
+// return the original string.
+L.d("URL decoding failed. String was: " + url);
 return url;
+} catch (UnsupportedEncodingException e) {
+throw new RuntimeException(e);
 }
 }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b926b45163b955754ff4b7fc99c196ec32837b7
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski 

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


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Use Chinese script when available, not country

2016-10-17 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review.

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

Change subject: Use Chinese script when available, not country
..

Use Chinese script when available, not country

Determine Chinese variant by script on newer APIs.

Change-Id: I2b759fb4cc512a8441c98d4a8f04fee7db12d954
---
M app/src/main/java/org/wikipedia/language/LanguageUtil.java
1 file changed, 8 insertions(+), 0 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/language/LanguageUtil.java 
b/app/src/main/java/org/wikipedia/language/LanguageUtil.java
index 10e1fce..e9e9e23 100644
--- a/app/src/main/java/org/wikipedia/language/LanguageUtil.java
+++ b/app/src/main/java/org/wikipedia/language/LanguageUtil.java
@@ -1,5 +1,6 @@
 package org.wikipedia.language;
 
+import android.os.Build;
 import android.support.annotation.Nullable;
 
 import java.util.Arrays;
@@ -29,6 +30,13 @@
 case "ji":
 return "yi"; // Yiddish
 case "zh":
+if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+String script = Locale.getDefault().getScript();
+return "Hant".equals(script)
+? 
AppLanguageLookUpTable.TRADITIONAL_CHINESE_LANGUAGE_CODE
+: 
AppLanguageLookUpTable.SIMPLIFIED_CHINESE_LANGUAGE_CODE;
+}
+
 // If the user configures Android for Chinese (zh) we have no 
way to know the intended
 // dialect. We guess based on country. If the guess is 
incorrect, the user must explicitly
 // choose the dialect in the app settings.

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2b759fb4cc512a8441c98d4a8f04fee7db12d954
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski 

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


[MediaWiki-commits] [Gerrit] mediawiki...WikimediaEvents[master]: Turn on CirrusSearch bm25 A/B test for ja, zh and th

2016-10-17 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

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

Change subject: Turn on CirrusSearch bm25 A/B test for ja, zh and th
..

Turn on CirrusSearch bm25 A/B test for ja, zh and th

Second run of the CirrusSearch bm25 A/B test. This time on languages
that do not use spaces as word separators.

Bug: T147495
Change-Id: I6f07fd913e8c8a2c41afe0bd02a43cfe13c14533
---
M modules/ext.wikimediaEvents.searchSatisfaction.js
1 file changed, 23 insertions(+), 3 deletions(-)


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

diff --git a/modules/ext.wikimediaEvents.searchSatisfaction.js 
b/modules/ext.wikimediaEvents.searchSatisfaction.js
index f6fc63f..5c13802 100644
--- a/modules/ext.wikimediaEvents.searchSatisfaction.js
+++ b/modules/ext.wikimediaEvents.searchSatisfaction.js
@@ -113,7 +113,8 @@
function initialize( session ) {
 
var sessionId = session.get( 'sessionId' ),
-   sampleSize = 200,
+   haveSubTest = [ 'zhwiki', 'thwiki', 'jawiki' 
].indexOf( mw.config.get( 'wgDBname' ) ) >= 0,
+   sampleSize = haveSubTest ? 16 : 200,
/**
 * Determines whether the user is part of the 
population size.
 *
@@ -162,6 +163,20 @@
// have a search session id, generate one.
if ( !session.set( 'sessionId', randomToken() ) 
) {
return;
+   }
+
+   // 12 out of 13 users chosen to participate in 
the test will be
+   // assigned to a sub test.
+   // rough math:
+   //  ~260k sessions/wk
+   //  16.25k sessions in test (1:16)
+   //  15k sessions split between buckets (1:13)
+   //  7.5k sessions/bucket/wk
+   if ( haveSubTest && !oneIn( 13 ) ) {
+   session.set( 'subTest', chooseBucket( [
+   'bm25:control',
+   'bm25:inclinks_pv'
+   ] ) );
}
}
 
@@ -707,8 +722,13 @@
// text setup, so wrap in atMostOnce to ensure it's
// only run once.
initSubTest = atMostOnce( function ( session ) {
-   // jshint unused:false
-   // no sub test currently running
+   if ( session.get( 'subTest' ) ) {
+   $( '' ).attr( {
+   type: 'hidden',
+   name: 'cirrusUserTesting',
+   value: session.get( 'subTest' )
+   } ).prependTo( $( 'input[type=search]' ).closest( 
'form' ) );
+   }
} );
 
/**

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6f07fd913e8c8a2c41afe0bd02a43cfe13c14533
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
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] wikimedia...crm[master]: Add pager back to damaged message form

2016-10-17 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review.

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

Change subject: Add pager back to damaged message form
..

Add pager back to damaged message form

Bulk checkboxes are still there, but seem to require clicking delete
twice. Checking to see if this was an issue in the initial draft.

Bug: T142058
Change-Id: Ib5e07153a52273f3b0f1b111e473b9c68051008d
---
M sites/all/modules/wmf_common/wmf_common.module
1 file changed, 17 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/92/316492/1

diff --git a/sites/all/modules/wmf_common/wmf_common.module 
b/sites/all/modules/wmf_common/wmf_common.module
index bbb5a64..19b7ed6 100644
--- a/sites/all/modules/wmf_common/wmf_common.module
+++ b/sites/all/modules/wmf_common/wmf_common.module
@@ -354,7 +354,7 @@
'#maxlength' => 256,
);
 
-   $form['queue'] = array(
+   $form['original_queue'] = array(
'#type' => 'textfield',
'#title' => 'Queue',
'#maxlength' => 256,
@@ -394,21 +394,26 @@
 function wmf_common_damaged_perform_query( $form, &$form_state ) {
$query = Database::getConnection( 'default', 'smashpig' )
->select( 'damaged', 'd' )
-   ->fields( 'd', array(
+   ->extend( 'PagerDefault' );
+
+   $query->fields( 'd', array(
'id', 'original_date', 'damaged_date', 'original_queue',
'gateway', 'order_id', 'gateway_txn_id', 'error'
) )
->orderBy( 'damaged_date', 'DESC' )
->condition( 'retry_date', null );
 
-   if ( !empty( $form_state['input']['gateway'] ) ) {
-   $query->condition( 'gateway', $form_state['input']['gateway'] );
+   $allowedFields = array( 'gateway', 'original_queue' );
+   $parameters = array();
+
+   foreach( $allowedFields as $field ) {
+   if ( !empty( $form_state['input'][$field] ) ) {
+   $query->condition( $field, $form_state['input'][$field] 
);
+   $parameters[$field] = $form_state['input'][$field];
+   }
}
 
-   if ( !empty( $form_state['input']['queue'] ) ) {
-   $query->condition( 'original_queue', 
$form_state['input']['queue'] );
-   }
-
+   $query->limit( 10 );
$rows = $query
->execute()
->fetchAllAssoc( 'id', PDO::FETCH_ASSOC );
@@ -433,6 +438,10 @@
'#options' => $rows,
'#empty' => 'Nothing in the damaged message table!  Be very 
suspicious...',
);
+   $form['pager'] = array(
+   '#theme' => 'pager',
+   '#parameters' => $parameters
+   );
 
$form['resend'] = array(
'#type' => 'submit',

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

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

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


[MediaWiki-commits] [Gerrit] wikimedia...crm[master]: Horrible terrible drupal form workaround

2016-10-17 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review.

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

Change subject: Horrible terrible drupal form workaround
..

Horrible terrible drupal form workaround

Flailing around till somehow bulk operations work whether or not
you've submitted the form previously.

Bug: T142058
Change-Id: I04ab90102572c3bb55fc2f53652c6619b8093c22
---
M sites/all/modules/wmf_common/wmf_common.module
1 file changed, 28 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/93/316493/1

diff --git a/sites/all/modules/wmf_common/wmf_common.module 
b/sites/all/modules/wmf_common/wmf_common.module
index 19b7ed6..5c64489 100644
--- a/sites/all/modules/wmf_common/wmf_common.module
+++ b/sites/all/modules/wmf_common/wmf_common.module
@@ -339,13 +339,20 @@
 }
 
 function wmf_common_damaged_search_form( $form, &$form_state ) {
-   if (
-   isset( $form_state['confirm_delete'] ) &&
-   isset( $form_state['values']['table'] )
-   ) {
-   return wmf_common_damaged_confirm_delete(
-   $form, $form_state['values']['table']
-   );
+   if ( isset( $form_state['confirm_delete'] ) ) {
+   // WTF. If you try to do a bulk operation after loading the form
+   // once, the selected IDs go in $form_state['input']['table']. 
If
+   // you do the bulk operation after submitting a search, they go 
in
+   // $form_state['values']['table']
+   if ( isset( $form_state['values']['table'] ) ) {
+   return wmf_common_damaged_confirm_delete(
+   $form, $form_state['values']['table']
+   );
+   } else if ( isset( $form_state['input']['table'] ) ) {
+   return wmf_common_damaged_confirm_delete(
+   $form, $form_state['input']['table']
+   );
+   }
}
 
$form['gateway'] = array(
@@ -372,6 +379,20 @@
empty( $form_state['input']['op'] ) // Run query on first load
) {
return wmf_common_damaged_perform_query( $form, $form_state );
+   } else {
+   // Terrible hack. If these buttons are not added here, drupal
+   // assumes that the triggering button is always search.
+   $form['resend'] = array(
+   '#type' => 'submit',
+   '#value' => t( 'Resend' ),
+   '#disabled' => 'disabled',
+   '#hidden' => 'true',
+   );
+   $form['delete'] = array(
+   '#type' => 'submit',
+   '#value' => t( 'Delete' ),
+   '#hidden' => 'true',
+   );
}
 
return $form;

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

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

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


[MediaWiki-commits] [Gerrit] wikimedia...dashboard[master]: Deploy 'show all kpi data' for search metrics dash

2016-10-17 Thread Bearloga (Code Review)
Bearloga has submitted this change and it was merged.

Change subject: Deploy 'show all kpi data' for search metrics dash
..


Deploy 'show all kpi data' for search metrics dash

Change-Id: I2f452f9f91c23432014019138d5751a05267cbe5
---
M shiny-server/metrics
1 file changed, 1 insertion(+), 1 deletion(-)

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



diff --git a/shiny-server/metrics b/shiny-server/metrics
index daa4750..d4999e5 16
--- a/shiny-server/metrics
+++ b/shiny-server/metrics
@@ -1 +1 @@
-Subproject commit daa47502407af7f1bbd62e32240dbb06d737b859
+Subproject commit d4999e5b6f387689c99895e58c98be1e3a9c58a9

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2f452f9f91c23432014019138d5751a05267cbe5
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/dashboard
Gerrit-Branch: master
Gerrit-Owner: Bearloga 
Gerrit-Reviewer: Bearloga 

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


[MediaWiki-commits] [Gerrit] wikimedia...dashboard[master]: Deploy 'show all kpi data' for search metrics dash

2016-10-17 Thread Bearloga (Code Review)
Bearloga has uploaded a new change for review.

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

Change subject: Deploy 'show all kpi data' for search metrics dash
..

Deploy 'show all kpi data' for search metrics dash

Change-Id: I2f452f9f91c23432014019138d5751a05267cbe5
---
M shiny-server/metrics
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/dashboard 
refs/changes/91/316491/1

diff --git a/shiny-server/metrics b/shiny-server/metrics
index daa4750..d4999e5 16
--- a/shiny-server/metrics
+++ b/shiny-server/metrics
@@ -1 +1 @@
-Subproject commit daa47502407af7f1bbd62e32240dbb06d737b859
+Subproject commit d4999e5b6f387689c99895e58c98be1e3a9c58a9

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2f452f9f91c23432014019138d5751a05267cbe5
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/dashboard
Gerrit-Branch: master
Gerrit-Owner: Bearloga 

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


[MediaWiki-commits] [Gerrit] wikimedia...golden[master]: [WIP] Fix PaulScore & update TSS2 refs

2016-10-17 Thread Bearloga (Code Review)
Bearloga has uploaded a new change for review.

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

Change subject: [WIP] Fix PaulScore & update TSS2 refs
..

[WIP] Fix PaulScore & update TSS2 refs

- Fixes PaulScore calculation for autocomplete events
  using the new did you mean event logging
- Updates the revision number for TestSearchSatisfaction2
  schema that integrates did you mean
  NOTE: the new revision won't activate until 2016-10-25
  which is when I8983a9677ffd9d98c8a347ef0961c2f0e874393f
  is scheduled for deployment; so do not merge until then

Bug: T144424
Change-Id: Ic832def4db6fa95d106a5a7dd780ec220b3e66cd
---
M search/paulscore.R
1 file changed, 18 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/golden 
refs/changes/90/316490/1

diff --git a/search/paulscore.R b/search/paulscore.R
index e6d2fd3..6119bef 100644
--- a/search/paulscore.R
+++ b/search/paulscore.R
@@ -10,23 +10,25 @@
   date <- gsub(x = date, pattern = "-", replacement = "")
   
   query <- paste0("SELECT
-  date, event_source,
-  ", paste0("ROUND(SUM(pow_", 1:9,")/COUNT(1), 3) AS pow_", 1:9, collapse = 
",\n  "), "
-FROM (
-  SELECT
-LEFT(timestamp, 8) AS date,
-event_source,
-event_searchSessionId,
-", paste0("SUM(IF(event_action = 'click', POW(0.", 1:9, ", 
event_position), 0)) / SUM(IF(event_action = 'searchResultPage', 1, 0)) AS 
pow_", 1:9, collapse = ",\n"), "
-  FROM TestSearchSatisfaction2_15922352
-  WHERE
-LEFT(timestamp, 8) = '", date, "'
-AND event_action IN ('searchResultPage', 'click')
-AND (event_subTest IS NULL OR event_subTest IN ('null','baseline'))
-  GROUP BY date, event_source, event_searchSessionId
-) AS pows
-GROUP BY date, event_source;") # cat(query) if you want to copy and paste into 
MySQL CLI
+date, event_source,
+", paste0("ROUND(SUM(pow_", 1:9,")/COUNT(1), 3) AS pow_", 1:9, collapse = 
",\n  "), "
+FROM (
+  SELECT
+event_searchSessionId,
+event_source,
+LEFT(MIN(timestamp), 8) as date,
+", paste0("SUM(IF(event_action = 'click', POW(0.", 1:9, ", 
event_position), 0)) / SUM(IF(event_action = 'searchResultPage', 1, 0)) AS 
pow_", 1:9, collapse = ",\n"), "
+  FROM TestSearchSatisfaction2_15922352
+  WHERE
+LEFT(timestamp, 8) = '", date, "'
+AND event_action IN ('searchResultPage', 'click')
+AND IF(event_source = 'autocomplete', event_inputLocation = 'header', 
TRUE)
+AND IF(event_source = 'autocomplete' AND event_action = 'click', 
event_position >= 0, TRUE)
+GROUP BY event_searchSessionId, event_source
+) AS pows
+GROUP BY date, event_source;") # cat(query) if you want to copy and paste 
into MySQL CLI
   # See https://phabricator.wikimedia.org/T144424 for more details.
+  
   data <- wmf::mysql_read(query, "log")
   data$date <- lubridate::ymd(data$date)
   

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

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

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


[MediaWiki-commits] [Gerrit] wikimedia...golden[master]: Update TSS2 revision number

2016-10-17 Thread Bearloga (Code Review)
Bearloga has uploaded a new change for review.

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

Change subject: Update TSS2 revision number
..

Update TSS2 revision number

Erik is adding "did you mean" to TestSearchSatisfaction2 schema
so we need to update the revision number after the patch goes live.

Depends-On: I8983a9677ffd9d98c8a347ef0961c2f0e874393f
Change-Id: I6a9c64761a38d8a69ecac7fe8e5c6f3cbd20b741
---
M search/desktop.R
M search/paulscore.R
2 files changed, 2 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/golden 
refs/changes/89/316489/1

diff --git a/search/desktop.R b/search/desktop.R
index 9f41110..5ac17e2 100644
--- a/search/desktop.R
+++ b/search/desktop.R
@@ -1,7 +1,7 @@
 # Per-file config:
 base_path <- paste0(write_root, "search/")
 
-main <- function(date = NULL, table = "TestSearchSatisfaction2_15700292"){
+main <- function(date = NULL, table = "TestSearchSatisfaction2_15922352"){
   
   # Retrieve data
   data <- wmf::build_query(fields = "SELECT
diff --git a/search/paulscore.R b/search/paulscore.R
index 1451183..e6d2fd3 100644
--- a/search/paulscore.R
+++ b/search/paulscore.R
@@ -18,7 +18,7 @@
 event_source,
 event_searchSessionId,
 ", paste0("SUM(IF(event_action = 'click', POW(0.", 1:9, ", 
event_position), 0)) / SUM(IF(event_action = 'searchResultPage', 1, 0)) AS 
pow_", 1:9, collapse = ",\n"), "
-  FROM TestSearchSatisfaction2_15700292
+  FROM TestSearchSatisfaction2_15922352
   WHERE
 LEFT(timestamp, 8) = '", date, "'
 AND event_action IN ('searchResultPage', 'click')

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

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

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


[MediaWiki-commits] [Gerrit] mediawiki...WikipediaExtracts[master]: Add language validation

2016-10-17 Thread Sophivorus (Code Review)
Sophivorus has uploaded a new change for review.

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

Change subject: Add language validation
..

Add language validation

- Also smarter language guess
- Also link to Wikipedia after every extract

Change-Id: Icaf0a20dc74b1fd179bc5e77d9696e2e6507959d
---
M WikipediaExtracts.php
M i18n/en.json
M i18n/es.json
M i18n/fr.json
M i18n/qqq.json
5 files changed, 28 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikipediaExtracts 
refs/changes/88/316488/1

diff --git a/WikipediaExtracts.php b/WikipediaExtracts.php
index b8db1ce..5696dec 100644
--- a/WikipediaExtracts.php
+++ b/WikipediaExtracts.php
@@ -25,12 +25,23 @@
extract( $args );
if ( $input ) {
if ( filter_var( $input, FILTER_VALIDATE_URL ) ) {
+   // Extract the title
$path = parse_url( $input, PHP_URL_PATH );
$PATH = explode( '/', $path );
$title = $PATH[2];
+
+   // Extract the language
+   $host = parse_url( $input, PHP_URL_HOST );
+   $HOST = explode( '.', $host );
+   $language = $HOST[0];
} else {
$title = $input;
}
+   }
+
+   // Validate language code
+   if ( !is_string( $language ) or strlen( $language ) > 3 ) {
+   return '' . wfMessage( 
'wikipediaextracts-invalid-language', $language ) . '';
}
 
// Query the Wikipedia API
@@ -58,6 +69,8 @@
return '' . wfMessage( 
'wikipediaextracts-404', $title ) . '';
}
$extract = $value->extract;
+   $url = 'https://' . $language . '.wikipedia.org/wiki/' 
. urlencode( $title );
+   $extract .= wfMessage( 'wikipediaextracts-credits', 
$url )->plain();
return $extract;
}
}
@@ -80,14 +93,25 @@
extract( $options );
if ( $input ) {
if ( filter_var( $input, FILTER_VALIDATE_URL ) ) {
+   // Extract the title
$path = parse_url( $input, PHP_URL_PATH );
$PATH = explode( '/', $path );
$title = $PATH[2];
+
+   // Extract the language
+   $host = parse_url( $input, PHP_URL_HOST );
+   $HOST = explode( '.', $host );
+   $language = $HOST[0];
} else {
$title = $input;
}
}
 
+   // Validate language code
+   if ( !is_string( $language ) or strlen( $language ) > 3 ) {
+   return '' . wfMessage( 
'wikipediaextracts-invalid-language', $language ) . '';
+   }
+
// Query the Wikipedia API
$data = array(
'action' => 'query',
diff --git a/i18n/en.json b/i18n/en.json
index 05fc55a..ba72498 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -6,5 +6,6 @@
},
"wikipediaextracts-desc": "Enables to insert content extracted directly 
from Wikipedia.",
"wikipediaextracts-404": "The page '$1' was not found in the English 
Wikipedia",
+   "wikipediaextracts-invalid-language": "The language code '$1' is 
invalid",
"wikipediaextracts-credits": "Extracted from [$1 
Wikipedia]"
 }
\ No newline at end of file
diff --git a/i18n/es.json b/i18n/es.json
index 24fd951..2dcad0c 100644
--- a/i18n/es.json
+++ b/i18n/es.json
@@ -6,5 +6,6 @@
},
"wikipediaextracts-desc": "Permite insertar contenido extraido 
directamente de Wikipedia.",
"wikipediaextracts-404": "La página '$1' no fue encontrada en la 
Wikipedia en español",
+   "wikipediaextracts-invalid-language": "El código de lenguaje '$1' es 
inválido",
"wikipediaextracts-credits": "Extraído de [$1 Wikipedia]"
 }
\ No newline at end of file
diff --git a/i18n/fr.json b/i18n/fr.json
index c1f926f..7a09a3a 100644
--- a/i18n/fr.json
+++ b/i18n/fr.json
@@ -7,5 +7,6 @@
},
"wikipediaextracts-desc": "Permet d'insérer du contenu extrait 
directement de Wikipédia Français.",
"wikipediaextracts-404": "La page '$1' n'a pas été trouvée sur 
Wikipédia",
+   "wikipediaextracts-invalid-language": "The language code '$1' is 
invalid",
"wikipediaextracts-credits": "Extrait de [$1 Wikipédia]"
 }
\ No newline at end of file
diff --git a/i18n/qqq.json 

[MediaWiki-commits] [Gerrit] wikimedia...rainbow[master]: Show all available KPI data

2016-10-17 Thread Chelsyx (Code Review)
Chelsyx has submitted this change and it was merged.

Change subject: Show all available KPI data
..


Show all available KPI data

+ Adds option to view all available date for KPIs
  (in addition to 7/30/60/90 days)

Change-Id: I168ade47e60cd11be175eb1527f2752197361297
---
M server.R
M tab_documentation/kpis_summary.md
M ui.R
3 files changed, 53 insertions(+), 14 deletions(-)

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



diff --git a/server.R b/server.R
index 339306b..127b429 100644
--- a/server.R
+++ b/server.R
@@ -406,6 +406,9 @@
   output$kpi_summary_date_range <- renderUI({
 date_range <- input$kpi_summary_date_range_selector
 switch(date_range,
+   all = {
+ return(NULL)
+   },
daily = {
  dates <- Sys.Date() - c(1, 2)
  temp <- dates %>%
@@ -455,6 +458,9 @@
 
   output$kpi_summary_box_load_time <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
+if (date_range == "all") {
+  return(valueBox(subtitle = "Load time", value = "N/A", color = "black"))
+}
 x <- list(desktop_load_data, mobile_load_data, android_load_data, 
ios_load_data) %>%
   lapply(polloi::subset_by_date_range, from = start_date(date_range), to = 
Sys.Date() - 1) %>%
   lapply(function(data_tail) return(data_tail$Median))
@@ -477,6 +483,9 @@
   })
   output$kpi_summary_box_zero_results <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
+if (date_range == "all") {
+  return(valueBox(subtitle = "Zero results rate", value = "N/A", color = 
"black"))
+}
 x <- polloi::subset_by_date_range(failure_data_with_automata, from = 
start_date(date_range), to = Sys.Date() - 1)
 x <- transform(x, Rate = rate)$Rate
 if (date_range == "quarterly") {
@@ -499,6 +508,9 @@
   })
   output$kpi_summary_box_api_usage <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
+if (date_range == "all") {
+  return(valueBox(subtitle = "API usage", value = "N/A", color = "black"))
+}
 x <- split_dataset %>%
   lapply(polloi::subset_by_date_range, from = start_date(date_range), to = 
Sys.Date() - 1) %>%
   lapply(function(x) return(x$events)) %>%
@@ -522,11 +534,9 @@
   })
   output$kpi_summary_box_augmented_clickthroughs <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
-#= We can delete this block after we get 90 days of data =
-if ( (date_range == "monthly" && (Sys.Date()-1)-60 < 
as.Date("2015-09-02")) || date_range == "quarterly" && (Sys.Date()-1)-90 < 
as.Date("2015-09-02") ) {
-  return(valueBox(subtitle = "User engagement", color = "black", value = 
"NA"))
+if (date_range == "all") {
+  return(valueBox(subtitle = "User engagement", value = "N/A", color = 
"black"))
 }
-#=
 x <- polloi::subset_by_date_range(augmented_clickthroughs, from = 
start_date(date_range), to = Sys.Date() - 1)
 if (date_range == "quarterly") {
   return(valueBox(subtitle = "User engagement", color = "orange",
@@ -554,9 +564,17 @@
 smooth_level <- input$smoothing_kpi_load_time
 date_range <- input$kpi_summary_date_range_selector
 start_date <- Sys.Date() - switch(input$kpi_summary_date_range_selector,
-  daily = 1, weekly = 8, monthly = 31, 
quarterly = 91)
+  all = NA, daily = 1, weekly = 8, monthly 
= 31, quarterly = 91)
 load_times <- list(desktop_load_data, mobile_load_data, android_load_data, 
ios_load_data) %>%
-  lapply(polloi::subset_by_date_range, from = start_date, to = Sys.Date() 
- 1) %>%
+  {
+if (is.na(start_date)) {
+  lapply(., function(dataset) {
+return(dataset[!duplicated(dataset$date, dataset$event_type, 
fromLast = TRUE), ])
+  })
+} else {
+  lapply(., polloi::subset_by_date_range, from = start_date, to = 
Sys.Date() - 1)
+}
+  } %>%
   lapply(function(data_tail) return(data_tail[, c('date', 'Median')])) %>%
   { names(.) <- c("Desktop", "Mobile Web", "Android", "iOS"); . } %>%
   dplyr::bind_rows(.id = "Platform") %>%
@@ -582,9 +600,15 @@
   })
   output$kpi_zero_results_series <- renderDygraph({
 smooth_level <- input$smoothing_kpi_zero_results
-start_date <- Sys.Date() - switch(input$kpi_summary_date_range_selector, 
daily = 1, weekly = 8, monthly = 31, quarterly = 91)
+start_date <- Sys.Date() - switch(input$kpi_summary_date_range_selector, 
all = NA, daily = 1, weekly = 8, monthly = 31, quarterly = 91)
 zrr <- failure_data_with_automata %>%
-  polloi::subset_by_date_range(from = start_date, to = Sys.Date()) %>%
+  {
+if (is.na(start_date)) {
+  .
+} else {
+  

[MediaWiki-commits] [Gerrit] operations/puppet[production]: labsdb: maintain-views option to purge unspecified views

2016-10-17 Thread Rush (Code Review)
Rush has uploaded a new change for review.

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

Change subject: labsdb: maintain-views option to purge unspecified views
..

labsdb: maintain-views option to purge unspecified views

--clean now allows the script to compare active views with
views in the wild and drop stale ones.  This makes the list of
views declarative.

Change-Id: I260405c3767d1c2b081b4132a34c7cea90505314
---
M modules/role/files/labsdb/maintain-views.py
1 file changed, 43 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/87/316487/1

diff --git a/modules/role/files/labsdb/maintain-views.py 
b/modules/role/files/labsdb/maintain-views.py
index b1cb9d0..d5f4af9 100644
--- a/modules/role/files/labsdb/maintain-views.py
+++ b/modules/role/files/labsdb/maintain-views.py
@@ -52,6 +52,28 @@
 if not self.dry_run:
 self.cursor.execute(query)
 
+def drop_view(self, view):
+""" Drop an obsolete view
+:param view: str
+"""
+self.write_execute("drop view {}.{}".format(self.db_p, view))
+return not self.table_exists(view, self.db_p)
+
+def tables(self, database):
+""" Determine whether a table of the given name exists in the database 
of
+the given name.
+:param database: str
+:returns: list
+"""
+self.cursor.execute("""
+SELECT `table_name`
+FROM `information_schema`.`tables`
+WHERE `table_schema`=%s;
+""", args=(database))
+
+dbtables = self.cursor.fetchall()
+return [t[0] for t in dbtables]
+
 def user_exists(self, name):
 """ Check if a user exists
 :param name: str
@@ -70,12 +92,7 @@
 :param database: str
 :returns: bool
 """
-self.cursor.execute("""
-SELECT `table_name`
-FROM `information_schema`.`tables`
-WHERE `table_name`=%s AND `table_schema`=%s;
-""", args=(table, database))
-return bool(self.cursor.rowcount)
+return table in self.tables(database=database)
 
 def database_exists(self, database):
 """ Verify if a DB exists
@@ -290,6 +307,12 @@
 action="store_true"
 )
 argparser.add_argument(
+"--clean",
+help=("Clean out views from _p varient that are no longer specified"
+  " make changes."),
+action="store_true"
+)
+argparser.add_argument(
 "--replace-all",
 help=("Give this parameter if you don't want the script to prompt"
   " before replacing views."),
@@ -315,6 +338,11 @@
 except yaml.YAMLError as exc:
 logging.critical(exc)
 sys.exit(1)
+
+all_tables = []
+all_tables = all_tables + config['fullviews']
+all_tables = all_tables + config['logging_whitelist']
+all_tables = all_tables + list(config['customviews'].keys())
 
 dbs_metadata = config['metadata']
 sensitive_db_lists = config['sensitive_db_lists']
@@ -347,7 +375,7 @@
 all_dbs_file = "{}/dblists/all.dblist".format(args.mediawiki_config)
 with open(all_dbs_file) as f:
 all_available_dbs = f.read().splitlines()
-all_available_dbs.extend(config['add_to_all_dbs'])
+all_available_dbs = all_available_dbs + ['add_to_all_dbs']
 
 # argparse will ensure we are declaring explicitly
 dbs = all_available_dbs
@@ -385,8 +413,16 @@
db,
db_info.get('size', None),
cursor)
+
 if not ops.user_exists(ops.definer):
 logging.critical("Definer has not been created")
 sys.exit(1)
 
 ops.execute(config["fullviews"], customviews)
+
+if args.clean:
+live_tables = ops.tables(ops.db_p)
+dead_tables = [t for t in live_tables if t not in all_tables]
+for dt in dead_tables:
+logging.info("Dropping view {}".format(dt))
+ops.drop_view(dt)

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

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

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Move most of MWCryptHKDF into libs

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Move most of MWCryptHKDF into libs
..


Move most of MWCryptHKDF into libs

Dependency-inject the MediaWiki-specific parts into a CryptHKDF
instance, which MWCryptHKDF wraps around.

Change-Id: Idff18635cfd8a3d93ea2ca8d56cdbd11eb4d3b2b
---
M autoload.php
M includes/MediaWikiServices.php
M includes/ServiceWiring.php
A includes/libs/CryptHKDF.php
M includes/utils/MWCryptHKDF.php
M tests/phpunit/includes/MediaWikiServicesTest.php
6 files changed, 322 insertions(+), 237 deletions(-)

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



diff --git a/autoload.php b/autoload.php
index 936b261..1beb00c 100644
--- a/autoload.php
+++ b/autoload.php
@@ -296,6 +296,7 @@
'CreateAndPromote' => __DIR__ . '/maintenance/createAndPromote.php',
'CreateFileOp' => __DIR__ . 
'/includes/libs/filebackend/fileop/CreateFileOp.php',
'CreditsAction' => __DIR__ . '/includes/actions/CreditsAction.php',
+   'CryptHKDF' => __DIR__ . '/includes/libs/CryptHKDF.php',
'CryptRand' => __DIR__ . '/includes/libs/CryptRand.php',
'CssContent' => __DIR__ . '/includes/content/CssContent.php',
'CssContentHandler' => __DIR__ . 
'/includes/content/CssContentHandler.php',
diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php
index 7f94ced..53be334 100644
--- a/includes/MediaWikiServices.php
+++ b/includes/MediaWikiServices.php
@@ -3,6 +3,7 @@
 
 use Config;
 use ConfigFactory;
+use CryptHKDF;
 use CryptRand;
 use EventRelayerGroup;
 use GenderCache;
@@ -534,6 +535,14 @@
 
/**
 * @since 1.28
+* @return CryptHKDF
+*/
+   public function getCryptHKDF() {
+   return $this->getService( 'CryptHKDF' );
+   }
+
+   /**
+* @since 1.28
 * @return MediaHandlerFactory
 */
public function getMediaHandlerFactory() {
diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php
index 49183e5..a071ff7 100644
--- a/includes/ServiceWiring.php
+++ b/includes/ServiceWiring.php
@@ -184,6 +184,29 @@
);
},
 
+   'CryptHKDF' => function( MediaWikiServices $services ) {
+   $config = $services->getMainConfig();
+
+   $secret = $config->get( 'HKDFSecret' ) ?: $config->get( 
'SecretKey' );
+   if ( !$secret ) {
+   throw new RuntimeException( "Cannot use MWCryptHKDF 
without a secret." );
+   }
+
+   // In HKDF, the context can be known to the attacker, but this 
will
+   // keep simultaneous runs from producing the same output.
+   $context = [ microtime(), getmypid(), gethostname() ];
+
+   // Setup salt cache. Use APC, or fallback to the main cache if 
it isn't setup
+   $cache = $services->getLocalServerObjectCache();
+   if ( $cache instanceof EmptyBagOStuff ) {
+   $cache = ObjectCache::getLocalClusterInstance();
+   }
+
+   return new CryptHKDF( $secret, $config->get( 'HKDFAlgorithm' ),
+   $cache, $context, $services->getCryptRand()
+   );
+   },
+
'MediaHandlerFactory' => function( MediaWikiServices $services ) {
return new MediaHandlerFactory(
$services->getMainConfig()->get( 'MediaHandlers' )
diff --git a/includes/libs/CryptHKDF.php b/includes/libs/CryptHKDF.php
new file mode 100644
index 000..4c86757
--- /dev/null
+++ b/includes/libs/CryptHKDF.php
@@ -0,0 +1,282 @@
+http://www.gnu.org/copyleft/gpl.html
+ *
+ * @author Chris Steipp
+ * @file
+ */
+
+class CryptHKDF {
+
+   /**
+* @var BagOStuff The persistent cache
+*/
+   protected $cache = null;
+
+   /**
+* @var string Cache key we'll use for our salt
+*/
+   protected $cacheKey = null;
+
+   /**
+* @var string The hash algorithm being used
+*/
+   protected $algorithm = null;
+
+   /**
+* @var string binary string, the salt for the HKDF
+* @see getSaltUsingCache
+*/
+   protected $salt = '';
+
+   /**
+* @var string The pseudorandom key
+*/
+   private $prk = '';
+
+   /**
+* The secret key material. This must be kept secret to preserve
+* the security properties of this RNG.
+*
+* @var string
+*/
+   private $skm;
+
+   /**
+* @var string The last block (K(i)) of the most recent expanded key
+*/
+   protected $lastK;
+
+   /**
+* a "context information" string CTXinfo (which may be null)
+* See http://eprint.iacr.org/2010/264.pdf Section 4.1
+*
+* @var array
+*/
+   protected $context = [];
+
+   /**
+* Round count is computed 

[MediaWiki-commits] [Gerrit] oojs/ui[master]: CapsuleMultiSelectWidget: Always keep input as wide as place...

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: CapsuleMultiSelectWidget: Always keep input as wide as 
placeholder text
..


CapsuleMultiSelectWidget: Always keep input as wide as placeholder text

Follows up If665d261ddba54b8b237c5c3080ecfdc05b14e11

Bug: T147813
Change-Id: Ia7b66242637c075f6472fbd6c5c274cdeefc1203
---
M src/widgets/CapsuleMultiselectWidget.js
1 file changed, 19 insertions(+), 12 deletions(-)

Approvals:
  Bartosz Dziewoński: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/widgets/CapsuleMultiselectWidget.js 
b/src/widgets/CapsuleMultiselectWidget.js
index f7bc973..ecc7bcb 100644
--- a/src/widgets/CapsuleMultiselectWidget.js
+++ b/src/widgets/CapsuleMultiselectWidget.js
@@ -181,7 +181,7 @@
if ( this.$input ) {
this.updateInputSize();
}
-   } );
+   }.bind( this ) );
 
this.onMenuItemsChange();
 };
@@ -639,26 +639,33 @@
  * @param {jQuery.Event} e Event of some sort
  */
 OO.ui.CapsuleMultiselectWidget.prototype.updateInputSize = function () {
-   var $lastItem, direction, contentWidth, currentWidth, bestWidth, 
movedPlaceholder;
+   var $lastItem, direction, contentWidth, currentWidth, bestWidth;
if ( !this.isDisabled() ) {
this.$input.css( 'width', '1em' );
$lastItem = this.$group.children().last();
direction = OO.ui.Element.static.getDir( this.$handle );
 
-   // Move the placeholder text to value to get true width
-   if ( this.$input.val() === '' ) {
+   // Get the width of the input with the placeholder text as
+   // the value and save it so that we don't keep recalculating
+   if (
+   this.contentWidthWithPlaceholder === undefined &&
+   this.$input.val() === '' &&
+   this.$input.attr( 'placeholder' ) !== undefined
+   ) {
this.$input.val( this.$input.attr( 'placeholder' ) );
-   movedPlaceholder = true;
-   }
-
-   contentWidth = this.$input[ 0 ].scrollWidth;
-   currentWidth = this.$input.width();
-
-   // Reset value
-   if ( movedPlaceholder ) {
+   this.contentWidthWithPlaceholder = this.$input[ 0 
].scrollWidth;
this.$input.val( '' );
+
}
 
+   // Always keep the input wide enough for the placeholder text
+   contentWidth = Math.max(
+   this.$input[ 0 ].scrollWidth,
+   // undefined arguments in Math.max lead to NaN
+   ( this.contentWidthWithPlaceholder === undefined ) ?
+   0 : this.contentWidthWithPlaceholder
+   );
+   currentWidth = this.$input.width();
 
if ( contentWidth < currentWidth ) {
// All is fine, don't perform expensive calculations

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia7b66242637c075f6472fbd6c5c274cdeefc1203
Gerrit-PatchSet: 2
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: Prtksxna 
Gerrit-Reviewer: Bartosz Dziewoński 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] operations/mediawiki-config[master]: Switching 10 wikis to numeric category collation per T146675

2016-10-17 Thread Kaldari (Code Review)
Kaldari has uploaded a new change for review.

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

Change subject: Switching 10 wikis to numeric category collation per T146675
..

Switching 10 wikis to numeric category collation per T146675

Bug: T146675
Change-Id: I9e035bc3508852bf622ca4a5d1883e9750ec1799
---
M wmf-config/InitialiseSettings.php
1 file changed, 10 insertions(+), 7 deletions(-)


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

diff --git a/wmf-config/InitialiseSettings.php 
b/wmf-config/InitialiseSettings.php
index 7e37ecf..f099ab6 100644
--- a/wmf-config/InitialiseSettings.php
+++ b/wmf-config/InitialiseSettings.php
@@ -14105,9 +14105,11 @@
'be_x_oldwiki' => 'uca-be-tarask', // T48005
'bewiki' => 'uca-be', // T48004
'bewikisource' => 'uca-be', // T48004
+   'bnwiki' => 'numeric', // T146675
+   'bnwikisource' => 'numeric', // T146675
'bswiki' => 'uca-bs', // T116527
'ckbwiki' => 'xx-uca-ckb', // T57630
-   'cswiki' => 'uca-cs', // T66885
+   'cswiki' => 'uca-cs-u-kn', // T66885, T146675
'cswiktionary' => 'uca-default', // T106337
'cywiki' => 'uca-cy', // T61800
'cywikibooks' => 'uca-cy', // T61800
@@ -14134,28 +14136,29 @@
'fiwikiquote' => 'uca-fi', // T48330
'fiwikisource' => 'uca-fi', // T48330
'fiwikiversity' => 'uca-fi', // T48330
-   'frwiki' => 'uca-fr', // T56680
+   'frwiki' => 'uca-fr-u-kn', // T56680, T146675
'frwikibooks' => 'uca-fr', // T74513
'frwikinews' => 'uca-fr', // T68165
'frwikiversity' => 'uca-fr', // T71782
'gdwiki' => 'uca-default', // T125315
+   'hewiki' => 'numeric', // T146675
'hsbwiki' => 'uca-hsb', // T90689
-   'huwiki' => 'uca-hu', // T47596
+   'huwiki' => 'uca-hu-u-kn', // T47596, T146675
'iswiki' => 'uca-is', // T58859
'iswiktionary' => 'identity', // T32722
-   'itwiki' => 'uca-it', // T136647
+   'itwiki' => 'uca-it-u-kn', // T136647, T146675
'ltwiki' => 'uca-lt', // T123627
'lvwiki' => 'uca-lv', // T67003
'mkwiki' => 'uca-mk-u-kn', // T26953
'nlwiki' => 'uca-nl', // T125774
-   'plwiki' => 'uca-pl', // T44413
+   'plwiki' => 'uca-pl-u-kn', // T44413, T146675
'plwikisource' => 'uca-pl', // T86821
'plwikivoyage' => 'uca-pl', // T47968
'plwiktionary' => 'uca-default', // T48081
'ptwiki' => 'uca-pt', // T47911
'ptwikibooks' => 'uca-pt', // T47911
'rswikimedia' => 'uca-sr', // T115806
-   'ruwiki' => 'uca-ru', // T54997
+   'ruwiki' => 'uca-ru-u-kn', // T54997, T146675
'ruwikibooks' => 'uca-ru', // T54997
'ruwikinews' => 'uca-ru', // T54997
'ruwikiquote' => 'uca-ru', // T54997
@@ -14194,7 +14197,7 @@
'ukwikisource' => 'uca-uk', // T47776
'ukwikivoyage' => 'uca-uk', // T48417
'ukwiktionary' => 'uca-uk', // T47776
-   'viwiki' => 'uca-vi', // T47979
+   'viwiki' => 'uca-vi-u-kn', // T47979, T146675
'viwikibooks' => 'uca-vi', // T47979
'viwikiquote' => 'uca-vi', // T47979
'viwikisource' => 'uca-vi', // T47979

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

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

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


[MediaWiki-commits] [Gerrit] mediawiki...TimedMediaHandler[master]: Made the dependency on videojs-ogvjs conditional

2016-10-17 Thread TheDJ (Code Review)
TheDJ has uploaded a new change for review.

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

Change subject: Made the dependency on videojs-ogvjs conditional
..

Made the dependency on videojs-ogvjs conditional

This saves about 112Kb compressed, so I think worth it.
TODO: Might want to merge some of this logic into ext.tmh.OgvJsSupport.js

Bug: T133228
Change-Id: Ia2f7a596ae1679e4aab85761d894945ac9929131
---
M TimedMediaHandler.hooks.php
M resources/ext.tmh.player.js
2 files changed, 26 insertions(+), 8 deletions(-)


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

diff --git a/TimedMediaHandler.hooks.php b/TimedMediaHandler.hooks.php
index 5dd38b0..6c867dc 100644
--- a/TimedMediaHandler.hooks.php
+++ b/TimedMediaHandler.hooks.php
@@ -162,7 +162,6 @@
'dependencies' => [
'ext.tmh.video-js',

'ext.tmh.videojs-resolution-switcher',
-   'ext.tmh.videojs-ogvjs',

'ext.tmh.videojs-responsive-layout',
'ext.tmh.videojs-replay',
'ext.tmh.mw-info-button',
diff --git a/resources/ext.tmh.player.js b/resources/ext.tmh.player.js
index 43fb7ea..31861ca 100755
--- a/resources/ext.tmh.player.js
+++ b/resources/ext.tmh.player.js
@@ -34,9 +34,6 @@
},
replayButton: {},
infoButton: {}
-   },
-   ogvjs: {
-   base: mw.OgvJsSupport.basePath()
}
};
 
@@ -48,11 +45,11 @@
 
/**
 * Load video players for a jQuery collection
- */
+*/
function loadVideoPlayer() {
-   var videoplayer, $videoplayer;
+   var videoplayer, $videoplayer, $collection = this;
 
-   this.each( function ( index ) {
+   function loadSinglePlayer( index ) {
videoplayer = this;
$videoplayer = $( this );
if ( $videoplayer.closest( '.video-js' ).size() ) {
@@ -129,7 +126,29 @@
videojs( videoplayer, playerConfig ).ready( function () 
{
/* More custom stuff goes here */
} );
-   } );
+   }
+
+   if( isOGVSupported() ) {
+   $collection.each( loadSinglePlayer );
+   } else {
+   mw.loader.using( 'ext.tmh.videojs-ogvjs' ).then( 
function() {
+   globalConfig.ogvjs = {
+   base: mw.OgvJsSupport.basePath()
+   };
+   $collection.each( loadSinglePlayer );
+   } );
+   }
+   }
+
+   function isOGVSupported() {
+   var el = document.createElement('video');
+   if( el && el.canPlayType && el.canPlayType( 'application/ogg' ) 
) {
+   return true;
+   }
+   return false;
+   }
+   if( !isOGVSupported() ) {
+   mw.loader.load( 'ext.tmh.videojs-ogvjs' );
}
 
$.fn.loadVideoPlayer = loadVideoPlayer;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia2f7a596ae1679e4aab85761d894945ac9929131
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TimedMediaHandler
Gerrit-Branch: master
Gerrit-Owner: TheDJ 

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


[MediaWiki-commits] [Gerrit] operations...service-checker[master]: Add .gitreview

2016-10-17 Thread Legoktm (Code Review)
Legoktm has uploaded a new change for review.

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

Change subject: Add .gitreview
..

Add .gitreview

Change-Id: I163ca19f2806b968c90bf17110e1a5b849c941c6
---
A .gitreview
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/software/service-checker 
refs/changes/84/316484/1

diff --git a/.gitreview b/.gitreview
new file mode 100644
index 000..7516f0c
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,6 @@
+[gerrit]
+host=gerrit.wikimedia.org
+port=29418
+project=operations/software/service-checker.git
+defaultbranch=master
+defaultrebase=0

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I163ca19f2806b968c90bf17110e1a5b849c941c6
Gerrit-PatchSet: 1
Gerrit-Project: operations/software/service-checker
Gerrit-Branch: master
Gerrit-Owner: Legoktm 

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Update wikimedia/utfnormal to 1.1.0

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Update wikimedia/utfnormal to 1.1.0
..


Update wikimedia/utfnormal to 1.1.0

Depends-On: I70f0372d517c68121888a70f06ce8e6b229ce97c
Change-Id: I62af09e94692ed35313376dc5db105766a4bfabe
---
M composer.json
1 file changed, 1 insertion(+), 1 deletion(-)

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



diff --git a/composer.json b/composer.json
index 884b64f..fdbd0cd 100644
--- a/composer.json
+++ b/composer.json
@@ -40,7 +40,7 @@
"wikimedia/relpath": "1.0.3",
"wikimedia/running-stat": "1.1.0",
"wikimedia/scoped-callback": "1.0.0",
-   "wikimedia/utfnormal": "1.0.3",
+   "wikimedia/utfnormal": "1.1.0",
"wikimedia/wait-condition-loop": "1.0.1",
"wikimedia/wrappedstring": "2.2.0",
"zordius/lightncandy": "0.23"

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I62af09e94692ed35313376dc5db105766a4bfabe
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Legoktm 
Gerrit-Reviewer: Reedy 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki/vendor[master]: Update wikimedia/utfnormal to 1.1.0

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Update wikimedia/utfnormal to 1.1.0
..


Update wikimedia/utfnormal to 1.1.0

Change-Id: I70f0372d517c68121888a70f06ce8e6b229ce97c
---
M composer.json
M composer.lock
M composer/installed.json
M wikimedia/utfnormal/scripts/benchmark.php
M wikimedia/utfnormal/scripts/generate.php
M wikimedia/utfnormal/scripts/memstress.php
M wikimedia/utfnormal/src/Constants.php
M wikimedia/utfnormal/src/UtfNormalData.inc
M wikimedia/utfnormal/src/UtfNormalDataK.inc
M wikimedia/utfnormal/src/Util.php
M wikimedia/utfnormal/src/Validator.php
11 files changed, 99 insertions(+), 105 deletions(-)

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




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

Gerrit-MessageType: merged
Gerrit-Change-Id: I70f0372d517c68121888a70f06ce8e6b229ce97c
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/vendor
Gerrit-Branch: master
Gerrit-Owner: Legoktm 
Gerrit-Reviewer: Reedy 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: labstore: Mount maps share simultaneously from labstore1003 ...

2016-10-17 Thread Madhuvishy (Code Review)
Madhuvishy has uploaded a new change for review.

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

Change subject: labstore: Mount maps share simultaneously from labstore1003 and 
1001
..

labstore: Mount maps share simultaneously from labstore1003 and 1001

Bug: T147657
Change-Id: Ia0e3fb63bba2d7b397930f66ef73196312f717b2
---
M hieradata/role/common/labs/nfs/misc.yaml
M modules/labstore/templates/exports.labs_extras.erb
M modules/role/manifests/labs/nfsclient.pp
3 files changed, 22 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/82/316482/1

diff --git a/hieradata/role/common/labs/nfs/misc.yaml 
b/hieradata/role/common/labs/nfs/misc.yaml
index af65f55..91d2171 100644
--- a/hieradata/role/common/labs/nfs/misc.yaml
+++ b/hieradata/role/common/labs/nfs/misc.yaml
@@ -12,6 +12,15 @@
 role::labs::nfs::misc::dump_servers_ips:
   - '208.80.154.11'
   - '208.80.152.185'
+# List of internal ips for instances on maps project, to make maps share 
available on
+# New instances must be manually added here for the nfs share to be available.
+role::labs::nfs::misc::maps_project_internal_ips:
+  - '10.68.16.6'
+  - '10.68.17.110'
+  - '10.68.16.103'
+  - '10.68.16.125'
+  - '10.68.17.33'
+  - '10.68.16.70'
 debdeploy::grains:
   debdeploy-labsnfs:
 value: standard
diff --git a/modules/labstore/templates/exports.labs_extras.erb 
b/modules/labstore/templates/exports.labs_extras.erb
index 573c86f..fd9f8e7 100644
--- a/modules/labstore/templates/exports.labs_extras.erb
+++ b/modules/labstore/templates/exports.labs_extras.erb
@@ -8,3 +8,4 @@
 /srv/dumps  *(ro,sec=sys,no_subtree_check,all_squash,nocrossmnt)
 /srv/statistics *(ro,sec=sys,no_subtree_check,all_squash,nocrossmnt)
 /srv/scratch *(rw,sec=sys,async,no_subtree_check,root_squash)
+/srv/maps   -rw,sec=sys,async,no_subtree_check,no_root_squash <%= 
Array(@maps_project_internal_ips).join(' ') %>
diff --git a/modules/role/manifests/labs/nfsclient.pp 
b/modules/role/manifests/labs/nfsclient.pp
index f053b3e..e258887 100644
--- a/modules/role/manifests/labs/nfsclient.pp
+++ b/modules/role/manifests/labs/nfsclient.pp
@@ -25,6 +25,18 @@
 lookupcache => $lookupcache,
 }
 
+if $::labsproject == 'maps' {
+labstore::nfs_mount { 'maps-on-labstore1003':
+mount_name  => 'maps',
+project => $::labsproject,
+options => ['rw', 'soft', 'timeo=300', 'retrans=3'],
+mount_path  => '/mnt/nfs/labstore1003-maps',
+server  => 'labstore1003.eqiad.wmnet',
+share_path  => '/maps',
+lookupcache => $lookupcache,
+}
+}
+
 labstore::nfs_mount { 'scratch-on-labstoresvc':
 ensure  => absent,
 mount_name  => 'scratch',

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

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

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


[MediaWiki-commits] [Gerrit] mediawiki...Popups[master]: ext.popups.schemaPopups now manages logic of whether to log ...

2016-10-17 Thread Jdlrobson (Code Review)
Jdlrobson has uploaded a new change for review.

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

Change subject: ext.popups.schemaPopups now manages logic of whether to log an 
event
..

ext.popups.schemaPopups now manages logic of whether to log an event

We can trigger events without logging to the server so instead of checking the
total interaction time duration in two places, let's always run the event and 
only
check it once.

Change-Id: Ia12932a9c930a098cc865d75f305e1f3009df21f
---
M resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
M resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
M resources/ext.popups.targets.desktopTarget/desktopTarget.js
3 files changed, 26 insertions(+), 33 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups 
refs/changes/80/316480/1

diff --git a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js 
b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
index e6bf16e..32a3074 100644
--- a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
+++ b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
@@ -81,14 +81,6 @@
mw.popups.render.API_DELAY = 50;
 
/**
-* Minimum time to log dwelledButAbandoned events. Initially considered 
as
-* 250ms to avoid accidental hovers being logged. Now logging all 
events to
-* verify data. See T145379
-* @property DWELL_EVENTS_MIN_INTERACTION_TIME
-*/
-   mw.popups.render.DWELL_EVENTS_MIN_INTERACTION_TIME = 0;
-
-   /**
 * Cache of all the popups that were opened in this session
 * @property {Object} cache
 */
@@ -382,15 +374,10 @@
function leaveInactive() {
var $activeLink = getActiveLink();
 
-   if ( logData.dwellStartTime &&
-   logData.linkInteractionToken &&
-   mw.now() - logData.dwellStartTime >= 
mw.popups.render.DWELL_EVENTS_MIN_INTERACTION_TIME
-   ) {
-   mw.track( 'ext.popups.schemaPopups', $.extend( {}, 
logData, {
-   action: 'dwelledButAbandoned',
-   totalInteractionTime: Math.round( mw.now() - 
logData.dwellStartTime )
-   } ) );
-   }
+   mw.track( 'ext.popups.schemaPopups', $.extend( {}, logData, {
+   action: 'dwelledButAbandoned',
+   totalInteractionTime: Math.round( mw.now() - 
logData.dwellStartTime )
+   } ) );
// TODO: should `blur` also be here?
$activeLink.off( 'mouseleave', leaveInactive );
if ( openTimer ) {
diff --git a/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js 
b/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
index 4e2215b..f0c5694 100644
--- a/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
+++ b/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
@@ -1,5 +1,11 @@
 ( function ( $, mw ) {
var previousLogData,
+   /*
+*Minimum time to log dwelledButAbandoned events. Initially 
considered as
+* 250ms to avoid accidental hovers being logged. Now logging 
all events to
+* verify data. See T145379
+*/
+   DWELL_EVENTS_MIN_INTERACTION_TIME = 0,
// Log the popup event as defined in the schema
// https://meta.wikimedia.org/wiki/Schema:Popups
schemaPopups = new mw.eventLog.Schema(
@@ -20,10 +26,14 @@
}
 
// Only one action is recorded per link interaction token...
-   if ( data.linkInteractionToken &&
-   data.linkInteractionToken === 
previousLogData.linkInteractionToken ) {
-   // however, the 'disabled' action takes two clicks by 
nature, so allow it
-   if ( action !== 'disabled' ) {
+   if ( data.linkInteractionToken ) {
+   // however, the 'disabled' action takes two clicks by 
nature, so do not log it
+   if (
+   data.linkInteractionToken === 
previousLogData.linkInteractionToken && action !== 'disabled'
+   ) {
+   shouldLog = false;
+   } else if ( data.dwellStartTime && mw.now() - 
data.dwellStartTime < DWELL_EVENTS_MIN_INTERACTION_TIME ) {
+   // if the hover was "accidental" we don't log 
it to server (note while set to 0 this should never happen)
shouldLog = false;
}
}
diff --git a/resources/ext.popups.targets.desktopTarget/desktopTarget.js 
b/resources/ext.popups.targets.desktopTarget/desktopTarget.js
index 

[MediaWiki-commits] [Gerrit] mediawiki...Popups[master]: Multiple hover events should not clear dwellStartTime

2016-10-17 Thread Jdlrobson (Code Review)
Jdlrobson has uploaded a new change for review.

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

Change subject: Multiple hover events should not clear dwellStartTime
..

Multiple hover events should not clear dwellStartTime

If a user has hovercards disabled, when they right click a link
this will trigger another hover event which will reset dwellStartTime.
This means when a dwelledButAbandoned event fires shortly afterwards
the totalInteractionTime will not be correct.

To remedy this, the calculation of totalInteractionTime is moved into
ext.popups.schemaPopups

A `hover` event triggers the setting of a dwell start time which is then
reset on a dwelledButAbandoned.

Since dwellStartTime is controlled inside a single place, getMassageData
no longer needs to clear it.

Bug: T147846
Change-Id: Ie5917ca86f0d0ab27f4cf507e6dfa2c271433c03
---
M resources/ext.popups.desktop/ext.popups.renderer.article.js
M resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
M resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js
M resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
M resources/ext.popups.targets.desktopTarget/desktopTarget.js
5 files changed, 17 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups 
refs/changes/81/316481/1

diff --git a/resources/ext.popups.desktop/ext.popups.renderer.article.js 
b/resources/ext.popups.desktop/ext.popups.renderer.article.js
index 12b03c8..69d9749 100644
--- a/resources/ext.popups.desktop/ext.popups.renderer.article.js
+++ b/resources/ext.popups.desktop/ext.popups.renderer.article.js
@@ -70,8 +70,7 @@
if ( data.textStatus !== 'abort' ) {
mw.track( 'ext.popups.schemaPopups', $.extend( 
logData, {
action: 'error',
-   errorState: textStatus,
-   totalInteractionTime: Math.round( 
mw.now() - logData.dwellStartTime )
+   errorState: textStatus
} ) );
}
deferred.reject();
@@ -553,8 +552,7 @@
mw.popups.settings.open( $.extend( {}, logData ) );
 
mw.track( 'ext.popups.schemaPopups', $.extend( logData, 
{
-   action: 'tapped settings cog',
-   totalInteractionTime: Math.round( mw.now() - 
logData.dwellStartTime )
+   action: 'tapped settings cog'
} ) );
} );
 
diff --git a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js 
b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
index 32a3074..2fae20a 100644
--- a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
+++ b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
@@ -32,8 +32,7 @@
 */
function logClickAction( event ) {
mw.track( 'ext.popups.schemaPopups', $.extend( {}, logData, {
-   action: mw.popups.getAction( event ),
-   totalInteractionTime: Math.round( mw.now() - 
logData.dwellStartTime )
+   action: mw.popups.getAction( event )
} ) );
}
 
@@ -42,8 +41,7 @@
 */
function logDismissAction() {
mw.track( 'ext.popups.schemaPopups', $.extend( {}, logData, {
-   action: 'dismissed',
-   totalInteractionTime: Math.round( mw.now() - 
logData.dwellStartTime )
+   action: 'dismissed'
} ) );
}
/**
@@ -375,8 +373,7 @@
var $activeLink = getActiveLink();
 
mw.track( 'ext.popups.schemaPopups', $.extend( {}, logData, {
-   action: 'dwelledButAbandoned',
-   totalInteractionTime: Math.round( mw.now() - 
logData.dwellStartTime )
+   action: 'dwelledButAbandoned'
} ) );
// TODO: should `blur` also be here?
$activeLink.off( 'mouseleave', leaveInactive );
diff --git 
a/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js 
b/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js
index 405b308..c61c392 100644
--- a/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js
+++ b/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js
@@ -93,7 +93,6 @@
 */
function getMassagedData( data ) {
data.previewCountBucket = mw.popups.getPreviewCountBucket();
-   delete data.dwellStartTime;
// Figure out `namespaceIdHover` from `pageTitleHover`.
if ( data.pageTitleHover && 

[MediaWiki-commits] [Gerrit] mediawiki...Popups[master]: Event and hover events are logged but not recorded

2016-10-17 Thread Jdlrobson (Code Review)
Jdlrobson has uploaded a new change for review.

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

Change subject: Event and hover events are logged but not recorded
..

Event and hover events are logged but not recorded

This adds two new events "display" and "hover" which are not
recorded back to the server. The benefits of having these events
is that they are important events in the lifecycle of a hovercard.

This allows us to debut trackSubscribe and ensure we see the behaviour
we expect to see.

Change-Id: I1a025d0ba56ed2b017e25a29b232810fd884d927
---
M resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
M resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
M resources/ext.popups.targets.desktopTarget/desktopTarget.js
3 files changed, 17 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups 
refs/changes/79/316479/1

diff --git a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js 
b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
index 54aa0d2..e6bf16e 100644
--- a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
+++ b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
@@ -230,6 +230,10 @@
namespaceIdHover: cache.settings.namespace,
perceivedWait: Math.round( mw.now() - 
logData.dwellStartTime )
} );
+   mw.track( 'ext.popups.schemaPopups', $.extend( {}, logData, {
+   action: 'displayed'
+   } )
+   );
 
cache.process( link, $.extend( {}, logData ) );
 
diff --git a/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js 
b/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
index afe31b3..4e2215b 100644
--- a/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
+++ b/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
@@ -9,15 +9,21 @@
);
 
mw.trackSubscribe( 'ext.popups.schemaPopups', function ( topic, data ) {
-   var shouldLog = true;
+   // We don't log hover and display events as they are not 
compatible with the schema
+   // but they are useful for debugging
+   var action = data.action,
+   shouldLog = action && [ 'hover', 'display' ].indexOf( 
action ) === -1;
 
-   data = mw.popups.schemaPopups.getMassagedData( data );
+   // since this method has side effects only restrict to it to 
the things we actually want
+   if ( shouldLog ) {
+   data = mw.popups.schemaPopups.getMassagedData( data );
+   }
 
// Only one action is recorded per link interaction token...
if ( data.linkInteractionToken &&
data.linkInteractionToken === 
previousLogData.linkInteractionToken ) {
// however, the 'disabled' action takes two clicks by 
nature, so allow it
-   if ( data.action !== 'disabled' ) {
+   if ( action !== 'disabled' ) {
shouldLog = false;
}
}
diff --git a/resources/ext.popups.targets.desktopTarget/desktopTarget.js 
b/resources/ext.popups.targets.desktopTarget/desktopTarget.js
index f8cb7cd..6ab7258 100644
--- a/resources/ext.popups.targets.desktopTarget/desktopTarget.js
+++ b/resources/ext.popups.targets.desktopTarget/desktopTarget.js
@@ -48,6 +48,10 @@
hovercardsSuppressedByGadget: 
isNavigationPopupsGadgetEnabled()
};
 
+   mw.track( 'ext.popups.schemaPopups', $.extend( {}, eventData, {
+   action: 'hover'
+   } )
+   );
// Only enable Popups when the Navigation popups gadget is not 
enabled
if ( !eventData.hovercardsSuppressedByGadget && 
mw.popups.enabled ) {
if ( mw.popups.scrolled ) {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1a025d0ba56ed2b017e25a29b232810fd884d927
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Popups
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson 

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: Remove labs puppetmaster certcleaner

2016-10-17 Thread Andrew Bogott (Code Review)
Andrew Bogott has submitted this change and it was merged.

Change subject: Remove labs puppetmaster certcleaner
..


Remove labs puppetmaster certcleaner

All of this cleanup should now happen via async 'designate sink' calls.

Bug: T146303
Change-Id: I9fb042ba6b37657b17d8a6cf3cc6095f508de3b1
---
D modules/puppetmaster/manifests/certcleaner.pp
D modules/puppetmaster/templates/certcleaner.py.erb
M modules/role/manifests/labs/puppetmaster.pp
3 files changed, 0 insertions(+), 169 deletions(-)

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



diff --git a/modules/puppetmaster/manifests/certcleaner.pp 
b/modules/puppetmaster/manifests/certcleaner.pp
deleted file mode 100644
index b0c4537..000
--- a/modules/puppetmaster/manifests/certcleaner.pp
+++ /dev/null
@@ -1,25 +0,0 @@
-# = Class: puppetmaster::certcleaner
-# Automatically signs new puppet & salt certificate requests
-class puppetmaster::certcleaner {
-
-$puppetmaster_service_name = hiera('labs_puppet_master', $::fqdn)
-
-file { '/usr/local/sbin/certcleaner.py':
-ensure  => present,
-content => template('puppetmaster/certcleaner.py.erb'),
-mode=> '0550',
-owner   => 'root',
-group   => 'root'
-}
-
-cron { 'puppet_certificate_signer':
-ensure  => absent,
-command => '/usr/local/sbin/puppetsigner.py > /dev/null 2>&1',
-}
-
-cron { 'puppet_salt_certificate_cleaner':
-command => '/usr/local/sbin/certcleaner.py > /dev/null 2>&1',
-require => File['/usr/local/sbin/certcleaner.py'],
-user=> 'root',
-}
-}
diff --git a/modules/puppetmaster/templates/certcleaner.py.erb 
b/modules/puppetmaster/templates/certcleaner.py.erb
deleted file mode 100755
index b3aa8ac..000
--- a/modules/puppetmaster/templates/certcleaner.py.erb
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/python
-
-#
-### THIS FILE IS MANAGED BY PUPPET
-### puppet:///modules/puppetmaster/templates/certcleaner.py.erb
-#
-
-import sys
-import re
-import ldapsupportlib
-import socket
-import subprocess
-import os
-import json
-import ldap
-import logging
-from optparse import OptionParser  # FIXME: Use argparse
-
-LOG = logging.getLogger('certcleaner')
-LOG.setLevel(logging.INFO)
-LOG.addHandler(logging.FileHandler('/var/log/certcleaner'))
-
-
-def getPuppetInfo(attr, conffile="/etc/puppet/puppet.conf"):
-f = open(conffile)
-for line in f:
-if line.split('=', 1)[0].strip() == attr:
-return line.split('=', 1)[1].strip()
-
-
-def purgeSaltKeys(output, minion_type):
-salt_hosts = json.loads(output)
-for host in salt_hosts[minion_type]:
-if not re.match(r'^[\.a-zA-Z0-9_-]+\.eqiad\.wmflabs$', host):
-print 'Invalid hostname', host
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-r', host])
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-d', host])
-continue
-
-ldap_query = "(&(objectclass=puppetclient)(|(dc=" + host + 
")(cnamerecord=" + host + ")(associateddomain=" + host + ")))"
-host_result = ds.search_s(basedn, ldap.SCOPE_SUBTREE, ldap_query)
-if not host_result:
-sys.stderr.write('Removing stale salt key %s\n' % host)
-LOG.warn('Removing stale salt key %s\n' % host)
-try:
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-r', host])
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-d', host])
-except subprocess.CalledProcessError:
-sys.stderr.write('Failed to remove stale salt key %s\n' % host)
-LOG.warn('Failed to remove stale salt key %s\n' % host)
-
-
-parser = OptionParser(conflict_handler="resolve")
-parser.set_usage("puppetsigner [options]")
-ldapSupportLib = ldapsupportlib.LDAPSupportLib()
-ldapSupportLib.addParserOptions(parser)
-(options, args) = parser.parse_args()
-
-ldapSupportLib.setBindInfoByOptions(options, parser)
-ds = ldapSupportLib.connect()
-basedn = ldapSupportLib.getLdapInfo('base')
-
-LOG.debug('Certcleaner run beginning')
-
-try:
-puppet_output = subprocess.check_output(['/usr/bin/puppet', 'cert', 
'list', '--all'])
-if puppet_output == '':
-hosts = []
-else:
-hosts = puppet_output.strip().split("\n")
-
-for host_string in hosts:
-host = host_string.split()
-# check to make sure hostname is actual hostname, to prevent
-# ldap injection attacks
-if host[0] == "(":
-continue  # FIXME: WAT
-if host[0] == '-':
-# Already marked as invalid or revoked
-continue
-if host[0] == '+':
-# 

[MediaWiki-commits] [Gerrit] operations/puppet[production]: Forward nova policy changes to mitaka

2016-10-17 Thread Andrew Bogott (Code Review)
Andrew Bogott has submitted this change and it was merged.

Change subject: Forward nova policy changes to mitaka
..


Forward nova policy changes to mitaka

Change-Id: I555890ce8e1957e2680d1e596561b99f89fc62ba
---
M modules/openstack/files/mitaka/nova/policy.json
1 file changed, 4 insertions(+), 0 deletions(-)

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



diff --git a/modules/openstack/files/mitaka/nova/policy.json 
b/modules/openstack/files/mitaka/nova/policy.json
index 65d1398..9744bac 100644
--- a/modules/openstack/files/mitaka/nova/policy.json
+++ b/modules/openstack/files/mitaka/nova/policy.json
@@ -187,6 +187,9 @@
 "network:delete_dns_domain": "rule:admin_or_projectadmin",
 "network:attach_external_network": "rule:admin_api",
 
+"os_compute_api:servers:detail": "",
+"os_compute_api:extensions": "rule:admin_or_member",
+"os_compute_api:servers:show": "rule:admin_or_member",
 "os_compute_api:servers:start": "rule:admin_or_projectadmin",
 "os_compute_api:servers:stop": "rule:admin_or_projectadmin",
 "os_compute_api:os-access-ips:discoverable": "rule:admin_or_member",
@@ -302,6 +305,7 @@
 "os_compute_api:os-keypairs:show": "rule:admin_or_member",
 "os_compute_api:os-keypairs:create": "rule:admin_or_projectadmin",
 "os_compute_api:os-keypairs:delete": "rule:admin_or_projectadmin",
+"os_compute_api:limits": "rule:admin_or_member",
 "os_compute_api:limits:discoverable": "rule:admin_or_member",
 "os_compute_api:os-lock-server:discoverable": "rule:admin_or_member",
 "os_compute_api:os-lock-server:lock": "rule:admin_or_projectadmin",

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

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

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: Remove labs puppetmaster certcleaner

2016-10-17 Thread Andrew Bogott (Code Review)
Andrew Bogott has uploaded a new change for review.

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

Change subject: Remove labs puppetmaster certcleaner
..

Remove labs puppetmaster certcleaner

All of this cleanup should now happen via async 'designate sink' calls.

Bug: T146303
Change-Id: I9fb042ba6b37657b17d8a6cf3cc6095f508de3b1
---
D modules/puppetmaster/manifests/certcleaner.pp
D modules/puppetmaster/templates/certcleaner.py.erb
M modules/role/manifests/labs/puppetmaster.pp
3 files changed, 0 insertions(+), 169 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/78/316478/1

diff --git a/modules/puppetmaster/manifests/certcleaner.pp 
b/modules/puppetmaster/manifests/certcleaner.pp
deleted file mode 100644
index b0c4537..000
--- a/modules/puppetmaster/manifests/certcleaner.pp
+++ /dev/null
@@ -1,25 +0,0 @@
-# = Class: puppetmaster::certcleaner
-# Automatically signs new puppet & salt certificate requests
-class puppetmaster::certcleaner {
-
-$puppetmaster_service_name = hiera('labs_puppet_master', $::fqdn)
-
-file { '/usr/local/sbin/certcleaner.py':
-ensure  => present,
-content => template('puppetmaster/certcleaner.py.erb'),
-mode=> '0550',
-owner   => 'root',
-group   => 'root'
-}
-
-cron { 'puppet_certificate_signer':
-ensure  => absent,
-command => '/usr/local/sbin/puppetsigner.py > /dev/null 2>&1',
-}
-
-cron { 'puppet_salt_certificate_cleaner':
-command => '/usr/local/sbin/certcleaner.py > /dev/null 2>&1',
-require => File['/usr/local/sbin/certcleaner.py'],
-user=> 'root',
-}
-}
diff --git a/modules/puppetmaster/templates/certcleaner.py.erb 
b/modules/puppetmaster/templates/certcleaner.py.erb
deleted file mode 100755
index b3aa8ac..000
--- a/modules/puppetmaster/templates/certcleaner.py.erb
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/python
-
-#
-### THIS FILE IS MANAGED BY PUPPET
-### puppet:///modules/puppetmaster/templates/certcleaner.py.erb
-#
-
-import sys
-import re
-import ldapsupportlib
-import socket
-import subprocess
-import os
-import json
-import ldap
-import logging
-from optparse import OptionParser  # FIXME: Use argparse
-
-LOG = logging.getLogger('certcleaner')
-LOG.setLevel(logging.INFO)
-LOG.addHandler(logging.FileHandler('/var/log/certcleaner'))
-
-
-def getPuppetInfo(attr, conffile="/etc/puppet/puppet.conf"):
-f = open(conffile)
-for line in f:
-if line.split('=', 1)[0].strip() == attr:
-return line.split('=', 1)[1].strip()
-
-
-def purgeSaltKeys(output, minion_type):
-salt_hosts = json.loads(output)
-for host in salt_hosts[minion_type]:
-if not re.match(r'^[\.a-zA-Z0-9_-]+\.eqiad\.wmflabs$', host):
-print 'Invalid hostname', host
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-r', host])
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-d', host])
-continue
-
-ldap_query = "(&(objectclass=puppetclient)(|(dc=" + host + 
")(cnamerecord=" + host + ")(associateddomain=" + host + ")))"
-host_result = ds.search_s(basedn, ldap.SCOPE_SUBTREE, ldap_query)
-if not host_result:
-sys.stderr.write('Removing stale salt key %s\n' % host)
-LOG.warn('Removing stale salt key %s\n' % host)
-try:
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-r', host])
-subprocess.check_call(['/usr/bin/salt-key', '-y', 
'--rotate-aes-key=', '-d', host])
-except subprocess.CalledProcessError:
-sys.stderr.write('Failed to remove stale salt key %s\n' % host)
-LOG.warn('Failed to remove stale salt key %s\n' % host)
-
-
-parser = OptionParser(conflict_handler="resolve")
-parser.set_usage("puppetsigner [options]")
-ldapSupportLib = ldapsupportlib.LDAPSupportLib()
-ldapSupportLib.addParserOptions(parser)
-(options, args) = parser.parse_args()
-
-ldapSupportLib.setBindInfoByOptions(options, parser)
-ds = ldapSupportLib.connect()
-basedn = ldapSupportLib.getLdapInfo('base')
-
-LOG.debug('Certcleaner run beginning')
-
-try:
-puppet_output = subprocess.check_output(['/usr/bin/puppet', 'cert', 
'list', '--all'])
-if puppet_output == '':
-hosts = []
-else:
-hosts = puppet_output.strip().split("\n")
-
-for host_string in hosts:
-host = host_string.split()
-# check to make sure hostname is actual hostname, to prevent
-# ldap injection attacks
-if host[0] == "(":
-continue  # FIXME: WAT
-if host[0] == '-':
-# Already marked as invalid or revoked
-continue
-   

[MediaWiki-commits] [Gerrit] operations/puppet[production]: Forward nova policy changes to mitaka

2016-10-17 Thread Andrew Bogott (Code Review)
Andrew Bogott has uploaded a new change for review.

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

Change subject: Forward nova policy changes to mitaka
..

Forward nova policy changes to mitaka

Change-Id: I555890ce8e1957e2680d1e596561b99f89fc62ba
---
M modules/openstack/files/mitaka/nova/policy.json
1 file changed, 4 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/77/316477/1

diff --git a/modules/openstack/files/mitaka/nova/policy.json 
b/modules/openstack/files/mitaka/nova/policy.json
index 65d1398..9744bac 100644
--- a/modules/openstack/files/mitaka/nova/policy.json
+++ b/modules/openstack/files/mitaka/nova/policy.json
@@ -187,6 +187,9 @@
 "network:delete_dns_domain": "rule:admin_or_projectadmin",
 "network:attach_external_network": "rule:admin_api",
 
+"os_compute_api:servers:detail": "",
+"os_compute_api:extensions": "rule:admin_or_member",
+"os_compute_api:servers:show": "rule:admin_or_member",
 "os_compute_api:servers:start": "rule:admin_or_projectadmin",
 "os_compute_api:servers:stop": "rule:admin_or_projectadmin",
 "os_compute_api:os-access-ips:discoverable": "rule:admin_or_member",
@@ -302,6 +305,7 @@
 "os_compute_api:os-keypairs:show": "rule:admin_or_member",
 "os_compute_api:os-keypairs:create": "rule:admin_or_projectadmin",
 "os_compute_api:os-keypairs:delete": "rule:admin_or_projectadmin",
+"os_compute_api:limits": "rule:admin_or_member",
 "os_compute_api:limits:discoverable": "rule:admin_or_member",
 "os_compute_api:os-lock-server:discoverable": "rule:admin_or_member",
 "os_compute_api:os-lock-server:lock": "rule:admin_or_projectadmin",

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I555890ce8e1957e2680d1e596561b99f89fc62ba
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Andrew Bogott 

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


[MediaWiki-commits] [Gerrit] mediawiki...Favorites[master]: Patched to work with MediaWiki 1.27.1

2016-10-17 Thread Jkmartindale (Code Review)
Jkmartindale has uploaded a new change for review.

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

Change subject: Patched to work with MediaWiki 1.27.1
..

Patched to work with MediaWiki 1.27.1

- Changed $this->user-getSkin() to $this->user in SpecialFavoriteList.php as
suggested by Subfader
- onTitleMoveComplete in FavoritesHooks.php no longer takes $user by
  reference, as suggested by Subfader
- Fixed undefined FavParser::msg() call in FavParser.php by replacing it
  with wfMessage()

Change-Id: I0dedd125345d1ca19254004d4413b87c437870b6
---
M FavParser.php
M FavoritesHooks.php
M SpecialFavoritelist.php
3 files changed, 5 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Favorites 
refs/changes/76/316476/2

diff --git a/FavParser.php b/FavParser.php
index 1426344..812d6e0 100644
--- a/FavParser.php
+++ b/FavParser.php
@@ -142,7 +142,7 @@
$output .=  $form ;
return $output;
} else {
-   $output = $this->msg('nofavoritelist')->text();
+   $output = wfMessage('nofavoritelist')->text();
return $output;
}
}
diff --git a/FavoritesHooks.php b/FavoritesHooks.php
index d03f9db..d334ef4 100644
--- a/FavoritesHooks.php
+++ b/FavoritesHooks.php
@@ -66,7 +66,7 @@
return true;
}

-   public static function onTitleMoveComplete( &$title, &$nt, &$user, 
$pageid, $redirid ) {
+   public static function onTitleMoveComplete( &$title, &$nt, $user, 
$pageid, $redirid ) {
# Update watchlists
$oldnamespace = $title->getNamespace() & ~1;
$newnamespace = $nt->getNamespace() & ~1;
diff --git a/SpecialFavoritelist.php b/SpecialFavoritelist.php
index a55e43d..4c60b47 100644
--- a/SpecialFavoritelist.php
+++ b/SpecialFavoritelist.php
@@ -91,7 +91,7 @@
$this->out->setPageTitle ( wfMessage ( 'favoritelist' ) );

$sub = wfMessage ( 'favoritelistfor', $this->user->getName () 
)->parse ();
-   $sub .= '' . FavoritelistEditor::buildTools ( 
$this->user->getSkin () );
+   $sub .= '' . FavoritelistEditor::buildTools ( $this->user 
);
$this->out->setSubtitle ( $sub );

if (($mode = FavoritelistEditor::getMode ( $this->request, $par 
)) !== false) {
@@ -112,7 +112,7 @@
$this->unfavoriteTitles ( $titles, $user );
$user->invalidateCache ();
$output->addHTML ( wfMessage ( 
'favoritelistedit-normal-done', $GLOBALS ['wgLang']->formatNum ( count ( 
$titles ) ) )->parse () );
-   $this->showTitles ( $titles, $output, 
$this->user->getSkin () );
+   $this->showTitles ( $titles, $output, $this->user );
}
$this->showNormalForm ( $output, $user );

@@ -307,7 +307,7 @@
) ) 
) );
$form .= Html::hidden ( 'token', 
$this->user->getEditToken ( 'favorite' ) );
-   $form .= $this->buildRemoveList ( $user, 
$this->user->getSkin () );
+   $form .= $this->buildRemoveList ( $user, $this->user );
$form .= '';
$output->addHTML ( $form );
}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0dedd125345d1ca19254004d4413b87c437870b6
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Favorites
Gerrit-Branch: master
Gerrit-Owner: Jkmartindale 

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


[MediaWiki-commits] [Gerrit] integration/config[master]: Install postgresql on ci-image-jessie

2016-10-17 Thread Paladox (Code Review)
Paladox has uploaded a new change for review.

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

Change subject: Install postgresql on ci-image-jessie
..

Install postgresql on ci-image-jessie

Change-Id: I65a93e2f464b4df797addc736c6861890d9da9fb
---
M dib/puppet/ciimage.pp
1 file changed, 10 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/75/316475/1

diff --git a/dib/puppet/ciimage.pp b/dib/puppet/ciimage.pp
index 0720699..7374723 100644
--- a/dib/puppet/ciimage.pp
+++ b/dib/puppet/ciimage.pp
@@ -15,6 +15,15 @@
 # the  image. T126246.
 include jenkins::slave::requisites
 
+if os_version('debian == jessie') {
+package { [
+'postgresql',
+'postgresql-contrib',
+]:
+ensure => absent,
+}
+}
+
 include contint::slave_scripts
 include contint::packages::base
 include contint::composer
@@ -67,6 +76,7 @@
 Package['build-essential'],
 ],
 }
+
 }
 
 # Overrides

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I65a93e2f464b4df797addc736c6861890d9da9fb
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Paladox 

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: Phab: Use correct location for phd's homedir

2016-10-17 Thread Chad (Code Review)
Chad has uploaded a new change for review.

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

Change subject: Phab: Use correct location for phd's homedir
..

Phab: Use correct location for phd's homedir

Who puts homedirs in /var/run?! Lol, /var/lib like all other system
users please!

<3

Change-Id: Iea1e76623394b5f4d1ac13932b9b6be7e5e53eef
---
M modules/phabricator/manifests/phd.pp
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/74/316474/1

diff --git a/modules/phabricator/manifests/phd.pp 
b/modules/phabricator/manifests/phd.pp
index 6d43b5c..b8a32c5 100644
--- a/modules/phabricator/manifests/phd.pp
+++ b/modules/phabricator/manifests/phd.pp
@@ -51,7 +51,7 @@
 user { $settings['phd.user']:
 gid=> 'phd',
 shell  => '/bin/false',
-home   => '/var/run/phd',
+home   => '/var/lib/phd',
 system => true,
 }
 

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

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

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


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: handle Namespace un/marshalling uniformly

2016-10-17 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review.

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

Change subject: Hygiene: handle Namespace un/marshalling uniformly
..

Hygiene: handle Namespace un/marshalling uniformly

Change-Id: I5c851b10baae37ffd764ebcba5ebe9b9c2be44e3
---
M app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
M app/src/main/java/org/wikipedia/json/GsonUtil.java
A app/src/test/java/org/wikipedia/json/NamespaceTypeAdapterTest.java
3 files changed, 68 insertions(+), 5 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java 
b/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
index 2daeec5..d7534bd 100644
--- a/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
+++ b/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
@@ -4,9 +4,6 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 
-import com.google.gson.annotations.JsonAdapter;
-
-import org.wikipedia.json.NamespaceTypeAdapter;
 import org.wikipedia.page.Namespace;
 import org.wikipedia.util.StringUtil;
 
@@ -16,7 +13,7 @@
 @SuppressWarnings("unused") @Nullable private Thumbnail thumbnail;
 @SuppressWarnings("unused") @Nullable private String description;
 @SuppressWarnings("unused") @Nullable private String extract;
-@SuppressWarnings("unused") @NonNull 
@JsonAdapter(NamespaceTypeAdapter.class) private Namespace namespace = 
Namespace.MAIN;
+@SuppressWarnings("unused") @NonNull private Namespace namespace = 
Namespace.MAIN;
 
 @NonNull
 public String title() {
diff --git a/app/src/main/java/org/wikipedia/json/GsonUtil.java 
b/app/src/main/java/org/wikipedia/json/GsonUtil.java
index fd9f2a9..3761d15 100644
--- a/app/src/main/java/org/wikipedia/json/GsonUtil.java
+++ b/app/src/main/java/org/wikipedia/json/GsonUtil.java
@@ -5,11 +5,14 @@
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
+import org.wikipedia.page.Namespace;
+
 public final class GsonUtil {
 private static final String DATE_FORMAT = "MMM dd,  HH:mm:ss";
 private static final Gson DEFAULT_GSON = new GsonBuilder()
 .setDateFormat(DATE_FORMAT)
 .registerTypeAdapter(Uri.class, new UriTypeAdapter())
+.registerTypeHierarchyAdapter(Namespace.class, new 
NamespaceTypeAdapter().nullSafe())
 .create();
 
 public static Gson getDefaultGson() {
@@ -17,4 +20,4 @@
 }
 
 private GsonUtil() { }
-}
+}
\ No newline at end of file
diff --git a/app/src/test/java/org/wikipedia/json/NamespaceTypeAdapterTest.java 
b/app/src/test/java/org/wikipedia/json/NamespaceTypeAdapterTest.java
new file mode 100644
index 000..afed55f
--- /dev/null
+++ b/app/src/test/java/org/wikipedia/json/NamespaceTypeAdapterTest.java
@@ -0,0 +1,63 @@
+package org.wikipedia.json;
+
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.ParameterizedRobolectricTestRunner;
+import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
+import org.wikipedia.page.Namespace;
+
+import java.util.Arrays;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.wikipedia.json.GsonMarshaller.marshal;
+import static org.wikipedia.json.GsonUnmarshaller.unmarshal;
+
+@RunWith(ParameterizedRobolectricTestRunner.class) public class 
NamespaceTypeAdapterTest {
+@Parameters(name = "{0}") public static Iterable data() {
+return Arrays.asList(new Object[][] {{DeferredParam.NULL}, 
{DeferredParam.SPECIAL},
+{DeferredParam.MAIN}, {DeferredParam.TALK}});
+}
+
+@Nullable private final Namespace namespace;
+
+public NamespaceTypeAdapterTest(@NonNull DeferredParam param) {
+this.namespace = param.val();
+}
+
+@Test public void testWriteRead() {
+Namespace result = unmarshal(Namespace.class, marshal(namespace));
+assertThat(result, is(namespace));
+}
+
+// Uri is a roboelectric mocked class which is unavailable at static time; 
defer evaluation
+// until TestRunner is executed
+private enum DeferredParam {
+NULL() {
+@Nullable @Override
+Namespace val() {
+return null;
+}
+},
+SPECIAL() {
+@Nullable @Override Namespace val() {
+return Namespace.SPECIAL;
+}
+},
+MAIN() {
+@Nullable @Override Namespace val() {
+return Namespace.MAIN;
+}
+},
+TALK() {
+@Nullable @Override Namespace val() {
+return Namespace.TALK;
+}
+};
+
+@Nullable abstract 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Fix un/marshalling of Uris to extend to subclasses

2016-10-17 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review.

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

Change subject: Fix un/marshalling of Uris to extend to subclasses
..

Fix un/marshalling of Uris to extend to subclasses

GsonBuilder.registerTypeAdapter() does not consider type hierarchies.
Uri is an abstract type so all instances will always be a subclass. Use
registerTypeHierarchyAdapter() instead. Also, move null handling to
TypeAdapter.nullSafe() and add tests.

Change-Id: I59ba6a9e32e898f28c9d1248fd39c20c71eebca1
---
M app/src/main/java/org/wikipedia/json/GsonUtil.java
M app/src/main/java/org/wikipedia/json/UriTypeAdapter.java
A app/src/test/java/org/wikipedia/json/UriTypeAdapterTest.java
3 files changed, 67 insertions(+), 7 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/json/GsonUtil.java 
b/app/src/main/java/org/wikipedia/json/GsonUtil.java
index 3761d15..81c4831 100644
--- a/app/src/main/java/org/wikipedia/json/GsonUtil.java
+++ b/app/src/main/java/org/wikipedia/json/GsonUtil.java
@@ -11,7 +11,7 @@
 private static final String DATE_FORMAT = "MMM dd,  HH:mm:ss";
 private static final Gson DEFAULT_GSON = new GsonBuilder()
 .setDateFormat(DATE_FORMAT)
-.registerTypeAdapter(Uri.class, new UriTypeAdapter())
+.registerTypeHierarchyAdapter(Uri.class, new 
UriTypeAdapter().nullSafe())
 .registerTypeHierarchyAdapter(Namespace.class, new 
NamespaceTypeAdapter().nullSafe())
 .create();
 
diff --git a/app/src/main/java/org/wikipedia/json/UriTypeAdapter.java 
b/app/src/main/java/org/wikipedia/json/UriTypeAdapter.java
index 4f06b44..07ffa51 100644
--- a/app/src/main/java/org/wikipedia/json/UriTypeAdapter.java
+++ b/app/src/main/java/org/wikipedia/json/UriTypeAdapter.java
@@ -11,17 +11,12 @@
 public class UriTypeAdapter extends TypeAdapter {
 @Override
 public void write(JsonWriter out, Uri value) throws IOException {
-out.value(value == null ? null : value.toString());
+out.value(value.toString());
 }
 
 @Override
 public Uri read(JsonReader in) throws IOException {
 String url = in.nextString();
-
-if (url == null) {
-return null;
-}
-
 return Uri.parse(url);
 }
 }
diff --git a/app/src/test/java/org/wikipedia/json/UriTypeAdapterTest.java 
b/app/src/test/java/org/wikipedia/json/UriTypeAdapterTest.java
new file mode 100644
index 000..f2e08ee
--- /dev/null
+++ b/app/src/test/java/org/wikipedia/json/UriTypeAdapterTest.java
@@ -0,0 +1,65 @@
+package org.wikipedia.json;
+
+import android.net.Uri;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.ParameterizedRobolectricTestRunner;
+import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
+import org.wikipedia.Constants;
+
+import java.util.Arrays;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.wikipedia.json.GsonMarshaller.marshal;
+import static org.wikipedia.json.GsonUnmarshaller.unmarshal;
+
+@RunWith(ParameterizedRobolectricTestRunner.class) public class 
UriTypeAdapterTest {
+@Parameters(name = "{0}") public static Iterable data() {
+return Arrays.asList(new Object[][] {{DeferredParam.NULL},
+{DeferredParam.STRING},
+{DeferredParam.OPAQUE},
+{DeferredParam.HIERARCHICAL}});
+}
+
+@Nullable private final Uri uri;
+
+public UriTypeAdapterTest(@NonNull DeferredParam param) {
+this.uri = param.val();
+}
+
+@Test public void testWriteRead() {
+Uri result = unmarshal(Uri.class, marshal(uri));
+assertThat(result, is(uri));
+}
+
+// Namespace uses a roboelectric mocked class internally, SparseArray, 
which is unavailable at
+// static time; defer evaluation until TestRunner is executed
+private enum DeferredParam {
+NULL() {
+@Nullable @Override Uri val() {
+return null;
+}
+},
+STRING() {
+@Nullable @Override Uri val() {
+return Uri.parse(Constants.WIKIPEDIA_URL);
+}
+},
+OPAQUE() {
+@Nullable @Override Uri val() {
+return Uri.fromParts("http", "mediawiki.org", null);
+}
+},
+HIERARCHICAL() {
+@Nullable @Override Uri val() {
+return Uri.EMPTY;
+}
+};
+
+@Nullable abstract Uri val();
+}
+}
\ No newline at end of file

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: update NamespaceTypeAdapter package

2016-10-17 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review.

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

Change subject: Hygiene: update NamespaceTypeAdapter package
..

Hygiene: update NamespaceTypeAdapter package

Move NamespaceTypeAdapter to org.wikipedia.json where it will be used.

Change-Id: I7e3b90156cc45ea1ee59cabee9477d487d77bafc
---
M app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
R app/src/main/java/org/wikipedia/json/NamespaceTypeAdapter.java
2 files changed, 5 insertions(+), 3 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java 
b/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
index bd5b9f8..2daeec5 100644
--- a/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
+++ b/app/src/main/java/org/wikipedia/feed/model/CardPageItem.java
@@ -6,8 +6,8 @@
 
 import com.google.gson.annotations.JsonAdapter;
 
+import org.wikipedia.json.NamespaceTypeAdapter;
 import org.wikipedia.page.Namespace;
-import org.wikipedia.page.NamespaceTypeAdapter;
 import org.wikipedia.util.StringUtil;
 
 public final class CardPageItem {
diff --git a/app/src/main/java/org/wikipedia/page/NamespaceTypeAdapter.java 
b/app/src/main/java/org/wikipedia/json/NamespaceTypeAdapter.java
similarity index 88%
rename from app/src/main/java/org/wikipedia/page/NamespaceTypeAdapter.java
rename to app/src/main/java/org/wikipedia/json/NamespaceTypeAdapter.java
index 741bef4..c13b3ef 100644
--- a/app/src/main/java/org/wikipedia/page/NamespaceTypeAdapter.java
+++ b/app/src/main/java/org/wikipedia/json/NamespaceTypeAdapter.java
@@ -1,8 +1,10 @@
-package org.wikipedia.page;
+package org.wikipedia.json;
 
 import com.google.gson.TypeAdapter;
 import com.google.gson.stream.JsonReader;
 import com.google.gson.stream.JsonWriter;
+
+import org.wikipedia.page.Namespace;
 
 import java.io.IOException;
 
@@ -18,4 +20,4 @@
 int ns = in.nextInt();
 return Namespace.of(ns);
 }
-}
+}
\ No newline at end of file

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7e3b90156cc45ea1ee59cabee9477d487d77bafc
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski 

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Remove ExtensionRegistry cache doc that is out of date

2016-10-17 Thread Addshore (Code Review)
Addshore has uploaded a new change for review.

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

Change subject: Remove ExtensionRegistry cache doc that is out of date
..

Remove ExtensionRegistry cache doc that is out of date

Change-Id: If019599baec4e8c566362744c2f565ca169b66b6
---
M includes/registration/ExtensionRegistry.php
1 file changed, 0 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/70/316470/1

diff --git a/includes/registration/ExtensionRegistry.php 
b/includes/registration/ExtensionRegistry.php
index 35044e1..4a6e696 100644
--- a/includes/registration/ExtensionRegistry.php
+++ b/includes/registration/ExtensionRegistry.php
@@ -84,9 +84,6 @@
}
 
public function __construct() {
-   // We use a try/catch instead of the $fallback parameter because
-   // we don't want to fail here if $wgObjectCaches is not 
configured
-   // properly for APC setup
try {
$this->cache = 
MediaWikiServices::getInstance()->getLocalServerObjectCache();
} catch ( MWException $e ) {

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

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

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: puppetmaster: Install self signed CA into system store too

2016-10-17 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: puppetmaster: Install self signed CA into system store too
..


puppetmaster: Install self signed CA into system store too

This allows the puppetmaster to talk to itself in a trusted
way - otherwise the client doesn't recognize the server's
CA as trusted and refuses to establish connection

Change-Id: I9b57ed78a57abdf9e814fba1f1dd3d8d3ed9084e
---
M modules/role/manifests/puppetmaster/standalone.pp
1 file changed, 4 insertions(+), 0 deletions(-)

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



diff --git a/modules/role/manifests/puppetmaster/standalone.pp 
b/modules/role/manifests/puppetmaster/standalone.pp
index 4cd50db..2df3b55 100644
--- a/modules/role/manifests/puppetmaster/standalone.pp
+++ b/modules/role/manifests/puppetmaster/standalone.pp
@@ -99,6 +99,10 @@
 }),
 }
 
+sslcert::ca { 'Puppetmaster_standalone_CA':
+source => '/var/lib/puppet/server/ssl/certs/ca.pem',
+}
+
 # Update git checkout
 class { 'puppetmaster::gitsync':
 run_every_minutes => $git_sync_minutes,

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I9b57ed78a57abdf9e814fba1f1dd3d8d3ed9084e
Gerrit-PatchSet: 3
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] apps...wikipedia[master]: WIP: Add tests for field checking with the new @Require anno...

2016-10-17 Thread Mholloway (Code Review)
Mholloway has uploaded a new change for review.

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

Change subject: WIP: Add tests for field checking with the new @Require 
annotation
..

WIP: Add tests for field checking with the new @Require annotation

Not yet passing.

Bug: T145075
Change-Id: I2f5add17352ae234ea860be1c7f291909eced67d
---
A 
app/src/test/java/org/wikipedia/json/RequiredFieldsCheckOnReadTypeAdapterTest.java
1 file changed, 161 insertions(+), 0 deletions(-)


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

diff --git 
a/app/src/test/java/org/wikipedia/json/RequiredFieldsCheckOnReadTypeAdapterTest.java
 
b/app/src/test/java/org/wikipedia/json/RequiredFieldsCheckOnReadTypeAdapterTest.java
new file mode 100644
index 000..ef1e4ba
--- /dev/null
+++ 
b/app/src/test/java/org/wikipedia/json/RequiredFieldsCheckOnReadTypeAdapterTest.java
@@ -0,0 +1,161 @@
+package org.wikipedia.json;
+
+import android.net.Uri;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+
+import org.junit.Test;
+import org.wikipedia.Constants;
+import org.wikipedia.json.annotations.Required;
+import org.wikipedia.model.BaseModel;
+
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.assertThat;
+import static org.wikipedia.json.GsonMarshaller.marshal;
+import static org.wikipedia.json.GsonUnmarshaller.unmarshal;
+
+public class RequiredFieldsCheckOnReadTypeAdapterTest {
+@Test
+public void testRequireNonNull() {
+RequiredModel expected = new RequiredModel();
+expected.field = 1;
+
+RequiredModel result = unmarshal(RequiredModel.class, 
marshal(expected));
+assertThat(result, is(expected));
+}
+
+@Test
+public void testRequireMissing() {
+RequiredModel expected = new RequiredModel();
+RequiredModel result = unmarshal(RequiredModel.class, 
marshal(expected));
+assertThat(result, nullValue());
+}
+
+@Test
+public void testRequireNull() {
+RequiredModel model = new RequiredModel();
+model.field = null;
+
+RequiredModel result = unmarshal(RequiredModel.class, marshal(model));
+assertThat(result, nullValue());
+}
+
+@Test
+public void testOptionalNonNull() {
+OptionalModel expected = new OptionalModel();
+expected.field = 1;
+OptionalModel result = unmarshal(OptionalModel.class, 
marshal(expected));
+assertThat(result, is(expected));
+}
+
+@Test
+public void testOptionalMissing() {
+OptionalModel expected = new OptionalModel();
+OptionalModel result = unmarshal(OptionalModel.class, 
marshal(expected));
+assertThat(result, is(expected));
+}
+
+@Test
+public void testOptionalNull() {
+OptionalModel expected = new OptionalModel();
+expected.field = null;
+OptionalModel result = unmarshal(OptionalModel.class, 
marshal(expected));
+assertThat(result, is(expected));
+}
+
+@Test
+public void testRequiredTypeAdapterNonNull() {
+RequiredTypeAdapterModel expected = new RequiredTypeAdapterModel();
+expected.uri = Uri.parse(Constants.WIKIPEDIA_URL);
+RequiredTypeAdapterModel result = 
unmarshal(RequiredTypeAdapterModel.class, marshal(expected));
+assertThat(result, is(expected));
+}
+
+@Test
+public void testRequiredTypeAdapterMissing() {
+RequiredTypeAdapterModel expected = new RequiredTypeAdapterModel();
+RequiredTypeAdapterModel result = 
unmarshal(RequiredTypeAdapterModel.class, marshal(expected));
+assertThat(result, nullValue());
+}
+
+@Test
+public void testRequiredTypeAdapterNull() {
+RequiredTypeAdapterModel expected = new RequiredTypeAdapterModel();
+expected.uri = null;
+RequiredTypeAdapterModel result = 
unmarshal(RequiredTypeAdapterModel.class, marshal(expected));
+assertThat(result, nullValue());
+}
+
+@Test
+public void testOptionalTypeAdapterNonNull() {
+OptionalTypeAdapterModel expected = new OptionalTypeAdapterModel();
+expected.uri = Uri.parse(Constants.WIKIPEDIA_URL);
+OptionalTypeAdapterModel result = 
unmarshal(OptionalTypeAdapterModel.class, marshal(expected));
+assertThat(result, is(expected));
+}
+
+//TODO: Wny does this test fail?
+//@Test
+public void testOptionalTypeAdapterMissing() {
+OptionalTypeAdapterModel expected = new OptionalTypeAdapterModel();
+OptionalTypeAdapterModel result = 
unmarshal(OptionalTypeAdapterModel.class, marshal(expected));
+assertThat(result, is(expected));
+}
+
+//TODO: Wny does this test fail?
+//@Test
+public void testOptionalTypeAdapterNull() {
+OptionalTypeAdapterModel expected = new 

[MediaWiki-commits] [Gerrit] operations/puppet[production]: puppetmaster: Install self signed CA into system store too

2016-10-17 Thread Yuvipanda (Code Review)
Yuvipanda has uploaded a new change for review.

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

Change subject: puppetmaster: Install self signed CA into system store too
..

puppetmaster: Install self signed CA into system store too

This allows the puppetmaster to talk to itself in a trusted
way - otherwise the client doesn't recognize the server's
CA as trusted and refuses to establish connection

Change-Id: I9b57ed78a57abdf9e814fba1f1dd3d8d3ed9084e
---
M modules/role/manifests/puppetmaster/standalone.pp
1 file changed, 4 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/68/316468/1

diff --git a/modules/role/manifests/puppetmaster/standalone.pp 
b/modules/role/manifests/puppetmaster/standalone.pp
index 4cd50db..3e1e571 100644
--- a/modules/role/manifests/puppetmaster/standalone.pp
+++ b/modules/role/manifests/puppetmaster/standalone.pp
@@ -99,6 +99,10 @@
 }),
 }
 
+sslcert::ca { 'Puppetmaster_self_CA':
+source => "/var/lib/puppet/server/ssl/certs/ca.pem"
+}
+
 # Update git checkout
 class { 'puppetmaster::gitsync':
 run_every_minutes => $git_sync_minutes,

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9b57ed78a57abdf9e814fba1f1dd3d8d3ed9084e
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] operations/dns[master]: add IPv6 AAAA and PTR for terbium and wasat

2016-10-17 Thread Dzahn (Code Review)
Dzahn has submitted this change and it was merged.

Change subject: add IPv6  and PTR for terbium and wasat
..


add IPv6  and PTR for terbium and wasat

The maintenance servers, terbium and wasat, received
mapped IPv6 addresses in I84b34ea447e8136c25.

Now add the  and PTR records.

Change-Id: Icc635e6e50fbd7e1b6c8a51fea03683c13cba758
---
M templates/0.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
M templates/1.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
M templates/wmnet
3 files changed, 4 insertions(+), 0 deletions(-)

Approvals:
  Alex Monk: Looks good to me, but someone else must approve
  Alexandros Kosiaris: Looks good to me, but someone else must approve
  Dzahn: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/templates/0.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa 
b/templates/0.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
index 848da75..6d07199 100644
--- a/templates/0.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
+++ b/templates/0.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
@@ -121,6 +121,7 @@
 9.2.0.0.8.4.0.0.2.9.1.0.0.1.0.0 1H IN PTR   cp2025.codfw.wmnet.
 0.3.0.0.8.4.0.0.2.9.1.0.0.1.0.0 1H IN PTR   cp2026.codfw.wmnet.
 
+5.4.0.0.8.4.0.0.2.9.1.0.0.1.0.0 1H IN PTR   wasat.codfw.wmnet.
 
 ; labs-hosts1-a-codfw (2620:0:860:117::/64) - RESERVED
 $ORIGIN 7.1.1.0.{{ zonename }}.
diff --git a/templates/1.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa 
b/templates/1.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
index 97df60a..c4edacc 100644
--- a/templates/1.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
+++ b/templates/1.6.8.0.0.0.0.0.0.2.6.2.ip6.arpa
@@ -118,6 +118,7 @@
 ; private1-c-eqiad (2620:0:861:103::/64)
 $ORIGIN 3.0.1.0.{{ zonename }}.
 
+3.1.0.0.2.3.0.0.4.6.0.0.0.1.0.0 1H IN PTR   terbium.eqiad.wmnet.
 1.8.0.0.2.3.0.0.4.6.0.0.0.1.0.0 1H IN PTR   cp1099.eqiad.wmnet.
 
 7.9.0.0.2.3.0.0.4.6.0.0.0.1.0.0 1H IN PTR   cp1045.eqiad.wmnet.
diff --git a/templates/wmnet b/templates/wmnet
index 56bc0e6..8461e3b 100644
--- a/templates/wmnet
+++ b/templates/wmnet
@@ -817,6 +817,7 @@
 tin 1H  IN A10.64.0.196
 tin 1H  IN  2620:0:861:101:10:64:0:196
 terbium 1H  IN A10.64.32.13
+terbium 1H  IN  2620:0:861:103:10:64:32:13
 tungsten1H  IN A10.64.0.22
 lithium 1H  IN A10.64.32.154
 logstash10011H  IN A10.64.0.122
@@ -2797,6 +2798,7 @@
 sinistra1H  IN A10.192.32.131
 suhail  1H  IN A10.192.0.121
 wasat   1H  IN A10.192.48.45
+wasat   1H  IN  2620:0:860:104:10:192:48:45
 wezen   1H  IN A10.192.48.64
 wtp2001 1H  IN A10.192.16.43
 wtp2002 1H  IN A10.192.16.44

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Icc635e6e50fbd7e1b6c8a51fea03683c13cba758
Gerrit-PatchSet: 2
Gerrit-Project: operations/dns
Gerrit-Branch: master
Gerrit-Owner: Dzahn 
Gerrit-Reviewer: Alex Monk 
Gerrit-Reviewer: Alexandros Kosiaris 
Gerrit-Reviewer: Dzahn 
Gerrit-Reviewer: Faidon Liambotis 
Gerrit-Reviewer: Mark Bergsma 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Test: Do not merge

2016-10-17 Thread Paladox (Code Review)
Paladox has uploaded a new change for review.

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

Change subject: Test: Do not merge
..

Test: Do not merge

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


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/51/316451/1


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

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

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


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: update WikiSite comments

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: update WikiSite comments
..


Hygiene: update WikiSite comments

Change-Id: Ib15b80ea0257ff854fc7346862e91f3b23d3bc7c
---
M app/src/main/java/org/wikipedia/dataclient/WikiSite.java
1 file changed, 8 insertions(+), 2 deletions(-)

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



diff --git a/app/src/main/java/org/wikipedia/dataclient/WikiSite.java 
b/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
index e31e6ed..867d1ad 100644
--- a/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
+++ b/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
@@ -62,7 +62,8 @@
 languageCode);
 }
 
-/** This method cannot resolve multi-dialect wikis like Simplified and 
Traditional Chinese. */
+/** This method cannot resolve multi-dialect wikis like Simplified and 
Traditional Chinese as
+the variant is unavailable. */
 public WikiSite(@NonNull String authority) {
 this(authority, authorityToLanguageCode(authority));
 }
@@ -84,6 +85,10 @@
 }
 
 public WikiSite(@NonNull Uri uri, @NonNull String languageCode) {
+// todo: uncomment
+// if (!supportedAuthority(uri.getAuthority())) {
+// throw new IllegalArgumentException("Unsupported authority=" + 
uri.getAuthority());
+// }
 this.uri = uri;
 this.languageCode = languageCode;
 }
@@ -174,7 +179,8 @@
 }
 
 /**
- * @return The wiki language code which may differ from the language 
subdomain.
+ * @return The wiki language code which may differ from the language 
subdomain. Empty if
+ * language code is unknown. Ex: "en", "zh-hans", ""
  *
  * @see AppLanguageLookUpTable
  */

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib15b80ea0257ff854fc7346862e91f3b23d3bc7c
Gerrit-PatchSet: 3
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] mediawiki...deploy[master]: Update mobileapps to 13fa4b4

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Update mobileapps to 13fa4b4
..


Update mobileapps to 13fa4b4

List of changes:
632e51a Add more languages to news feed
744ff8e Simplify en:TFA retrieval
5dc987e Mark reference sections with isReferenceSection flag
2c9bf67 Expose references in a new endpoint
071659b Do not relocate first paragraph in new endpoint
c597c19 Hygiene: Make adjustMemberKeys and fillInMemberKeys variadic
a33a6b4 Update to service-template-node v0.4.1
xxx Update node module dependencies

Change-Id: I507d538446d786d6e8a4c201daab85f992f76049
---
M 
node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
M 
node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
M node_modules/domino/lib/DOMTokenList.js
M node_modules/domino/lib/Document.js
M node_modules/domino/lib/Element.js
M node_modules/domino/lib/HTMLParser.js
M node_modules/domino/lib/impl.js
M node_modules/domino/package.json
M node_modules/domino/test/htmlwg/harness/index.js
M 
node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html
M 
node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html
A node_modules/domino/test/htmlwg/submission/Ms2ger/node/Element-closest.html
M node_modules/domino/test/w3c/harness/index.js
M node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js
M node_modules/preq/index.js
M node_modules/preq/node_modules/request/node_modules/aws4/aws4.js
M node_modules/preq/node_modules/request/node_modules/aws4/package.json
M node_modules/preq/package.json
M 
node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json
M src
20 files changed, 333 insertions(+), 142 deletions(-)

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



diff --git 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
index 8bc96cb..48202b3 100644
--- 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
+++ 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
@@ -19,18 +19,28 @@
 var cbs = reqs[key]
 var len = cbs.length
 var args = slice(arguments)
-for (var i = 0; i < len; i++) {
-  cbs[i].apply(null, args)
-}
-if (cbs.length > len) {
-  // added more in the interim.
-  // de-zalgo, just in case, but don't call again.
-  cbs.splice(0, len)
-  process.nextTick(function () {
-RES.apply(null, args)
-  })
-} else {
-  delete reqs[key]
+
+// XXX It's somewhat ambiguous whether a new callback added in this
+// pass should be queued for later execution if something in the
+// list of callbacks throws, or if it should just be discarded.
+// However, it's such an edge case that it hardly matters, and either
+// choice is likely as surprising as the other.
+// As it happens, we do go ahead and schedule it for later execution.
+try {
+  for (var i = 0; i < len; i++) {
+cbs[i].apply(null, args)
+  }
+} finally {
+  if (cbs.length > len) {
+// added more in the interim.
+// de-zalgo, just in case, but don't call again.
+cbs.splice(0, len)
+process.nextTick(function () {
+  RES.apply(null, args)
+})
+  } else {
+delete reqs[key]
+  }
 }
   })
 }
diff --git 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
index 4010d03..e1822f1 100644
--- 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
+++ 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
@@ -1,6 +1,6 @@
 {
   "name": "inflight",
-  "version": "1.0.5",
+  "version": "1.0.6",
   "description": "Add callbacks to requests in flight to avoid async 
duplication",
   "main": "inflight.js",
   "files": [
@@ -11,10 +11,10 @@
 "wrappy": "1"
   },
   "devDependencies": {
-"tap": "^1.2.0"
+"tap": "^7.1.2"
   },
   "scripts": {
-"test": "tap test.js"
+"test": "tap test.js --100"
   },
   "repository": {
 "type": "git",
@@ -30,19 +30,19 @@
   },
   "homepage": "https://github.com/isaacs/inflight;,
   "license": "ISC",
-  "gitHead": "559e37b4f6327fca797fe8d7fe8ed6d9cae08821",
-  "_id": "inflight@1.0.5",
-  "_shasum": "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a",
+  "gitHead": 

[MediaWiki-commits] [Gerrit] mediawiki...deploy[master]: Update mobileapps to 13fa4b4

2016-10-17 Thread BearND (Code Review)
BearND has uploaded a new change for review.

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

Change subject: Update mobileapps to 13fa4b4
..

Update mobileapps to 13fa4b4

List of changes:
632e51a Add more languages to news feed
744ff8e Simplify en:TFA retrieval
5dc987e Mark reference sections with isReferenceSection flag
2c9bf67 Expose references in a new endpoint
071659b Do not relocate first paragraph in new endpoint
c597c19 Hygiene: Make adjustMemberKeys and fillInMemberKeys variadic
a33a6b4 Update to service-template-node v0.4.1
xxx Update node module dependencies

Change-Id: I507d538446d786d6e8a4c201daab85f992f76049
---
M 
node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
M 
node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
M node_modules/domino/lib/DOMTokenList.js
M node_modules/domino/lib/Document.js
M node_modules/domino/lib/Element.js
M node_modules/domino/lib/HTMLParser.js
M node_modules/domino/lib/impl.js
M node_modules/domino/package.json
M node_modules/domino/test/htmlwg/harness/index.js
M 
node_modules/domino/test/htmlwg/submission/Ms2ger/dom-tree-accessors/document.title-06.html
M 
node_modules/domino/test/htmlwg/submission/Ms2ger/global-attributes/document-dir.html
A node_modules/domino/test/htmlwg/submission/Ms2ger/node/Element-closest.html
M node_modules/domino/test/w3c/harness/index.js
M node_modules/domino/test/w3c/level1/html/HTMLLabelElement01.js
M node_modules/preq/index.js
M node_modules/preq/node_modules/request/node_modules/aws4/aws4.js
M node_modules/preq/node_modules/request/node_modules/aws4/package.json
M node_modules/preq/package.json
M 
node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json
M src
20 files changed, 333 insertions(+), 142 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps/deploy 
refs/changes/22/316422/1

diff --git 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
index 8bc96cb..48202b3 100644
--- 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
+++ 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
@@ -19,18 +19,28 @@
 var cbs = reqs[key]
 var len = cbs.length
 var args = slice(arguments)
-for (var i = 0; i < len; i++) {
-  cbs[i].apply(null, args)
-}
-if (cbs.length > len) {
-  // added more in the interim.
-  // de-zalgo, just in case, but don't call again.
-  cbs.splice(0, len)
-  process.nextTick(function () {
-RES.apply(null, args)
-  })
-} else {
-  delete reqs[key]
+
+// XXX It's somewhat ambiguous whether a new callback added in this
+// pass should be queued for later execution if something in the
+// list of callbacks throws, or if it should just be discarded.
+// However, it's such an edge case that it hardly matters, and either
+// choice is likely as surprising as the other.
+// As it happens, we do go ahead and schedule it for later execution.
+try {
+  for (var i = 0; i < len; i++) {
+cbs[i].apply(null, args)
+  }
+} finally {
+  if (cbs.length > len) {
+// added more in the interim.
+// de-zalgo, just in case, but don't call again.
+cbs.splice(0, len)
+process.nextTick(function () {
+  RES.apply(null, args)
+})
+  } else {
+delete reqs[key]
+  }
 }
   })
 }
diff --git 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
index 4010d03..e1822f1 100644
--- 
a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
+++ 
b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
@@ -1,6 +1,6 @@
 {
   "name": "inflight",
-  "version": "1.0.5",
+  "version": "1.0.6",
   "description": "Add callbacks to requests in flight to avoid async 
duplication",
   "main": "inflight.js",
   "files": [
@@ -11,10 +11,10 @@
 "wrappy": "1"
   },
   "devDependencies": {
-"tap": "^1.2.0"
+"tap": "^7.1.2"
   },
   "scripts": {
-"test": "tap test.js"
+"test": "tap test.js --100"
   },
   "repository": {
 "type": "git",
@@ -30,19 +30,19 @@
   },
   "homepage": "https://github.com/isaacs/inflight;,
   "license": "ISC",
-  "gitHead": "559e37b4f6327fca797fe8d7fe8ed6d9cae08821",
-  "_id": "inflight@1.0.5",
-  "_shasum": "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a",

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: rename Site to WikiSite

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: rename Site to WikiSite
..


Hygiene: rename Site to WikiSite

Move org.wikipedia.Site to org.wikipedia.dataclient.WikiSite. No user
visible change intended.

Site appears to have originally been intended as a generic wiki URL. If
not, that's what is expected now as class assumptions around URL
structure are wiki specific, especially language. This patch renames
Site to WikiSite and moves it under the dataclient package to help
alleviate confusion over its purpose.

Site is misused to accept unsupported URLs in some cases. A future
refactor should find and fix these instances. There are also some wiki
corner cases that aren't fully handled around language including: meta,
upload, deployment, and test. Maybe a more generic Site super class
would help.

Additional changes:

• Use "wiki" terminology instead of "site". Retaining site nomenclature
  would be keeping some confusion. Where models are thought to be kept
  as JSON, @SerializedName is used. For volatile storage,
  @SerializedName is not used

• Use WikiSite.forLanguageCode instead of hardcoding *.wikipedia.org

• Removed always null Site member from GalleryCollection

• In tests, replace a couple instances of:

  (WikipediaApp) 
getInstrumentation().getTargetContext().getApplicationContext()`

  With: `WikipediaApp.getInstance()`

My apologies for the unhappily large diff. I recommend viewing through a
few programs including icdiff and grep.

Change-Id: Ic967146a77b1301c87a0e6fa552c2f70663ca2fe
---
A app/src/androidTest/java/org/wikipedia/dataclient/WikiSiteTest.java
M app/src/androidTest/java/org/wikipedia/editing/EditPreviewTaskTest.java
M app/src/androidTest/java/org/wikipedia/page/BasePageLoadTest.java
M app/src/androidTest/java/org/wikipedia/page/PageLoadTest.java
M app/src/androidTest/java/org/wikipedia/test/CreateAccountTaskTest.java
M app/src/androidTest/java/org/wikipedia/test/EditTaskTest.java
M app/src/androidTest/java/org/wikipedia/test/FetchSectionWikitextTaskTests.java
M app/src/androidTest/java/org/wikipedia/test/FullSearchTaskTests.java
M app/src/androidTest/java/org/wikipedia/test/GetDescriptionsTaskTests.java
M app/src/androidTest/java/org/wikipedia/test/LanguageVariantTests.java
M app/src/androidTest/java/org/wikipedia/test/LoginClientTest.java
M app/src/androidTest/java/org/wikipedia/test/PageTests.java
M app/src/androidTest/java/org/wikipedia/test/ParcelableTest.java
D app/src/androidTest/java/org/wikipedia/test/SiteTests.java
M app/src/androidTest/java/org/wikipedia/test/SuggestionsTaskTests.java
M app/src/main/java/org/wikipedia/LongPressHandler.java
M app/src/main/java/org/wikipedia/WikipediaApp.java
M app/src/main/java/org/wikipedia/analytics/AppearanceChangeFunnel.java
M app/src/main/java/org/wikipedia/analytics/EditFunnel.java
M app/src/main/java/org/wikipedia/analytics/FindInPageFunnel.java
M app/src/main/java/org/wikipedia/analytics/Funnel.java
M app/src/main/java/org/wikipedia/analytics/GalleryFunnel.java
M app/src/main/java/org/wikipedia/analytics/ProtectedEditAttemptFunnel.java
M app/src/main/java/org/wikipedia/analytics/ReadingListsFunnel.java
M app/src/main/java/org/wikipedia/analytics/ShareAFactFunnel.java
M app/src/main/java/org/wikipedia/analytics/SuggestedPagesFunnel.java
M app/src/main/java/org/wikipedia/analytics/TimedFunnel.java
M app/src/main/java/org/wikipedia/analytics/ToCInteractionFunnel.java
M app/src/main/java/org/wikipedia/createaccount/CreateAccountActivity.java
R app/src/main/java/org/wikipedia/dataclient/WikiSite.java
M app/src/main/java/org/wikipedia/dataclient/retrofit/MwCachedService.java
M app/src/main/java/org/wikipedia/dataclient/retrofit/RbCachedService.java
M app/src/main/java/org/wikipedia/dataclient/retrofit/RetrofitFactory.java
D app/src/main/java/org/wikipedia/dataclient/retrofit/SiteCachedService.java
A app/src/main/java/org/wikipedia/dataclient/retrofit/WikiCachedService.java
M app/src/main/java/org/wikipedia/editing/CaptchaHandler.java
M app/src/main/java/org/wikipedia/editing/CaptchaResult.java
M app/src/main/java/org/wikipedia/editing/EditHandler.java
M app/src/main/java/org/wikipedia/editing/EditPreviewFragment.java
M app/src/main/java/org/wikipedia/editing/EditPreviewTask.java
M app/src/main/java/org/wikipedia/editing/EditSectionActivity.java
M app/src/main/java/org/wikipedia/editing/EditTask.java
M app/src/main/java/org/wikipedia/editing/EditTokenStorage.java
M app/src/main/java/org/wikipedia/editing/FetchEditTokenTask.java
M app/src/main/java/org/wikipedia/editing/FetchSectionWikitextTask.java
M app/src/main/java/org/wikipedia/editing/RefreshCaptchaTask.java
M app/src/main/java/org/wikipedia/editing/summaries/EditSummaryHandler.java
M app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
M app/src/main/java/org/wikipedia/feed/FeedFragment.java
M 

[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: Add more languages to news feed

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add more languages to news feed
..


Add more languages to news feed

da, el, fi, fr, ko, no, pl, sv, vi

For some languages the code needed to be changed to be more
flexible in terms of selectors used to find the correct list of
news items. (fr, da, pl)

To test I added the following paths to my local RB instance config.yaml

/{domain:ca.wikipedia.org}: *default_project
/{domain:el.wikipedia.org}: *default_project
/{domain:fi.wikipedia.org}: *default_project
/{domain:ko.wikipedia.org}: *default_project
/{domain:no.wikipedia.org}: *default_project
/{domain:pl.wikipedia.org}: *default_project
/{domain:vi.wikipedia.org}: *default_project

and in the Android app pointed to that local RB instance. After switching to
a new language in the app I ended up having to refresh the feed a couple of
times before the news items showed up.

Bug: T143808
Change-Id: Iac6c156a242b1cb545ed671338bf525a07e105b4
---
M lib/feed/news.js
M test/features/news/news.js
2 files changed, 20 insertions(+), 11 deletions(-)

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



diff --git a/lib/feed/news.js b/lib/feed/news.js
index 4932193..55e9c5d 100644
--- a/lib/feed/news.js
+++ b/lib/feed/news.js
@@ -9,13 +9,23 @@
 var HTTPError = require('../util').HTTPError;
 
 var newsTemplates = {
-en: 'Template:In_the_news',
-de: 'Wikipedia:Hauptseite/Aktuelles',
-es: 'Portal:Actualidad',
-he: 'תבנית:חדשות_ואקטואליה',
-pt: 'Portal:Eventos_atuais',
-ru: 'Шаблон:Актуальные_события',
-zh: 'Portal:新聞動態'
+en: {title: 'Template:In_the_news', selector: 'ul[id^=mw]'},
+
+da: {title: 'Skabelon:Forside_aktuelle_begivenheder', selector: 'div'},
+de: {title: 'Wikipedia:Hauptseite/Aktuelles', selector: 'ul'},
+el: {title: 'Πύλη:Τρέχοντα_γεγονότα/Επικεφαλίδες', selector: 'ul'},
+es: {title: 'Portal:Actualidad', selector: 'ul'},
+fi: {title: 'Malline:Uutisissa', selector: 'ul'},
+fr: {title: 'Modèle:Accueil_actualité', selector: 'ul[id^=mw]'},
+he: {title: 'תבנית:חדשות_ואקטואליה', selector: 'ul'},
+ko: {title: '틀:새로_들어온_소식', selector: 'ul'},
+no: {title: 'Mal:Aktuelt', selector: 'ul'},
+pl: {title: 'Szablon:Aktualności', selector: 'ul:last-of-type'},
+pt: {title: 'Portal:Eventos_atuais', selector: 'ul'},
+ru: {title: 'Шаблон:Актуальные_события', selector: 'ul'},
+sv: {title: 'Portal:Huvudsida/Aktuella händelser', selector: 'ul'},
+vi: {title: 'Bản_mẫu:Tin_tức', selector: 'ul'},
+zh: {title: 'Portal:新聞動態', selector: 'ul'}
 };
 
 function removeFragment(href) {
@@ -55,14 +65,14 @@
 payload: [],
 meta: {}
 };
-req.params.title = newsTemplates[lang];
+req.params.title = newsTemplates[lang].title;
 return parsoid.getParsoidHtml(app, req)
 .then(function (response) {
 result.meta.etag = parsoid.getRevisionFromEtag(response.headers);
 
 var linkTitles = [];
 var doc = domino.createDocument(response.body);
-var newsList = doc.getElementsByTagName('ul')[0];
+var newsList = doc.querySelector(newsTemplates[lang].selector);
 var stories = newsList.getElementsByTagName('li');
 
 for (var j = 0, m = stories.length; j < m; j++) {
diff --git a/test/features/news/news.js b/test/features/news/news.js
index a5eb076..f2478fc 100644
--- a/test/features/news/news.js
+++ b/test/features/news/news.js
@@ -40,8 +40,7 @@
 this.timeout(2);
 
 before(function () { return server.start(); });
-
-[ 'de', 'en', 'es', 'he', 'pt', 'ru', 'zh' ].forEach(function(lang) {
+[ 'da', 'de', 'el', 'en', 'es', 'fi', 'fr', 'he', 'ko', 'no', 'pl', 'pt', 
'ru', 'sv', 'vi', 'zh' ].forEach(function(lang) {
 it(lang + ': should respond to GET request with expected headers, 
incl. CORS and CSP headers', function () {
 return headers.checkHeaders(server.config.uri + lang + 
'.wikipedia.org/v1/page/news',
 'application/json');

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iac6c156a242b1cb545ed671338bf525a07e105b4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND 
Gerrit-Reviewer: BearND 
Gerrit-Reviewer: Dbrant 
Gerrit-Reviewer: Fjalapeno 
Gerrit-Reviewer: GWicke 
Gerrit-Reviewer: Jhernandez 
Gerrit-Reviewer: Mholloway 
Gerrit-Reviewer: Mhurd 
Gerrit-Reviewer: Mobrovac 
Gerrit-Reviewer: Niedzielski 
Gerrit-Reviewer: 

[MediaWiki-commits] [Gerrit] mediawiki...UniversalLanguageSelector[master]: Update jquery.uls to f3a61bd

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Update jquery.uls to f3a61bd
..


Update jquery.uls to f3a61bd

* Localization updates
* Change language name for olo

Change-Id: I6092536efc0b500c7b8593cdc7b933f964a4ff5e
---
M lib/jquery.uls/i18n/ku-latn.json
M lib/jquery.uls/i18n/mk.json
M lib/jquery.uls/src/jquery.uls.data.js
3 files changed, 6 insertions(+), 4 deletions(-)

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



diff --git a/lib/jquery.uls/i18n/ku-latn.json b/lib/jquery.uls/i18n/ku-latn.json
index f0eede0..37e1358 100644
--- a/lib/jquery.uls/i18n/ku-latn.json
+++ b/lib/jquery.uls/i18n/ku-latn.json
@@ -3,7 +3,8 @@
"authors": [
"George Animal",
"Bikarhêner",
-   "Ghybu"
+   "Ghybu",
+   "Velg"
]
},
"uls-region-WW": "Li hemû cîhanê",
@@ -14,9 +15,10 @@
"uls-region-AS": "Asya",
"uls-region-ME": "Rojhilata Navîn",
"uls-region-PA": "Pasîfîk",
+   "uls-region-all": "Hemû ziman",
"uls-no-results-found": "Ti encam nehatin dîtin",
"uls-common-languages": "Zimanên pêşniyarkirî",
"uls-no-results-suggestion-title": "Pêwendîya we dikara bikişîne:",
"uls-search-help": "Hûn lêgerîna xwe li gor nava zimanê, koda ISOyê an 
jî li gor herêmê dikarin bikin.",
-   "uls-search-placeholder": "Lêgerîna li ziman"
+   "uls-search-placeholder": "Lêgerîna li yek ziman"
 }
diff --git a/lib/jquery.uls/i18n/mk.json b/lib/jquery.uls/i18n/mk.json
index d5dc30d..aa43d5d 100644
--- a/lib/jquery.uls/i18n/mk.json
+++ b/lib/jquery.uls/i18n/mk.json
@@ -17,5 +17,5 @@
"uls-common-languages": "Предложени јазици",
"uls-no-results-suggestion-title": "Може да ве интересираат:",
"uls-search-help": "Можете да пребарувате по име на јазикот или 
писмото, по ISO-код на јазикот или пак да разгледате по региони.",
-   "uls-search-placeholder": "Јазик на пребарувањето"
+   "uls-search-placeholder": "Пребарување на јазик"
 }
diff --git a/lib/jquery.uls/src/jquery.uls.data.js 
b/lib/jquery.uls/src/jquery.uls.data.js
index 32b8a98..14e3e34 100644
--- a/lib/jquery.uls/src/jquery.uls.data.js
+++ b/lib/jquery.uls/src/jquery.uls.data.js
@@ -3,5 +3,5 @@
'use strict';
$.uls = $.uls || {};
//noinspection JSHint
-   $.uls.data = {"languages":{"aa":["Latn",["AF"],"Qafár 
af"],"ab":["Cyrl",["EU"],"Аҧсшәа"],"abs":["Latn",["AS"],"Bahasa 
Ambon"],"ace":["Latn",["AS","PA"],"Acèh"],"acf":["Latn",["AM"],"kwéyòl"],"ady":["Cyrl",["EU","ME"],"Адыгабзэ"],"ady-cyrl":["ady"],"ady-latn":["Latn",["EU","ME"],"Adygabze"],"aeb":["aeb-arab"],"aeb-arab":["Arab",["AF"],"تونسي"],"aeb-latn":["Latn",["AF"],"Tûnsî"],"af":["Latn",["AF"],"Afrikaans"],"ahr":["Deva",["AS"],"अहिराणी"],"ak":["Latn",["AF"],"Akan"],"akz":["Latn",["AM"],"Albaamo
 
innaaɬiilka"],"aln":["Latn",["EU"],"Gegë"],"am":["Ethi",["AF"],"አማርኛ"],"an":["Latn",["EU"],"aragonés"],"ang":["Latn",["EU"],"Ænglisc"],"anp":["Deva",["AS"],"अङ्गिका"],"ar":["Arab",["ME"],"العربية"],"arc":["Syrc",["ME"],"ܐܪܡܝܐ"],"arn":["Latn",["AM"],"mapudungun"],"aro":["Latn",["AM"],"Araona"],"arq":["Arab",["AF"],"جازايرية"],"ary":["Latn",["ME"],"Maġribi"],"arz":["Arab",["ME"],"مصرى"],"as":["Beng",["AS"],"অসমীয়া"],"ase":["Sgnw",["AM"],"American
 sign 
language"],"ast":["Latn",["EU"],"asturianu"],"atj":["Latn",["AM"],"atikamekw"],"av":["Cyrl",["EU"],"авар"],"avk":["Latn",["WW"],"Kotava"],"ay":["Latn",["AM"],"Aymar
 
aru"],"az":["az-latn"],"az-arab":["Arab",["AS","ME"],"تۆرکجه"],"az-latn":["Latn",["EU","ME"],"azərbaycanca"],"az-cyrl":["Cyrl",["EU","ME"],"азәрбајҹанҹа"],"azb":["az-arab"],"azj":["az-latn"],"ba":["Cyrl",["EU"],"башҡортса"],"ban":["Bali",["AS"],"ᬩᬲᬩᬮᬶ"],"bar":["Latn",["EU"],"Boarisch"],"bat-smg":["sgs"],"bbc-latn":["Latn",["AS"],"Batak
 Toba"],"bbc-batk":["Batk",["AS"],"Batak Toba"],"bbc":["Latn",["AS"],"Batak 
Toba"],"bcc":["Arab",["AS","ME"],"جهلسری بلوچی"],"bcl":["Latn",["AS"],"Bikol 
Central"],"be-tarask":["Cyrl",["EU"],"беларуская 
(тарашкевіца)"],"be-x-old":["be-tarask"],"be":["Cyrl",["EU"],"беларуская"],"bew":["Latn",["AS"],"Bahasa
 
Betawi"],"bfa":["Latn",["AF"],"Bari"],"bft":["Arab",["AS"],"بلتی"],"bfq":["Taml",["AS"],"படகா"],"bg":["Cyrl",["EU"],"български"],"bgn":["Arab",["AS","ME"],"روچ
 کپتین 
بلوچی"],"bh":["bho"],"bho":["Deva",["AS"],"भोजपुरी"],"bi":["Latn",["PA"],"Bislama"],"bjn":["Latn",["AS"],"Bahasa
 
Banjar"],"bm":["Latn",["AF"],"bamanankan"],"bn":["Beng",["AS"],"বাংলা"],"bo":["Tibt",["AS"],"བོད་ཡིག"],"bpy":["Beng",["AS"],"বিষ্ণুপ্রিয়া
 
মণিপুরী"],"bqi":["Arab",["AS","ME"],"بختیاری"],"br":["Latn",["EU"],"brezhoneg"],"brh":["Latn",["ME","AS"],"Bráhuí"],"brx":["Deva",["AS"],"बड़ो"],"bs":["Latn",["EU"],"bosanski"],"bto":["Latn",["AS"],"Iriga
 Bicolano"],"bug":["Bugi",["AS"],"ᨅᨔ 

[MediaWiki-commits] [Gerrit] operations/puppet[production]: icinga: Remove the hack around facilities, lvs::monitor

2016-10-17 Thread Alexandros Kosiaris (Code Review)
Alexandros Kosiaris has submitted this change and it was merged.

Change subject: icinga: Remove the hack around facilities, lvs::monitor
..


icinga: Remove the hack around facilities, lvs::monitor

Since I0137df84c89fcf7, this is no longer required

Change-Id: Ifd847c5fb76a791e19f0acf135311c6d9f7ef734
---
M manifests/role/icinga.pp
1 file changed, 2 insertions(+), 9 deletions(-)

Approvals:
  Alexandros Kosiaris: Verified; Looks good to me, approved



diff --git a/manifests/role/icinga.pp b/manifests/role/icinga.pp
index 670a469..f109823 100644
--- a/manifests/role/icinga.pp
+++ b/manifests/role/icinga.pp
@@ -11,15 +11,8 @@
 class role::icinga(
 $ircbot = true,
 ){
-
-# Facilities must be, unluckily, only declared once, not from multiple 
hosts.
-# Forgive me for this hack while we figure out a clean way to do this.
-# This is just to unbreak icinga ASAP.
-if $::hostname == 'neon' {
-include facilities
-include lvs::monitor
-}
-
+include facilities
+include lvs::monitor
 include icinga::monitor::checkpaging
 include icinga::nsca::firewall
 include icinga::nsca::daemon

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifd847c5fb76a791e19f0acf135311c6d9f7ef734
Gerrit-PatchSet: 6
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris 
Gerrit-Reviewer: Alexandros Kosiaris 
Gerrit-Reviewer: Giuseppe Lavagetto 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki...Cargo[master]: Add text search to Special:Drilldown

2016-10-17 Thread Yaron Koren (Code Review)
Yaron Koren has uploaded a new change for review.

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

Change subject: Add text search to Special:Drilldown
..

Add text search to Special:Drilldown

Change-Id: I39240980a36c631f0269d1caaad65a67ce57fd63
---
M drilldown/CargoFilter.php
M drilldown/CargoSpecialDrilldown.php
M i18n/en.json
3 files changed, 121 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Cargo 
refs/changes/07/316407/2

diff --git a/drilldown/CargoFilter.php b/drilldown/CargoFilter.php
index c77ff11..638cc03 100644
--- a/drilldown/CargoFilter.php
+++ b/drilldown/CargoFilter.php
@@ -36,7 +36,7 @@
 * @param array $appliedFilters
 * @return string
 */
-   function getTimePeriod( $appliedFilters ) {
+   function getTimePeriod( $fullTextSearchTerm, $appliedFilters ) {
// If it's not a date field, return null.
if ( $this->fieldDescription->mType != 'Date' ) {
return null;
@@ -44,7 +44,7 @@
 
$cdb = CargoUtils::getDB();
$date_field = $this->name;
-   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$appliedFilters );
+   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$fullTextSearchTerm, $appliedFilters );
$res = $cdb->select( $tableNames, array( "MIN($date_field)", 
"MAX($date_field)" ), $conds, null,
null, $joinConds );
$row = $cdb->fetchRow( $res );
@@ -85,12 +85,21 @@
 * @param array $appliedFilters
 * @return array
 */
-   function getQueryParts( $appliedFilters ) {
+   function getQueryParts( $fullTextSearchTerm, $appliedFilters ) {
$cdb = CargoUtils::getDB();
 
$tableNames = array( $this->tableName );
$conds = array();
$joinConds = array();
+  
+   if ( $fullTextSearchTerm != null ) {
+   list( $curTableNames, $curConds, $curJoinConds ) =
+   
CargoDrilldownPage::getFullTextSearchQueryParts( $fullTextSearchTerm, 
$this->tableName, $this->searchableFiles );
+   $tableNames = array_merge( $tableNames, $curTableNames 
);
+   $conds = array_merge( $conds, $curConds );
+   $joinConds = array_merge( $joinConds, $curJoinConds );
+   }
+
foreach ( $appliedFilters as $af ) {
$conds[] = $af->checkSQL();
if ( $af->filter->fieldDescription->mIsList ) {
@@ -110,7 +119,7 @@
 * @param array $appliedFilters
 * @return array
 */
-   function getTimePeriodValues( $appliedFilters ) {
+   function getTimePeriodValues( $fullTextSearchTerm, $appliedFilters ) {
$possible_dates = array();
$date_field = $this->name;
$timePeriod = $this->getTimePeriod( $fullTextSearchTerm, 
$appliedFilters );
@@ -125,7 +134,7 @@
$fields = "YEAR($date_field)";
}
 
-   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$appliedFilters );
+   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$fullTextSearchTerm, $appliedFilters );
$selectOptions = array( 'GROUP BY' => $fields, 'ORDER BY' => 
$fields );
$cdb = CargoUtils::getDB();
$res = $cdb->select( $tableNames, array( $fields, 'COUNT(*)' ), 
$conds, null, $selectOptions,
@@ -169,10 +178,10 @@
 * @param array $appliedFilters
 * @return array
 */
-   function getAllValues( $appliedFilters ) {
+   function getAllValues( $fullTextSearchTerm, $appliedFilters ) {
$cdb = CargoUtils::getDB();
 
-   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$appliedFilters );
+   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$fullTextSearchTerm, $appliedFilters );
if ( $this->fieldDescription->mIsList ) {
$fieldTableName = $this->tableName . '__' . $this->name;
$tableNames[] = $fieldTableName;
diff --git a/drilldown/CargoSpecialDrilldown.php 
b/drilldown/CargoSpecialDrilldown.php
index f5c7243..0c51958 100644
--- a/drilldown/CargoSpecialDrilldown.php
+++ b/drilldown/CargoSpecialDrilldown.php
@@ -18,7 +18,7 @@
}
 
function execute( $query ) {
-   global $cgScriptPath;
+   global $cgScriptPath, $wgCargoPageDataColumns;
 
$request = $this->getRequest();
$out = $this->getOutput();
@@ -63,6 +63,15 @@
 
$tableSchemas = CargoUtils::getTableSchemas( array( $tableName 
) );
$all_filters = array();

[MediaWiki-commits] [Gerrit] mediawiki...Cargo[master]: Add text search to Special:Drilldown

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add text search to Special:Drilldown
..


Add text search to Special:Drilldown

Change-Id: I39240980a36c631f0269d1caaad65a67ce57fd63
---
M drilldown/CargoFilter.php
M drilldown/CargoSpecialDrilldown.php
M i18n/en.json
M i18n/qqq.json
4 files changed, 123 insertions(+), 28 deletions(-)

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



diff --git a/drilldown/CargoFilter.php b/drilldown/CargoFilter.php
index c77ff11..638cc03 100644
--- a/drilldown/CargoFilter.php
+++ b/drilldown/CargoFilter.php
@@ -36,7 +36,7 @@
 * @param array $appliedFilters
 * @return string
 */
-   function getTimePeriod( $appliedFilters ) {
+   function getTimePeriod( $fullTextSearchTerm, $appliedFilters ) {
// If it's not a date field, return null.
if ( $this->fieldDescription->mType != 'Date' ) {
return null;
@@ -44,7 +44,7 @@
 
$cdb = CargoUtils::getDB();
$date_field = $this->name;
-   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$appliedFilters );
+   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$fullTextSearchTerm, $appliedFilters );
$res = $cdb->select( $tableNames, array( "MIN($date_field)", 
"MAX($date_field)" ), $conds, null,
null, $joinConds );
$row = $cdb->fetchRow( $res );
@@ -85,12 +85,21 @@
 * @param array $appliedFilters
 * @return array
 */
-   function getQueryParts( $appliedFilters ) {
+   function getQueryParts( $fullTextSearchTerm, $appliedFilters ) {
$cdb = CargoUtils::getDB();
 
$tableNames = array( $this->tableName );
$conds = array();
$joinConds = array();
+  
+   if ( $fullTextSearchTerm != null ) {
+   list( $curTableNames, $curConds, $curJoinConds ) =
+   
CargoDrilldownPage::getFullTextSearchQueryParts( $fullTextSearchTerm, 
$this->tableName, $this->searchableFiles );
+   $tableNames = array_merge( $tableNames, $curTableNames 
);
+   $conds = array_merge( $conds, $curConds );
+   $joinConds = array_merge( $joinConds, $curJoinConds );
+   }
+
foreach ( $appliedFilters as $af ) {
$conds[] = $af->checkSQL();
if ( $af->filter->fieldDescription->mIsList ) {
@@ -110,7 +119,7 @@
 * @param array $appliedFilters
 * @return array
 */
-   function getTimePeriodValues( $appliedFilters ) {
+   function getTimePeriodValues( $fullTextSearchTerm, $appliedFilters ) {
$possible_dates = array();
$date_field = $this->name;
$timePeriod = $this->getTimePeriod( $fullTextSearchTerm, 
$appliedFilters );
@@ -125,7 +134,7 @@
$fields = "YEAR($date_field)";
}
 
-   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$appliedFilters );
+   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$fullTextSearchTerm, $appliedFilters );
$selectOptions = array( 'GROUP BY' => $fields, 'ORDER BY' => 
$fields );
$cdb = CargoUtils::getDB();
$res = $cdb->select( $tableNames, array( $fields, 'COUNT(*)' ), 
$conds, null, $selectOptions,
@@ -169,10 +178,10 @@
 * @param array $appliedFilters
 * @return array
 */
-   function getAllValues( $appliedFilters ) {
+   function getAllValues( $fullTextSearchTerm, $appliedFilters ) {
$cdb = CargoUtils::getDB();
 
-   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$appliedFilters );
+   list( $tableNames, $conds, $joinConds ) = $this->getQueryParts( 
$fullTextSearchTerm, $appliedFilters );
if ( $this->fieldDescription->mIsList ) {
$fieldTableName = $this->tableName . '__' . $this->name;
$tableNames[] = $fieldTableName;
diff --git a/drilldown/CargoSpecialDrilldown.php 
b/drilldown/CargoSpecialDrilldown.php
index f5c7243..0c51958 100644
--- a/drilldown/CargoSpecialDrilldown.php
+++ b/drilldown/CargoSpecialDrilldown.php
@@ -18,7 +18,7 @@
}
 
function execute( $query ) {
-   global $cgScriptPath;
+   global $cgScriptPath, $wgCargoPageDataColumns;
 
$request = $this->getRequest();
$out = $this->getOutput();
@@ -63,6 +63,15 @@
 
$tableSchemas = CargoUtils::getTableSchemas( array( $tableName 
) );
$all_filters = array();
+   $fullTextSearchTerm 

[MediaWiki-commits] [Gerrit] mediawiki...UniversalLanguageSelector[master]: Update jquery.uls to f3a61bd

2016-10-17 Thread Amire80 (Code Review)
Amire80 has uploaded a new change for review.

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

Change subject: Update jquery.uls to f3a61bd
..

Update jquery.uls to f3a61bd

* Localization updates
* Change language name for olo

Change-Id: I6092536efc0b500c7b8593cdc7b933f964a4ff5e
---
M lib/jquery.uls/i18n/ku-latn.json
M lib/jquery.uls/i18n/mk.json
M lib/jquery.uls/src/jquery.uls.data.js
3 files changed, 6 insertions(+), 4 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/18/316418/1

diff --git a/lib/jquery.uls/i18n/ku-latn.json b/lib/jquery.uls/i18n/ku-latn.json
index f0eede0..37e1358 100644
--- a/lib/jquery.uls/i18n/ku-latn.json
+++ b/lib/jquery.uls/i18n/ku-latn.json
@@ -3,7 +3,8 @@
"authors": [
"George Animal",
"Bikarhêner",
-   "Ghybu"
+   "Ghybu",
+   "Velg"
]
},
"uls-region-WW": "Li hemû cîhanê",
@@ -14,9 +15,10 @@
"uls-region-AS": "Asya",
"uls-region-ME": "Rojhilata Navîn",
"uls-region-PA": "Pasîfîk",
+   "uls-region-all": "Hemû ziman",
"uls-no-results-found": "Ti encam nehatin dîtin",
"uls-common-languages": "Zimanên pêşniyarkirî",
"uls-no-results-suggestion-title": "Pêwendîya we dikara bikişîne:",
"uls-search-help": "Hûn lêgerîna xwe li gor nava zimanê, koda ISOyê an 
jî li gor herêmê dikarin bikin.",
-   "uls-search-placeholder": "Lêgerîna li ziman"
+   "uls-search-placeholder": "Lêgerîna li yek ziman"
 }
diff --git a/lib/jquery.uls/i18n/mk.json b/lib/jquery.uls/i18n/mk.json
index d5dc30d..aa43d5d 100644
--- a/lib/jquery.uls/i18n/mk.json
+++ b/lib/jquery.uls/i18n/mk.json
@@ -17,5 +17,5 @@
"uls-common-languages": "Предложени јазици",
"uls-no-results-suggestion-title": "Може да ве интересираат:",
"uls-search-help": "Можете да пребарувате по име на јазикот или 
писмото, по ISO-код на јазикот или пак да разгледате по региони.",
-   "uls-search-placeholder": "Јазик на пребарувањето"
+   "uls-search-placeholder": "Пребарување на јазик"
 }
diff --git a/lib/jquery.uls/src/jquery.uls.data.js 
b/lib/jquery.uls/src/jquery.uls.data.js
index 32b8a98..14e3e34 100644
--- a/lib/jquery.uls/src/jquery.uls.data.js
+++ b/lib/jquery.uls/src/jquery.uls.data.js
@@ -3,5 +3,5 @@
'use strict';
$.uls = $.uls || {};
//noinspection JSHint
-   $.uls.data = {"languages":{"aa":["Latn",["AF"],"Qafár 
af"],"ab":["Cyrl",["EU"],"Аҧсшәа"],"abs":["Latn",["AS"],"Bahasa 
Ambon"],"ace":["Latn",["AS","PA"],"Acèh"],"acf":["Latn",["AM"],"kwéyòl"],"ady":["Cyrl",["EU","ME"],"Адыгабзэ"],"ady-cyrl":["ady"],"ady-latn":["Latn",["EU","ME"],"Adygabze"],"aeb":["aeb-arab"],"aeb-arab":["Arab",["AF"],"تونسي"],"aeb-latn":["Latn",["AF"],"Tûnsî"],"af":["Latn",["AF"],"Afrikaans"],"ahr":["Deva",["AS"],"अहिराणी"],"ak":["Latn",["AF"],"Akan"],"akz":["Latn",["AM"],"Albaamo
 
innaaɬiilka"],"aln":["Latn",["EU"],"Gegë"],"am":["Ethi",["AF"],"አማርኛ"],"an":["Latn",["EU"],"aragonés"],"ang":["Latn",["EU"],"Ænglisc"],"anp":["Deva",["AS"],"अङ्गिका"],"ar":["Arab",["ME"],"العربية"],"arc":["Syrc",["ME"],"ܐܪܡܝܐ"],"arn":["Latn",["AM"],"mapudungun"],"aro":["Latn",["AM"],"Araona"],"arq":["Arab",["AF"],"جازايرية"],"ary":["Latn",["ME"],"Maġribi"],"arz":["Arab",["ME"],"مصرى"],"as":["Beng",["AS"],"অসমীয়া"],"ase":["Sgnw",["AM"],"American
 sign 
language"],"ast":["Latn",["EU"],"asturianu"],"atj":["Latn",["AM"],"atikamekw"],"av":["Cyrl",["EU"],"авар"],"avk":["Latn",["WW"],"Kotava"],"ay":["Latn",["AM"],"Aymar
 
aru"],"az":["az-latn"],"az-arab":["Arab",["AS","ME"],"تۆرکجه"],"az-latn":["Latn",["EU","ME"],"azərbaycanca"],"az-cyrl":["Cyrl",["EU","ME"],"азәрбајҹанҹа"],"azb":["az-arab"],"azj":["az-latn"],"ba":["Cyrl",["EU"],"башҡортса"],"ban":["Bali",["AS"],"ᬩᬲᬩᬮᬶ"],"bar":["Latn",["EU"],"Boarisch"],"bat-smg":["sgs"],"bbc-latn":["Latn",["AS"],"Batak
 Toba"],"bbc-batk":["Batk",["AS"],"Batak Toba"],"bbc":["Latn",["AS"],"Batak 
Toba"],"bcc":["Arab",["AS","ME"],"جهلسری بلوچی"],"bcl":["Latn",["AS"],"Bikol 
Central"],"be-tarask":["Cyrl",["EU"],"беларуская 
(тарашкевіца)"],"be-x-old":["be-tarask"],"be":["Cyrl",["EU"],"беларуская"],"bew":["Latn",["AS"],"Bahasa
 
Betawi"],"bfa":["Latn",["AF"],"Bari"],"bft":["Arab",["AS"],"بلتی"],"bfq":["Taml",["AS"],"படகா"],"bg":["Cyrl",["EU"],"български"],"bgn":["Arab",["AS","ME"],"روچ
 کپتین 
بلوچی"],"bh":["bho"],"bho":["Deva",["AS"],"भोजपुरी"],"bi":["Latn",["PA"],"Bislama"],"bjn":["Latn",["AS"],"Bahasa
 
Banjar"],"bm":["Latn",["AF"],"bamanankan"],"bn":["Beng",["AS"],"বাংলা"],"bo":["Tibt",["AS"],"བོད་ཡིག"],"bpy":["Beng",["AS"],"বিষ্ণুপ্রিয়া
 
মণিপুরী"],"bqi":["Arab",["AS","ME"],"بختیاری"],"br":["Latn",["EU"],"brezhoneg"],"brh":["Latn",["ME","AS"],"Bráhuí"],"brx":["Deva",["AS"],"बड़ो"],"bs":["Latn",["EU"],"bosanski"],"bto":["Latn",["AS"],"Iriga
 

[MediaWiki-commits] [Gerrit] mediawiki...cxserver[master]: Yandex: Add source and target language in error message

2016-10-17 Thread KartikMistry (Code Review)
KartikMistry has uploaded a new change for review.

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

Change subject: Yandex: Add source and target language in error message
..

Yandex: Add source and target language in error message

Change-Id: Ia6b4f8fec1739a0c975b754d0b1c434628955dcf
---
M mt/Yandex.js
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/cxserver 
refs/changes/19/316419/1

diff --git a/mt/Yandex.js b/mt/Yandex.js
index d87f29f..450d85c 100644
--- a/mt/Yandex.js
+++ b/mt/Yandex.js
@@ -62,7 +62,7 @@
return response.body.text[ 0 ];
} ).catch( function ( response ) {
throw new Error( 'Translation with Yandex failed. Error: ' +
-   self.getErrorName( response.body.code ) );
+   self.getErrorName( response.body.code ) + sourceLang + 
'-' + targetLang );
} );
 };
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia6b4f8fec1739a0c975b754d0b1c434628955dcf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/cxserver
Gerrit-Branch: master
Gerrit-Owner: KartikMistry 

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


[MediaWiki-commits] [Gerrit] mediawiki/vagrant[master]: NPM: pin nodejs to always be installed from the nodesource r...

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: NPM: pin nodejs to always be installed from the nodesource 
repository
..


NPM: pin nodejs to always be installed from the nodesource repository

The Wikimedia APT repo is pinned to > 1000, which means that APT will
try to downgrade a package when its version is newer than the installed
one. We don't want to do that for nodejs, so pin it to the nodesource
repository, which will always give us the newest node 4.x.

Bug: T148348
Change-Id: Ib2208d47b48c06b7a846e763390eac9d09674d2a
---
M puppet/modules/npm/manifests/init.pp
1 file changed, 9 insertions(+), 2 deletions(-)

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



diff --git a/puppet/modules/npm/manifests/init.pp 
b/puppet/modules/npm/manifests/init.pp
index 7f47e6d..81cc54c 100644
--- a/puppet/modules/npm/manifests/init.pp
+++ b/puppet/modules/npm/manifests/init.pp
@@ -40,7 +40,14 @@
 owner   => 'root',
 group   => 'root',
 require => Exec['ins-apt-transport-https'],
-notify  => Exec['apt-get update'],
+before  => Apt::Pin['nodejs'],
+}
+
+# pin it higher than the Wikimedia repo
+apt::pin { 'nodejs':
+package  => 'nodejs',
+pin  => 'release o=Node Source',
+priority => 1010,
 }
 
 # install the npm and nodejs-legacy packages manually
@@ -56,7 +63,7 @@
 package { 'nodejs':
 ensure  => latest,
 require => [
-File['/etc/apt/sources.list.d/nodesource.list'],
+Apt::Pin['nodejs'],
 Exec['apt-get update']
 ],
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib2208d47b48c06b7a846e763390eac9d09674d2a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Mobrovac 
Gerrit-Reviewer: BryanDavis 
Gerrit-Reviewer: Dduvall 
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...SmashPig[master]: Don't default to now when no date found

2016-10-17 Thread Ejegg (Code Review)
Ejegg has uploaded a new change for review.

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

Change subject: Don't default to now when no date found
..

Don't default to now when no date found

This logic could be re-used when determining whether to re-queue
messages in queue consumer error handling, but we don't want to
default to 'now' in that case.

Change-Id: I8785dc5a03f963a4165c5e02f60fdc2e88865746
---
M Core/DataStores/DamagedDatabase.php
M CrmLink/Messages/DateFields.php
2 files changed, 6 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/SmashPig 
refs/changes/17/316417/1

diff --git a/Core/DataStores/DamagedDatabase.php 
b/Core/DataStores/DamagedDatabase.php
index 8f6e60a..5253c92 100644
--- a/Core/DataStores/DamagedDatabase.php
+++ b/Core/DataStores/DamagedDatabase.php
@@ -28,8 +28,9 @@
$trace = '',
$retryDate = null
) {
+   $now = UtcDate::getUtcTimestamp();
$originalDate = UtcDate::getUtcDatabaseString(
-   DateFields::getOriginalDateOrNow( $message )
+   DateFields::getOriginalDateOrDefault( $message, $now )
);
 
$dbRecord = array(
diff --git a/CrmLink/Messages/DateFields.php b/CrmLink/Messages/DateFields.php
index b30714a..4c6537f 100644
--- a/CrmLink/Messages/DateFields.php
+++ b/CrmLink/Messages/DateFields.php
@@ -7,10 +7,11 @@
 
/**
 * @param array $message A message from donation queues
+* @param int $default Value to return when message has no dates
 * @return int The unix timestamp at which the message was originally
-*  enqueued, or the current timestamp if no date information exists
+*  enqueued, or $default if no date information exists
 */
-   public static function getOriginalDateOrNow( $message ) {
+   public static function getOriginalDateOrDefault( $message, $default = 0 
) {
// This is the actual queued time
if ( isset( $message['source_enqueued_time'] ) ) {
// This is only ever set to the numeric timestamp
@@ -31,6 +32,6 @@
return $parsedTimestamp;
}
}
-   return UtcDate::getUtcTimestamp();
+   return $default;
}
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8785dc5a03f963a4165c5e02f60fdc2e88865746
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/SmashPig
Gerrit-Branch: master
Gerrit-Owner: Ejegg 

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


[MediaWiki-commits] [Gerrit] mediawiki...Popups[master]: Directory structure should reflect the ResourceLoader defini...

2016-10-17 Thread Jdlrobson (Code Review)
Jdlrobson has uploaded a new change for review.

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

Change subject: Directory structure should reflect the ResourceLoader 
definitions
..

Directory structure should reflect the ResourceLoader definitions

Given we currently have modules defined in extension.json and in hooks
it can be really confusing understanding how the code fits together.

This change hopefully makes this a little clearer by using folder names
that are named after the resource loader modules - this is also consistent
with how we do things in our other extensions.

A images folder is added to the route so that it is clearer that the images
are not used in ResourceLoader module definitions and are only used to 
illustrate
the beta feature.

Change-Id: Ia650ec03e3a6d3069165441ddfa069d390be4d10
---
M Popups.hooks.php
M extension.json
R images/popups-ltr.svg
R images/popups-rtl.svg
R resources/ext.popups.core/ext.popups.core.js
R resources/ext.popups.core/ext.popups.core.less
R resources/ext.popups.core/images/cog.png
R resources/ext.popups.core/images/cog.svg
R resources/ext.popups.core/images/horn-ltr.png
R resources/ext.popups.core/images/horn-ltr.svg
R resources/ext.popups.core/images/horn-rtl.png
R resources/ext.popups.core/images/horn-rtl.svg
R resources/ext.popups.desktop/ext.popups.animation.less
R resources/ext.popups.desktop/ext.popups.renderer.article.js
R resources/ext.popups.desktop/ext.popups.settings.js
R resources/ext.popups.desktop/ext.popups.settings.less
R resources/ext.popups.desktop/images/footer-ltr.png
R resources/ext.popups.desktop/images/footer-ltr.svg
R resources/ext.popups.desktop/images/footer-rtl.png
R resources/ext.popups.desktop/images/footer-rtl.svg
R resources/ext.popups.desktop/images/hovercard.svg
R resources/ext.popups.desktop/images/navpop.svg
R resources/ext.popups.desktop/popup.mustache
R resources/ext.popups.desktop/settings.mustache
R resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js
R resources/ext.popups.renderer.mobileRenderer/LinkPreview.less
R resources/ext.popups.renderer.mobileRenderer/LinkPreviewDrawer.hogan
R resources/ext.popups.renderer.mobileRenderer/LinkPreviewDrawer.js
R resources/ext.popups.renderer.mobileRenderer/mobileRenderer.js
R resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js
R resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js
R resources/ext.popups.targets.desktopTarget/desktopTarget.js
R resources/ext.popups.targets.mobileTarget/mobileTarget.js
R tests/qunit/ext.popups.desktopRenderer.test.js
34 files changed, 21 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups 
refs/changes/15/316415/1

diff --git a/Popups.hooks.php b/Popups.hooks.php
index a0466f0..654a8f4 100644
--- a/Popups.hooks.php
+++ b/Popups.hooks.php
@@ -30,8 +30,8 @@
'label-message' => 'popups-message',
'desc-message' => 'popups-desc',
'screenshot' => array(
-   'ltr' => 
"$wgExtensionAssetsPath/Popups/resources/images/popups-ltr.svg",
-   'rtl' => 
"$wgExtensionAssetsPath/Popups/resources/images/popups-rtl.svg",
+   'ltr' => 
"$wgExtensionAssetsPath/Popups/images/popups-ltr.svg",
+   'rtl' => 
"$wgExtensionAssetsPath/Popups/images/popups-rtl.svg",
),
'info-link' => 
'https://www.mediawiki.org/wiki/Beta_Features/Hovercards',
'discussion-link' => 
'https://www.mediawiki.org/wiki/Talk:Beta_Features/Hovercards',
@@ -81,7 +81,7 @@
'ext.popups.schemaPopups.utils',
],
'scripts' => [
-   'resources/ext.popups.schemaPopups.js',
+   
'resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js',
]
];
}
@@ -90,16 +90,16 @@
 
$rl->register( "ext.popups.desktop", array(
'scripts' => array(
-   'resources/ext.popups.renderer.article.js',
-   'resources/ext.popups.settings.js',
+   
'resources/ext.popups.desktop/ext.popups.renderer.article.js',
+   
'resources/ext.popups.desktop/ext.popups.settings.js',
),
'templates' => array(
-   'popup.mustache' => 'resources/popup.mustache',
-   'settings.mustache' => 
'resources/settings.mustache',
+   'popup.mustache' => 
'resources/ext.popups.desktop/popup.mustache',
+   

[MediaWiki-commits] [Gerrit] operations/puppet[production]: tcpircbot: update IPv6 addresses for terbium and wasat

2016-10-17 Thread Dzahn (Code Review)
Dzahn has submitted this change and it was merged.

Change subject: tcpircbot: update IPv6 addresses for terbium and wasat
..


tcpircbot: update IPv6 addresses for terbium and wasat

We had to add IPv6 addresses to let maintenance hosts
talk to talk to logmsgbot in I94169ff5efb3a0a6ba7 but
they were not mapped addresses.

The maintenance servers, terbium and wasat then received
mapped IPv6 addresses in I84b34ea447e8136c25.

I alread updated them in Id6f4f45cd14040cdbb86c but did not
change them in this section as well.

The missing DNS records these comments refer to will be
added in Icc635e6e50fbd7e1b6.

Change-Id: Ic7bf1903f8a04649ea7ec9fd7413c01f787006f7
---
M manifests/role/tcpircbot.pp
1 file changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Alex Monk: Looks good to me, but someone else must approve
  Alexandros Kosiaris: Looks good to me, but someone else must approve
  Dzahn: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/tcpircbot.pp b/manifests/role/tcpircbot.pp
index fbc6a1e..b7a7cc2 100644
--- a/manifests/role/tcpircbot.pp
+++ b/manifests/role/tcpircbot.pp
@@ -34,8 +34,8 @@
 }
 
 ferm::rule { 'tcpircbot_allowed':
-# eventlog1001 (v4), tin (v4), mira (v4), puppetmaster1001 (v4), tin 
(v6), mira (v6), puppetmaster1001 (v6, unnamed in DNS), terbium (v4), terbium 
(v6, unnamed in DNS), wasat (v4), wasat (v6, unnamed in DNS), puppetmaster2001 
(v4), puppetmaster2001 (v6, unnamed in DNS)
+# eventlog1001 (v4), tin (v4), mira (v4), puppetmaster1001 (v4), tin 
(v6), mira (v6), puppetmaster1001 (v6, unnamed in DNS), terbium (v4), terbium 
(v6), wasat (v4), wasat (v6), puppetmaster2001 (v4), puppetmaster2001 (v6, 
unnamed in DNS)
 # Please DO NOT change the IPs in the rule below without updating the 
comment above
-rule => 'proto tcp dport 9200 { saddr (10.64.32.167/32 10.64.0.196/32 
10.192.16.132/32 10.64.16.73/32 2620:0:861:101:10:64:0:196/128 
2620:0:860:102:10:192:16:132/128 2620:0:861:102:10:64:16:73/128 10.64.32.13/32 
2620:0:861:103:92b1:1cff:fe25:9d72/128 10.192.48.45/32 
2620:0:860:104:1602:ecff:fe3f:478c/128 10.192.0.27/32 
2620:0:860:101:10:192:0:27/128) ACCEPT; }',
+rule => 'proto tcp dport 9200 { saddr (10.64.32.167/32 10.64.0.196/32 
10.192.16.132/32 10.64.16.73/32 2620:0:861:101:10:64:0:196/128 
2620:0:860:102:10:192:16:132/128 2620:0:861:102:10:64:16:73/128 10.64.32.13/32 
2620:0:861:103:10:64:32:13/64 10.192.48.45/32 2620:0:860:104:10:192:48:45/64 
10.192.0.27/32 2620:0:860:101:10:192:0:27/128) ACCEPT; }',
 }
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic7bf1903f8a04649ea7ec9fd7413c01f787006f7
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dzahn 
Gerrit-Reviewer: Alex Monk 
Gerrit-Reviewer: Alexandros Kosiaris 
Gerrit-Reviewer: Dzahn 
Gerrit-Reviewer: Giuseppe Lavagetto 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki/vagrant[master]: NPM: pin nodejs to always be installed from the nodesource r...

2016-10-17 Thread Mobrovac (Code Review)
Mobrovac has uploaded a new change for review.

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

Change subject: NPM: pin nodejs to always be installed from the nodesource 
repository
..

NPM: pin nodejs to always be installed from the nodesource repository

The Wikimedia APT repo is pinned to > 1000, which means that APT will
try to downgrade a package when its version is newer than the installed
one. We don't want to do that for nodejs, so pin it to the nodesource
repository, which will always give us the newest node 4.x.

Bug: T148348
Change-Id: Ib2208d47b48c06b7a846e763390eac9d09674d2a
---
M puppet/modules/npm/manifests/init.pp
1 file changed, 9 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/16/316416/1

diff --git a/puppet/modules/npm/manifests/init.pp 
b/puppet/modules/npm/manifests/init.pp
index 7f47e6d..81cc54c 100644
--- a/puppet/modules/npm/manifests/init.pp
+++ b/puppet/modules/npm/manifests/init.pp
@@ -40,7 +40,14 @@
 owner   => 'root',
 group   => 'root',
 require => Exec['ins-apt-transport-https'],
-notify  => Exec['apt-get update'],
+before  => Apt::Pin['nodejs'],
+}
+
+# pin it higher than the Wikimedia repo
+apt::pin { 'nodejs':
+package  => 'nodejs',
+pin  => 'release o=Node Source',
+priority => 1010,
 }
 
 # install the npm and nodejs-legacy packages manually
@@ -56,7 +63,7 @@
 package { 'nodejs':
 ensure  => latest,
 require => [
-File['/etc/apt/sources.list.d/nodesource.list'],
+Apt::Pin['nodejs'],
 Exec['apt-get update']
 ],
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib2208d47b48c06b7a846e763390eac9d09674d2a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Mobrovac 

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: labsdb: maintain-views don't _p for hitcounters

2016-10-17 Thread Rush (Code Review)
Rush has submitted this change and it was merged.

Change subject: labsdb: maintain-views don't _p for hitcounters
..


labsdb: maintain-views don't _p for hitcounters

Change-Id: I7b249403902ef69732459f8ab8a4de972d55b425
Bugs: T132837
---
M modules/role/templates/labsdb/maintain-views.yaml
1 file changed, 0 insertions(+), 1 deletion(-)

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



diff --git a/modules/role/templates/labsdb/maintain-views.yaml 
b/modules/role/templates/labsdb/maintain-views.yaml
index 6106ee0..634ddc5 100644
--- a/modules/role/templates/labsdb/maintain-views.yaml
+++ b/modules/role/templates/labsdb/maintain-views.yaml
@@ -75,7 +75,6 @@
   - globalimagelinks
   - global_block_whitelist
   - hashs
-  - hitcounter
   - image
   - imagelinks
   - imagelinks_old

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I7b249403902ef69732459f8ab8a4de972d55b425
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Rush 
Gerrit-Reviewer: Alex Monk 
Gerrit-Reviewer: Jcrespo 
Gerrit-Reviewer: Rush 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: labstore: bdsync backup 'test' drbd volume from secondary

2016-10-17 Thread Rush (Code Review)
Rush has uploaded a new change for review.

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

Change subject: labstore: bdsync backup 'test' drbd volume from secondary
..

labstore: bdsync backup 'test' drbd volume from secondary

Change-Id: I0b4aa4b9a913049546516212f07a254c7917ad14
Bugs: T127567
---
M modules/role/manifests/labs/nfs/backup.pp
1 file changed, 9 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/14/316414/1

diff --git a/modules/role/manifests/labs/nfs/backup.pp 
b/modules/role/manifests/labs/nfs/backup.pp
index 9e39ef6..c791939 100644
--- a/modules/role/manifests/labs/nfs/backup.pp
+++ b/modules/role/manifests/labs/nfs/backup.pp
@@ -3,4 +3,13 @@
 description => 'NFS shares backup dest',
 }
 include labstore::backup_keys
+
+labstore::device_backup { 'secondary-test':
+remotehost  => 'labstore1005.eqiad.wmnet',
+remote_vg   => 'misc',
+remote_lv   => 'test',
+remote_snapshot => 'testsnap',
+localdev=> '/dev/backup/test',
+weekday => 'monday',
+}
 }

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

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

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


[MediaWiki-commits] [Gerrit] mediawiki...CirrusSearch[master]: Initial relforge profiles for zh, th and ja

2016-10-17 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

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

Change subject: Initial relforge profiles for zh, th and ja
..

Initial relforge profiles for zh, th and ja

Change-Id: I14a6c2ef36549d43b175c5ecc0a0d75f4ae83630
---
M tests/relforge/bm25enwiki_inclinks/misc.inc
M tests/relforge/bm25enwiki_inclinks/similarity.inc
A tests/relforge/bm25jawiki_inclinks/ftbuilder.inc
A tests/relforge/bm25jawiki_inclinks/misc.inc
A tests/relforge/bm25jawiki_inclinks/rescore.inc
A tests/relforge/bm25jawiki_inclinks/similarity.inc
A tests/relforge/bm25jawiki_inclinks/templates.inc
A tests/relforge/bm25thwiki_inclinks/ftbuilder.inc
A tests/relforge/bm25thwiki_inclinks/misc.inc
A tests/relforge/bm25thwiki_inclinks/rescore.inc
A tests/relforge/bm25thwiki_inclinks/similarity.inc
A tests/relforge/bm25thwiki_inclinks/templates.inc
A tests/relforge/bm25zhwiki_inclinks/ftbuilder.inc
A tests/relforge/bm25zhwiki_inclinks/misc.inc
A tests/relforge/bm25zhwiki_inclinks/rescore.inc
A tests/relforge/bm25zhwiki_inclinks/similarity.inc
A tests/relforge/bm25zhwiki_inclinks/templates.inc
17 files changed, 672 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch 
refs/changes/13/316413/1

diff --git a/tests/relforge/bm25enwiki_inclinks/misc.inc 
b/tests/relforge/bm25enwiki_inclinks/misc.inc
index 3cfded1..0152be1 100644
--- a/tests/relforge/bm25enwiki_inclinks/misc.inc
+++ b/tests/relforge/bm25enwiki_inclinks/misc.inc
@@ -4,4 +4,3 @@
 $wgLanguagecode = 'en';
 $wgCirrusSearchIndexBaseName = 'enwikibm25perfield';
 $wgCirrusSearchPhraseSuggestReverseField['use'] = false;
-
diff --git a/tests/relforge/bm25enwiki_inclinks/similarity.inc 
b/tests/relforge/bm25enwiki_inclinks/similarity.inc
index c17eee1..93d2108 100644
--- a/tests/relforge/bm25enwiki_inclinks/similarity.inc
+++ b/tests/relforge/bm25enwiki_inclinks/similarity.inc
@@ -108,4 +108,3 @@
'suggest' => 'suggest',
),
 );
-
diff --git a/tests/relforge/bm25jawiki_inclinks/ftbuilder.inc 
b/tests/relforge/bm25jawiki_inclinks/ftbuilder.inc
new file mode 100644
index 000..6f5c159
--- /dev/null
+++ b/tests/relforge/bm25jawiki_inclinks/ftbuilder.inc
@@ -0,0 +1,39 @@
+ 
\CirrusSearch\Query\FullTextSimpleMatchQueryBuilder::class,
+   'settings' => array(
+   'default_min_should_match' => '1',
+   'default_query_type' => 'most_fields',
+   'default_stem_weight' => 3.0,
+   'fields' => array(
+   'title' => 0.3,
+   'redirect.title' => array(
+   'boost' => 0.27,
+   'in_dismax' => 'redirects_or_shingles'
+   ),
+   'suggest' => array(
+   'is_plain' => true,
+   'boost' => 0.20,
+   'in_dismax' => 'redirects_or_shingles',
+   ),
+   'category' => 0.05,
+   'heading' => 0.05,
+   'text' => array(
+   'boost' => 0.6,
+   'in_dismax' => 'text_and_opening_text',
+   ),
+   'opening_text' => array(
+   'boost' => 0.5,
+   'in_dismax' => 'text_and_opening_text',
+   ),
+   'auxiliary_text' => 0.05,
+   'file_text' => 0.5,
+   ),
+   'phrase_rescore_fields' => array(
+   // very low (don't forget it's multiplied by 10 by 
default)
+   'all' => 0.03,
+   'all.plain' => 0.05,
+   ),
+   )
+);
diff --git a/tests/relforge/bm25jawiki_inclinks/misc.inc 
b/tests/relforge/bm25jawiki_inclinks/misc.inc
new file mode 100644
index 000..135c948
--- /dev/null
+++ b/tests/relforge/bm25jawiki_inclinks/misc.inc
@@ -0,0 +1,6 @@
+ 6, 'general' => 7, 
'titlesuggest' => 4 );
+$wgLanguagecode = 'ja';
+$wgCirrusSearchIndexBaseName = 'enwikibm25perfield';
+$wgCirrusSearchPhraseSuggestReverseField['use'] = false;
diff --git a/tests/relforge/bm25jawiki_inclinks/rescore.inc 
b/tests/relforge/bm25jawiki_inclinks/rescore.inc
new file mode 100644
index 000..9ee410b
--- /dev/null
+++ b/tests/relforge/bm25jawiki_inclinks/rescore.inc
@@ -0,0 +1,56 @@
+ 'all',
+   'rescore' => array(
+   array(
+   'window' => 8192,
+   'window_size_override' => 
'CirrusSearchFunctionRescoreWindowSize',
+   'query_weight' => 1.0,
+   'rescore_query_weight' => 1.0,
+   'score_mode' => 'total',
+   'type' => 'function_score',
+   'function_chain' => 

[MediaWiki-commits] [Gerrit] operations/puppet[production]: Revert "lvs: raise API depool threshold, disable proxyfetch"

2016-10-17 Thread Giuseppe Lavagetto (Code Review)
Giuseppe Lavagetto has submitted this change and it was merged.

Change subject: Revert "lvs: raise API depool threshold, disable proxyfetch"
..


Revert "lvs: raise API depool threshold, disable proxyfetch"

This reverts commit f9465c56f7f134fe379b3df8fe4747fcfd6fb955.

Change-Id: I4b5680edab1cc01262e92cb328ce2be2839249d7
---
M hieradata/common/lvs/configuration.yaml
1 file changed, 4 insertions(+), 4 deletions(-)

Approvals:
  Giuseppe Lavagetto: Verified; Looks good to me, approved
  BBlack: Looks good to me, but someone else must approve



diff --git a/hieradata/common/lvs/configuration.yaml 
b/hieradata/common/lvs/configuration.yaml
index 69ec516..20560fa 100644
--- a/hieradata/common/lvs/configuration.yaml
+++ b/hieradata/common/lvs/configuration.yaml
@@ -456,11 +456,11 @@
 - codfw
 ip: *ip_block009
 bgp: 'yes'
-depool-threshold: '.95'
+depool-threshold: '.6'
 monitors:
-#  ProxyFetch:
-#url:
-#- http://en.wikipedia.org/w/api.php
+  ProxyFetch:
+url:
+- http://en.wikipedia.org/w/api.php
   IdleConnection:
 timeout-clean-reconnect: 3
 max-delay: 300

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4b5680edab1cc01262e92cb328ce2be2839249d7
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto 
Gerrit-Reviewer: BBlack 
Gerrit-Reviewer: Giuseppe Lavagetto 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: replace array with Set for user groups

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: replace array with Set for user groups
..


Hygiene: replace array with Set for user groups

Change-Id: I91f1728ce1c958865ca5ca8aa9a8b48eadadbc09
---
M app/src/main/java/org/wikipedia/login/User.java
M app/src/main/java/org/wikipedia/server/Protection.java
2 files changed, 9 insertions(+), 16 deletions(-)

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



diff --git a/app/src/main/java/org/wikipedia/login/User.java 
b/app/src/main/java/org/wikipedia/login/User.java
index 1bd191c..8316fd0 100644
--- a/app/src/main/java/org/wikipedia/login/User.java
+++ b/app/src/main/java/org/wikipedia/login/User.java
@@ -84,15 +84,8 @@
 return userID;
 }
 
-public boolean isAllowed(@NonNull String[] allowedGroups) {
-for (String allowedGroup: allowedGroups) {
-for (String group: groups) {
-if (allowedGroup != null && allowedGroup.equals(group)) {
-return true;
-}
-}
-}
-return false;
+public boolean isAllowed(@NonNull Set allowedGroups) {
+return !allowedGroups.isEmpty() && 
!Collections.disjoint(allowedGroups, groups);
 }
 
 @NonNull
diff --git a/app/src/main/java/org/wikipedia/server/Protection.java 
b/app/src/main/java/org/wikipedia/server/Protection.java
index 90fdedf..3612a08 100644
--- a/app/src/main/java/org/wikipedia/server/Protection.java
+++ b/app/src/main/java/org/wikipedia/server/Protection.java
@@ -3,21 +3,21 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 
+import java.util.Collections;
+import java.util.Set;
+
 /** Protection settings for a page */
 public class Protection {
-@SuppressWarnings("MismatchedReadAndWriteOfArray") private String[] edit = 
new String[]{};
+@SuppressWarnings("MismatchedReadAndWriteOfArray") private Set 
edit = Collections.emptySet();
 
 // TODO should send them all, but callers need to be updated, too, (future 
patch)
 @Nullable
 public String getFirstAllowedEditorRole() {
-if (edit.length > 0) {
-return edit[0];
-}
-return null;
+return edit.isEmpty() ? null : edit.iterator().next();
 }
 
 @NonNull
-public String[] getEditRoles() {
-return edit.clone();
+public Set getEditRoles() {
+return Collections.unmodifiableSet(edit);
 }
 }
\ No newline at end of file

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I91f1728ce1c958865ca5ca8aa9a8b48eadadbc09
Gerrit-PatchSet: 1
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] apps...wikipedia[master]: Make User Set input immutable

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Make User Set input immutable
..


Make User Set input immutable

Make a copy of the passed in group Set to ensure the collection is
immutable. Also, add a missed @NonNull to Protection.edit.

Change-Id: I413059a8c38cacba4a2fd0cad0663b8e2542a84e
---
M app/src/main/java/org/wikipedia/login/User.java
M app/src/main/java/org/wikipedia/server/Protection.java
2 files changed, 4 insertions(+), 3 deletions(-)

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



diff --git a/app/src/main/java/org/wikipedia/login/User.java 
b/app/src/main/java/org/wikipedia/login/User.java
index 8316fd0..b379c60 100644
--- a/app/src/main/java/org/wikipedia/login/User.java
+++ b/app/src/main/java/org/wikipedia/login/User.java
@@ -5,6 +5,7 @@
 import android.support.annotation.VisibleForTesting;
 
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Set;
 
 public class User {
@@ -64,7 +65,7 @@
 this.password = password;
 this.userID = userID;
 if (groups != null) {
-this.groups = Collections.unmodifiableSet(groups);
+this.groups = Collections.unmodifiableSet(new HashSet<>(groups));
 } else {
 this.groups = Collections.emptySet();
 }
diff --git a/app/src/main/java/org/wikipedia/server/Protection.java 
b/app/src/main/java/org/wikipedia/server/Protection.java
index 3612a08..a77daba 100644
--- a/app/src/main/java/org/wikipedia/server/Protection.java
+++ b/app/src/main/java/org/wikipedia/server/Protection.java
@@ -8,7 +8,7 @@
 
 /** Protection settings for a page */
 public class Protection {
-@SuppressWarnings("MismatchedReadAndWriteOfArray") private Set 
edit = Collections.emptySet();
+@SuppressWarnings("MismatchedReadAndWriteOfArray") @NonNull private 
Set edit = Collections.emptySet();
 
 // TODO should send them all, but callers need to be updated, too, (future 
patch)
 @Nullable
@@ -20,4 +20,4 @@
 public Set getEditRoles() {
 return Collections.unmodifiableSet(edit);
 }
-}
\ No newline at end of file
+}

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I413059a8c38cacba4a2fd0cad0663b8e2542a84e
Gerrit-PatchSet: 1
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] mediawiki...FlaggedRevs[master]: Notify users of reviews

2016-10-17 Thread Cenarium (Code Review)
Cenarium has uploaded a new change for review.

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

Change subject: Notify users of reviews
..

Notify users of reviews

This notifies users when one of their edits is reviewed.

Change-Id: I7a9e017773d6b7d7b11bb3d22bcddc6834fdf74d
---
M FlaggedRevs.setup.php
M backend/FlaggedRevs.hooks.php
A backend/FlaggedRevsReviewedPresentationModel.php
M business/RevisionReviewForm.php
M i18n/flaggedrevs/en.json
M i18n/flaggedrevs/qqq.json
6 files changed, 126 insertions(+), 9 deletions(-)


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

diff --git a/FlaggedRevs.setup.php b/FlaggedRevs.setup.php
index 298fae4..e3667bd 100755
--- a/FlaggedRevs.setup.php
+++ b/FlaggedRevs.setup.php
@@ -174,6 +174,11 @@
$classes['Scribunto_LuaFlaggedRevsLibrary'] = 
"$scribuntoDir/FlaggedRevs.library.php";
### End ###
 
+   ### Echo classes ###
+   $classes['EchoFlaggedRevsReviewedPresentationModel'] =
+   "$backendDir/FlaggedRevsReviewedPresentationModel.php";
+   ### End ###
+
### Event handler classes ###
$classes['FlaggedRevsHooks'] = 
"$backendDir/FlaggedRevs.hooks.php";
$classes['FlaggedRevsUIHooks'] = 
"$frontendDir/FlaggedRevsUI.hooks.php";
@@ -289,6 +294,7 @@
}
 
$wgHooks['EchoGetDefaultNotifiedUsers'][] = 
'FlaggedRevsHooks::onEchoGetDefaultNotifiedUsers';
+   $wgHooks['BeforeCreateEchoEvent'][] = 
'FlaggedRevsHooks::onBeforeCreateEchoEvent';
 
#  User interface #
FlaggedRevsUISetup::defineHookHandlers( $wgHooks );
diff --git a/backend/FlaggedRevs.hooks.php b/backend/FlaggedRevs.hooks.php
index a669280..3f9942b 100755
--- a/backend/FlaggedRevs.hooks.php
+++ b/backend/FlaggedRevs.hooks.php
@@ -1065,6 +1065,39 @@
$users[$userId] = User::newFromId( intval( 
$userId ) );
}
}
+   if ( $event->getType() == 'flaggedrevs-reviewed' ) {
+   foreach ( $extra['reviewed-users-ids'] as $userId ) {
+   $users[$userId] = User::newFromId( intval( 
$userId ) );
+   }
+   }
+   return true;
+   }
+   /**
+* Add Review events to Echo
+*
+* @param $notifications array of Echo notifications
+* @param $notificationCategories array of Echo notification categories
+* @param $icons array of icon details
+* @return bool
+*/
+   public static function onBeforeCreateEchoEvent(
+   &$notifications, &$notificationCategories, &$icons
+   ) {
+   $notificationCategories['flaggedrevs-review'] = [
+   'priority' => 12,
+   'tooltip' => 'echo-pref-tooltip-flaggedrevs-reviewed',
+   ];
+   $notifications['flaggedrevs-reviewed'] = [
+   'category' => 'flaggedrevs-review',
+   'group' => 'positive',
+   'section' => 'message',
+   'presentation-model' => 
'EchoFlaggedRevsReviewedPresentationModel',
+   'bundle' => [
+   'web' => true,
+   'expandable' => true,
+   ],
+   ];
+   // icon exists in echo
return true;
}
 
diff --git a/backend/FlaggedRevsReviewedPresentationModel.php 
b/backend/FlaggedRevsReviewedPresentationModel.php
new file mode 100644
index 000..9367868
--- /dev/null
+++ b/backend/FlaggedRevsReviewedPresentationModel.php
@@ -0,0 +1,33 @@
+event->getTitle();
+   }
+
+   public function getHeaderMessage() {
+   $msg = parent::getHeaderMessage();
+   $msg->params( $this->event->getTitle()->getPrefixedText() );
+   return $msg;
+   }
+
+   public function getPrimaryLink() {
+   $url = $this->event->getTitle()->getLocalURL( array(
+   'oldid' => $this->event->getExtraParam( 'oldid' ),
+   'diff' => $this->event->getExtraParam( 'revid' )
+   ) );
+   return array(
+   'url' => $url,
+   'label' => $this->msg( 
'notification-link-text-view-changes' )->text()
+   );
+   }
+
+   public function getSecondaryLinks() {
+   return array( $this->getAgentLink() );
+   }
+}
diff --git a/business/RevisionReviewForm.php b/business/RevisionReviewForm.php
index 5235051..d8e5c24 100644
--- a/business/RevisionReviewForm.php
+++ b/business/RevisionReviewForm.php
@@ -289,7 +289,41 @@
return 

[MediaWiki-commits] [Gerrit] wikimedia...rainbow[master]: Show all available KPI data

2016-10-17 Thread Bearloga (Code Review)
Bearloga has uploaded a new change for review.

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

Change subject: Show all available KPI data
..

Show all available KPI data

+ Adds option to view all available date for KPIs
  (in addition to 7/30/60/90 days)

Change-Id: I168ade47e60cd11be175eb1527f2752197361297
---
M server.R
M tab_documentation/kpis_summary.md
M ui.R
3 files changed, 53 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/rainbow 
refs/changes/09/316409/1

diff --git a/server.R b/server.R
index 339306b..127b429 100644
--- a/server.R
+++ b/server.R
@@ -406,6 +406,9 @@
   output$kpi_summary_date_range <- renderUI({
 date_range <- input$kpi_summary_date_range_selector
 switch(date_range,
+   all = {
+ return(NULL)
+   },
daily = {
  dates <- Sys.Date() - c(1, 2)
  temp <- dates %>%
@@ -455,6 +458,9 @@
 
   output$kpi_summary_box_load_time <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
+if (date_range == "all") {
+  return(valueBox(subtitle = "Load time", value = "N/A", color = "black"))
+}
 x <- list(desktop_load_data, mobile_load_data, android_load_data, 
ios_load_data) %>%
   lapply(polloi::subset_by_date_range, from = start_date(date_range), to = 
Sys.Date() - 1) %>%
   lapply(function(data_tail) return(data_tail$Median))
@@ -477,6 +483,9 @@
   })
   output$kpi_summary_box_zero_results <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
+if (date_range == "all") {
+  return(valueBox(subtitle = "Zero results rate", value = "N/A", color = 
"black"))
+}
 x <- polloi::subset_by_date_range(failure_data_with_automata, from = 
start_date(date_range), to = Sys.Date() - 1)
 x <- transform(x, Rate = rate)$Rate
 if (date_range == "quarterly") {
@@ -499,6 +508,9 @@
   })
   output$kpi_summary_box_api_usage <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
+if (date_range == "all") {
+  return(valueBox(subtitle = "API usage", value = "N/A", color = "black"))
+}
 x <- split_dataset %>%
   lapply(polloi::subset_by_date_range, from = start_date(date_range), to = 
Sys.Date() - 1) %>%
   lapply(function(x) return(x$events)) %>%
@@ -522,11 +534,9 @@
   })
   output$kpi_summary_box_augmented_clickthroughs <- renderValueBox({
 date_range <- input$kpi_summary_date_range_selector
-#= We can delete this block after we get 90 days of data =
-if ( (date_range == "monthly" && (Sys.Date()-1)-60 < 
as.Date("2015-09-02")) || date_range == "quarterly" && (Sys.Date()-1)-90 < 
as.Date("2015-09-02") ) {
-  return(valueBox(subtitle = "User engagement", color = "black", value = 
"NA"))
+if (date_range == "all") {
+  return(valueBox(subtitle = "User engagement", value = "N/A", color = 
"black"))
 }
-#=
 x <- polloi::subset_by_date_range(augmented_clickthroughs, from = 
start_date(date_range), to = Sys.Date() - 1)
 if (date_range == "quarterly") {
   return(valueBox(subtitle = "User engagement", color = "orange",
@@ -554,9 +564,17 @@
 smooth_level <- input$smoothing_kpi_load_time
 date_range <- input$kpi_summary_date_range_selector
 start_date <- Sys.Date() - switch(input$kpi_summary_date_range_selector,
-  daily = 1, weekly = 8, monthly = 31, 
quarterly = 91)
+  all = NA, daily = 1, weekly = 8, monthly 
= 31, quarterly = 91)
 load_times <- list(desktop_load_data, mobile_load_data, android_load_data, 
ios_load_data) %>%
-  lapply(polloi::subset_by_date_range, from = start_date, to = Sys.Date() 
- 1) %>%
+  {
+if (is.na(start_date)) {
+  lapply(., function(dataset) {
+return(dataset[!duplicated(dataset$date, dataset$event_type, 
fromLast = TRUE), ])
+  })
+} else {
+  lapply(., polloi::subset_by_date_range, from = start_date, to = 
Sys.Date() - 1)
+}
+  } %>%
   lapply(function(data_tail) return(data_tail[, c('date', 'Median')])) %>%
   { names(.) <- c("Desktop", "Mobile Web", "Android", "iOS"); . } %>%
   dplyr::bind_rows(.id = "Platform") %>%
@@ -582,9 +600,15 @@
   })
   output$kpi_zero_results_series <- renderDygraph({
 smooth_level <- input$smoothing_kpi_zero_results
-start_date <- Sys.Date() - switch(input$kpi_summary_date_range_selector, 
daily = 1, weekly = 8, monthly = 31, quarterly = 91)
+start_date <- Sys.Date() - switch(input$kpi_summary_date_range_selector, 
all = NA, daily = 1, weekly = 8, monthly = 31, quarterly = 91)
 zrr <- failure_data_with_automata %>%
-  polloi::subset_by_date_range(from = start_date, to = Sys.Date()) %>%
+  {
+if (is.na(start_date)) {

[MediaWiki-commits] [Gerrit] operations/puppet[production]: Revert "lvs: raise API depool threshold, disable proxyfetch"

2016-10-17 Thread Giuseppe Lavagetto (Code Review)
Giuseppe Lavagetto has uploaded a new change for review.

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

Change subject: Revert "lvs: raise API depool threshold, disable proxyfetch"
..

Revert "lvs: raise API depool threshold, disable proxyfetch"

This reverts commit f9465c56f7f134fe379b3df8fe4747fcfd6fb955.

Change-Id: I4b5680edab1cc01262e92cb328ce2be2839249d7
---
M hieradata/common/lvs/configuration.yaml
1 file changed, 4 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/08/316408/1

diff --git a/hieradata/common/lvs/configuration.yaml 
b/hieradata/common/lvs/configuration.yaml
index 69ec516..20560fa 100644
--- a/hieradata/common/lvs/configuration.yaml
+++ b/hieradata/common/lvs/configuration.yaml
@@ -456,11 +456,11 @@
 - codfw
 ip: *ip_block009
 bgp: 'yes'
-depool-threshold: '.95'
+depool-threshold: '.6'
 monitors:
-#  ProxyFetch:
-#url:
-#- http://en.wikipedia.org/w/api.php
+  ProxyFetch:
+url:
+- http://en.wikipedia.org/w/api.php
   IdleConnection:
 timeout-clean-reconnect: 3
 max-delay: 300

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4b5680edab1cc01262e92cb328ce2be2839249d7
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto 

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


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: update ApiTask and OkHttp* packaging

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: update ApiTask and OkHttp* packaging
..


Hygiene: update ApiTask and OkHttp* packaging

Move ApiTask and OkHttpConnectionFactory to org.wikipedia.dataclient.
This might not be the ideal location but seems more appropriate than
org.wikipedia.

Change-Id: Ida2a670cafa0cd3a153b3fb5c8966982df3d96e8
---
M app/src/main/java/org/wikipedia/RemoteConfigRefreshTask.java
M app/src/main/java/org/wikipedia/WikipediaApp.java
M app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
M app/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
M app/src/main/java/org/wikipedia/createaccount/CreateAccountInfoTask.java
M app/src/main/java/org/wikipedia/createaccount/CreateAccountTask.java
R app/src/main/java/org/wikipedia/dataclient/ApiTask.java
R app/src/main/java/org/wikipedia/dataclient/OkHttpConnectionFactory.java
M app/src/main/java/org/wikipedia/dataclient/retrofit/RetrofitFactory.java
M app/src/main/java/org/wikipedia/editing/EditPreviewTask.java
M app/src/main/java/org/wikipedia/editing/EditTask.java
M app/src/main/java/org/wikipedia/editing/FetchEditTokenTask.java
M app/src/main/java/org/wikipedia/editing/FetchSectionWikitextTask.java
M app/src/main/java/org/wikipedia/editing/RefreshCaptchaTask.java
M app/src/main/java/org/wikipedia/language/LangLinksFetchTask.java
M app/src/main/java/org/wikipedia/nearby/NearbyFetchTask.java
M app/src/main/java/org/wikipedia/page/PageQueryTask.java
M app/src/main/java/org/wikipedia/savedpages/SavedPageSyncService.java
M app/src/main/java/org/wikipedia/search/FullSearchArticlesTask.java
M app/src/main/java/org/wikipedia/search/TitleSearchTask.java
M app/src/main/java/org/wikipedia/zero/WikipediaZeroTask.java
21 files changed, 24 insertions(+), 19 deletions(-)

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



diff --git a/app/src/main/java/org/wikipedia/RemoteConfigRefreshTask.java 
b/app/src/main/java/org/wikipedia/RemoteConfigRefreshTask.java
index eb64827..0553bcc 100644
--- a/app/src/main/java/org/wikipedia/RemoteConfigRefreshTask.java
+++ b/app/src/main/java/org/wikipedia/RemoteConfigRefreshTask.java
@@ -2,6 +2,7 @@
 
 import org.json.JSONObject;
 import org.wikipedia.concurrency.SaneAsyncTask;
+import org.wikipedia.dataclient.OkHttpConnectionFactory;
 import org.wikipedia.recurring.RecurringTask;
 import org.wikipedia.settings.RbSwitch;
 import org.wikipedia.util.log.L;
diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java 
b/app/src/main/java/org/wikipedia/WikipediaApp.java
index 677c19e..d6c5fdb 100644
--- a/app/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/app/src/main/java/org/wikipedia/WikipediaApp.java
@@ -29,6 +29,7 @@
 import org.wikipedia.database.DatabaseClient;
 import org.wikipedia.database.contract.AppContentProviderContract;
 import org.wikipedia.database.contract.ReadingListPageContract;
+import org.wikipedia.dataclient.OkHttpConnectionFactory;
 import org.wikipedia.editing.EditTokenStorage;
 import org.wikipedia.editing.summaries.EditSummary;
 import org.wikipedia.events.ChangeTextSizeEvent;
diff --git 
a/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java 
b/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
index 3eefd1d..c9954b1 100644
--- a/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
+++ b/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
@@ -1,6 +1,6 @@
 package org.wikipedia.alphaupdater;
 
-import org.wikipedia.OkHttpConnectionFactory;
+import org.wikipedia.dataclient.OkHttpConnectionFactory;
 import org.wikipedia.R;
 import org.wikipedia.recurring.RecurringTask;
 import org.json.JSONException;
diff --git a/app/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java 
b/app/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
index fdadd1b..d96c8b0 100644
--- a/app/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
+++ b/app/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
@@ -3,7 +3,7 @@
 import android.net.Uri;
 import org.json.JSONException;
 import org.json.JSONObject;
-import org.wikipedia.OkHttpConnectionFactory;
+import org.wikipedia.dataclient.OkHttpConnectionFactory;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.concurrency.SaneAsyncTask;
 import org.wikipedia.util.log.L;
diff --git 
a/app/src/main/java/org/wikipedia/createaccount/CreateAccountInfoTask.java 
b/app/src/main/java/org/wikipedia/createaccount/CreateAccountInfoTask.java
index 293502b..6860049 100644
--- a/app/src/main/java/org/wikipedia/createaccount/CreateAccountInfoTask.java
+++ b/app/src/main/java/org/wikipedia/createaccount/CreateAccountInfoTask.java
@@ -9,7 +9,7 @@
 import org.mediawiki.api.json.ApiException;
 import org.mediawiki.api.json.ApiResult;
 import 

[MediaWiki-commits] [Gerrit] operations/puppet[production]: naggen2: Third fix for naggen2

2016-10-17 Thread Alexandros Kosiaris (Code Review)
Alexandros Kosiaris has submitted this change and it was merged.

Change subject: naggen2: Third fix for naggen2
..


naggen2: Third fix for naggen2

true != "true" as it seems

Change-Id: I3c37e36ab888c76eae3c5354727cef19cb9d2a09
---
M modules/puppetmaster/files/naggen2
1 file changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Alexandros Kosiaris: Verified; Looks good to me, approved



diff --git a/modules/puppetmaster/files/naggen2 
b/modules/puppetmaster/files/naggen2
index 10cc359..c9de1a7 100755
--- a/modules/puppetmaster/files/naggen2
+++ b/modules/puppetmaster/files/naggen2
@@ -97,7 +97,7 @@
   (SELECT resource_id FROM param_values
 JOIN resources ON resource_id = resources.id
 JOIN param_names ON param_names.id = param_name_id
-WHERE restype = '%s' and exported = true AND param_names.name = 'ensure' 
AND value = 'present')
+WHERE restype = '%s' AND exported = true AND param_names.name = 'ensure' 
AND value = 'present')
 GROUP BY resources.id ORDER BY resources.title ASC"""
 
 def load_config(self, configfile):
@@ -144,7 +144,7 @@
 resources_raw = requests.get(url, params={
 'query': '["and", \
 ["=", ["parameter", "ensure"], "present"], \
-["=", "exported", "true"] \
+["=", "exported", true] \
 ]',
 })
 return resources_raw.json()

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I3c37e36ab888c76eae3c5354727cef19cb9d2a09
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris 
Gerrit-Reviewer: Alexandros Kosiaris 

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


[MediaWiki-commits] [Gerrit] operations/puppet[production]: naggen2: Third fix for naggen2

2016-10-17 Thread Alexandros Kosiaris (Code Review)
Alexandros Kosiaris has uploaded a new change for review.

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

Change subject: naggen2: Third fix for naggen2
..

naggen2: Third fix for naggen2

true != "true" as it seems

Change-Id: I3c37e36ab888c76eae3c5354727cef19cb9d2a09
---
M modules/puppetmaster/files/naggen2
1 file changed, 2 insertions(+), 2 deletions(-)


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

diff --git a/modules/puppetmaster/files/naggen2 
b/modules/puppetmaster/files/naggen2
index 10cc359..c9de1a7 100755
--- a/modules/puppetmaster/files/naggen2
+++ b/modules/puppetmaster/files/naggen2
@@ -97,7 +97,7 @@
   (SELECT resource_id FROM param_values
 JOIN resources ON resource_id = resources.id
 JOIN param_names ON param_names.id = param_name_id
-WHERE restype = '%s' and exported = true AND param_names.name = 'ensure' 
AND value = 'present')
+WHERE restype = '%s' AND exported = true AND param_names.name = 'ensure' 
AND value = 'present')
 GROUP BY resources.id ORDER BY resources.title ASC"""
 
 def load_config(self, configfile):
@@ -144,7 +144,7 @@
 resources_raw = requests.get(url, params={
 'query': '["and", \
 ["=", ["parameter", "ensure"], "present"], \
-["=", "exported", "true"] \
+["=", "exported", true] \
 ]',
 })
 return resources_raw.json()

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3c37e36ab888c76eae3c5354727cef19cb9d2a09
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris 

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


[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: Update to service-template-node v0.4.1

2016-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Update to service-template-node v0.4.1
..


Update to service-template-node v0.4.1

...and bump version to 0.3.0.

Change-Id: Id13d1b44f98f583f4dfe699a5e0d1ea8626174ba
---
M app.js
M lib/api-util.js
M package.json
3 files changed, 10 insertions(+), 1 deletion(-)

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



diff --git a/app.js b/app.js
index 1fe8a88..3cf0e1a 100644
--- a/app.js
+++ b/app.js
@@ -205,6 +205,14 @@
 }).then(function () {
 app.logger.log('info',
 'Worker ' + process.pid + ' listening on ' + (app.conf.interface 
|| '*') + ':' + app.conf.port);
+
+// Don't delay incomplete packets for 40ms (Linux default) on
+// pipelined HTTP sockets. We write in large chunks or buffers, so
+// lack of coalescing should not be an issue here.
+server.on("connection", function(socket) {
+socket.setNoDelay(true);
+});
+
 return server;
 });
 
diff --git a/lib/api-util.js b/lib/api-util.js
index 8d70c65..6e11e54 100644
--- a/lib/api-util.js
+++ b/lib/api-util.js
@@ -111,6 +111,7 @@
 };
 }
 app.restbase_tpl = new Template(app.conf.restbase_req);
+
 }
 
 /**
diff --git a/package.json b/package.json
index 00ea2eb..c3f6b18 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "service-mobileapp-node",
-  "version": "0.2.0",
+  "version": "0.3.0",
   "description": "A prototype for MediaWiki REST API services for mobile apps",
   "main": "./app.js",
   "scripts": {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id13d1b44f98f583f4dfe699a5e0d1ea8626174ba
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: Mholloway 
Gerrit-Reviewer: BearND 
Gerrit-Reviewer: Dbrant 
Gerrit-Reviewer: Fjalapeno 
Gerrit-Reviewer: GWicke 
Gerrit-Reviewer: Jdlrobson 
Gerrit-Reviewer: Jhernandez 
Gerrit-Reviewer: Mhurd 
Gerrit-Reviewer: Mobrovac 
Gerrit-Reviewer: Niedzielski 
Gerrit-Reviewer: Ppchelko 
Gerrit-Reviewer: jenkins-bot <>

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


  1   2   3   >