[MediaWiki-commits] [Gerrit] mediawiki...DonationInterface[master]: Fix merchant order ID on order reference
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: EjeggGerrit-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.
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
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
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
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...
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
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: DzahnGerrit-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
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
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
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
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
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...
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
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: YuvipandaGerrit-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
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
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: LegoktmGerrit-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
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
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
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
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: YuvipandaGerrit-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
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
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()
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 KorenGerrit-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()
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 KorenGerrit-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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: BearlogaGerrit-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
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
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
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
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
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
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
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...
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: PrtksxnaGerrit-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
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
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
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
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: LegoktmGerrit-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
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: LegoktmGerrit-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 ...
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 ...
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
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
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
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
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 BogottGerrit-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
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
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
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
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
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
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
[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Fix un/marshalling of Uris to extend to subclasses
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
[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Hygiene: update NamespaceTypeAdapter package
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
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
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: YuvipandaGerrit-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...
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
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
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: DzahnGerrit-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
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
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: NiedzielskiGerrit-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
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
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
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
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: BearNDGerrit-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
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
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 KosiarisGerrit-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
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
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
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
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...
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: MobrovacGerrit-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
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...
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
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: DzahnGerrit-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...
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
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: RushGerrit-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
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
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"
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 LavagettoGerrit-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
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: NiedzielskiGerrit-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
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: NiedzielskiGerrit-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
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
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"
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
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
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 KosiarisGerrit-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
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
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: MhollowayGerrit-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