Umherirrender has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/364299 )
Change subject: Break long lines
......................................................................
Break long lines
Change-Id: I168dfcdde102d8e34f3ed1f378965670a5ae005d
---
M includes/formatters/EchoEventDigestFormatter.php
M includes/formatters/EchoEventFormatter.php
M includes/formatters/EchoHtmlDigestEmailFormatter.php
M includes/formatters/EchoHtmlEmailFormatter.php
M includes/formatters/EchoIcon.php
M includes/formatters/EchoPlainTextDigestEmailFormatter.php
M includes/formatters/EditThresholdPresentationModel.php
M includes/formatters/EditUserTalkPresentationModel.php
M includes/formatters/EmailUserPresentationModel.php
M includes/formatters/EventPresentationModel.php
M includes/formatters/MentionPresentationModel.php
M includes/formatters/PageLinkedPresentationModel.php
M includes/formatters/RevertedPresentationModel.php
M includes/formatters/SpecialNotificationsFormatter.php
M includes/formatters/UserRightsPresentationModel.php
15 files changed, 110 insertions(+), 41 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo
refs/changes/99/364299/1
diff --git a/includes/formatters/EchoEventDigestFormatter.php
b/includes/formatters/EchoEventDigestFormatter.php
index 1fb1f76..8c236d7 100644
--- a/includes/formatters/EchoEventDigestFormatter.php
+++ b/includes/formatters/EchoEventDigestFormatter.php
@@ -31,12 +31,15 @@
/**
* @param EchoEvent[] $events
* @param string $distributionType 'web' or 'email'
- * @return array|bool|string Output format depends on implementation,
false if it cannot be formatted
+ * @return array|bool|string Output format depends on implementation,
+ * false if it cannot be formatted
*/
final public function format( array $events, $distributionType ) {
$models = [];
foreach ( $events as $event ) {
- $model = EchoEventPresentationModel::factory( $event,
$this->language, $this->user, $distributionType );
+ $model = EchoEventPresentationModel::factory(
+ $event, $this->language, $this->user,
$distributionType
+ );
if ( $model->canRender() ) {
$models[] = $model;
}
diff --git a/includes/formatters/EchoEventFormatter.php
b/includes/formatters/EchoEventFormatter.php
index c3d3041..ddd6266 100644
--- a/includes/formatters/EchoEventFormatter.php
+++ b/includes/formatters/EchoEventFormatter.php
@@ -36,7 +36,8 @@
/**
* @param EchoEvent $event
- * @return string|array|bool Output format depends on implementation,
false if it cannot be formatted
+ * @return string|array|bool Output format depends on implementation,
+ * false if it cannot be formatted
*/
final public function format( EchoEvent $event ) {
// Deleted events should have been filtered out before getting
there.
diff --git a/includes/formatters/EchoHtmlDigestEmailFormatter.php
b/includes/formatters/EchoHtmlDigestEmailFormatter.php
index 459b123..6e525c7 100644
--- a/includes/formatters/EchoHtmlDigestEmailFormatter.php
+++ b/includes/formatters/EchoHtmlDigestEmailFormatter.php
@@ -57,6 +57,7 @@
$langCode = $language->getCode();
$langDir = $language->getDir();
+ // @codingStandardsIgnoreStart
return <<< EOF
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -127,6 +128,7 @@
</table>
</body></html>
EOF;
+ // @codingStandardsIgnoreEnd
}
/**
@@ -154,10 +156,11 @@
/**
* Apply style to notification category header
- * @param string $category. Can contain HTML. Is included as-is in HTML
template, is not escaped.
+ * @param string $category. Can contain HTML. Is included as-is in HTML
template, is not escaped
* @return string
*/
protected function applyStyleToCategory( $category ) {
+ // @codingStandardsIgnoreStart
return <<< EOF
<tr>
<td colspan="2" style="color: #72777D; font-weight: normal; font-size:
13px; padding-top: 15px;">
@@ -166,6 +169,7 @@
</td>
</tr>
EOF;
+ // @codingStandardsIgnoreEnd
}
/**
@@ -216,7 +220,8 @@
return Html::element(
'a',
[
- 'href' => SpecialPage::getTitleFor(
'Notifications' )->getFullURL( '', false, PROTO_CANONICAL ),
+ 'href' => SpecialPage::getTitleFor(
'Notifications' )
+ ->getFullURL( '', false,
PROTO_CANONICAL ),
'style' =>
EchoHtmlEmailFormatter::PRIMARY_LINK_STYLE,
],
$this->msg(
'echo-email-batch-link-text-view-all-notifications' )->text()
diff --git a/includes/formatters/EchoHtmlEmailFormatter.php
b/includes/formatters/EchoHtmlEmailFormatter.php
index 5cf41cd..499b135 100644
--- a/includes/formatters/EchoHtmlEmailFormatter.php
+++ b/includes/formatters/EchoHtmlEmailFormatter.php
@@ -2,8 +2,10 @@
class EchoHtmlEmailFormatter extends EchoEventFormatter {
+ // @codingStandardsIgnoreStart
const PRIMARY_LINK_STYLE = 'cursor:pointer; text-align:center;
text-decoration:none; padding:.45em 0.6em .45em; color:#FFF; background:#36C;
font-family: Arial, Helvetica, sans-serif;font-size: 13px;';
const SECONDARY_LINK_STYLE = 'text-decoration: none;font-size:
10px;font-family: Arial, Helvetica, sans-serif; color: #72777D;';
+ // @codingStandardsIgnoreEnd
protected function formatModel( EchoEventPresentationModel $model ) {
$subject = $model->getSubjectMessage()->parse();
@@ -51,6 +53,7 @@
$iconImgSrc = Sanitizer::encodeAttribute( $emailIcon );
+ // @codingStandardsIgnoreStart
return <<< EOF
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -116,6 +119,7 @@
</table>
</body></html>
EOF;
+ // @codingStandardsIgnoreEnd
}
/**
@@ -126,8 +130,10 @@
$preferenceLink = $this->renderLink(
[
- 'label' => $this->msg(
'echo-email-html-footer-preference-link-text', $this->user )->text(),
- 'url' => SpecialPage::getTitleFor(
'Preferences', false, 'mw-prefsection-echo' )->getFullURL( '', false,
PROTO_CANONICAL ),
+ 'label' => $this->msg(
'echo-email-html-footer-preference-link-text',
+ $this->user )->text(),
+ 'url' => SpecialPage::getTitleFor(
'Preferences', false, 'mw-prefsection-echo' )
+ ->getFullURL( '', false,
PROTO_CANONICAL ),
],
'text-decoration: none; color: #36C;'
);
diff --git a/includes/formatters/EchoIcon.php b/includes/formatters/EchoIcon.php
index 74b90f6..5117ce5 100644
--- a/includes/formatters/EchoIcon.php
+++ b/includes/formatters/EchoIcon.php
@@ -32,7 +32,9 @@
// Might be an array with different icons for ltr/rtl
if ( is_array( $iconUrl ) ) {
if ( !isset( $iconUrl[$dir] ) ) {
- throw new UnexpectedValueException( "Icon type
$icon doesn't have an icon for $dir directionality" );
+ throw new UnexpectedValueException(
+ "Icon type $icon doesn't have an icon
for $dir directionality"
+ );
}
$iconUrl = $iconUrl[$dir];
diff --git a/includes/formatters/EchoPlainTextDigestEmailFormatter.php
b/includes/formatters/EchoPlainTextDigestEmailFormatter.php
index 88d9c5f..0ef3e6f 100644
--- a/includes/formatters/EchoPlainTextDigestEmailFormatter.php
+++ b/includes/formatters/EchoPlainTextDigestEmailFormatter.php
@@ -21,7 +21,9 @@
protected function formatModels( array $models ) {
$content = [];
foreach ( $models as $model ) {
- $content[$model->getCategory()][] =
Sanitizer::stripAllTags( $model->getHeaderMessage()->parse() );
+ $content[$model->getCategory()][] =
Sanitizer::stripAllTags(
+ $model->getHeaderMessage()->parse()
+ );
}
ksort( $content );
@@ -46,7 +48,8 @@
$colon = $this->msg( 'colon-separator' )->text();
$text .= "\n\n--\n\n";
$viewAll = $this->msg(
'echo-email-batch-link-text-view-all-notifications' )->text();
- $link = SpecialPage::getTitleFor( 'Notifications'
)->getFullURL( '', false, PROTO_CANONICAL );
+ $link = SpecialPage::getTitleFor( 'Notifications' )
+ ->getFullURL( '', false, PROTO_CANONICAL );
$text .= "$viewAll$colon <$link>";
$plainTextFormatter = new EchoPlainTextEmailFormatter(
$this->user, $this->language );
diff --git a/includes/formatters/EditThresholdPresentationModel.php
b/includes/formatters/EditThresholdPresentationModel.php
index 6a01cb5..8e47ed5 100644
--- a/includes/formatters/EditThresholdPresentationModel.php
+++ b/includes/formatters/EditThresholdPresentationModel.php
@@ -7,7 +7,8 @@
}
public function getHeaderMessageKey() {
- return 'notification-header-thank-you-' .
$this->event->getExtraParam( 'editCount' ) . '-edit';
+ return 'notification-header-thank-you-' .
+ $this->event->getExtraParam( 'editCount' ) . '-edit';
}
public function getPrimaryLink() {
@@ -16,7 +17,8 @@
}
return [
'url' => $this->event->getTitle()->getLocalURL(),
- 'label' => $this->msg(
'notification-link-thank-you-edit', $this->getViewingUserForGender() )->text()
+ 'label' => $this->msg(
'notification-link-thank-you-edit',
+ $this->getViewingUserForGender() )->text()
];
}
}
diff --git a/includes/formatters/EditUserTalkPresentationModel.php
b/includes/formatters/EditUserTalkPresentationModel.php
index 1fd6736..f9565ee 100644
--- a/includes/formatters/EditUserTalkPresentationModel.php
+++ b/includes/formatters/EditUserTalkPresentationModel.php
@@ -22,7 +22,9 @@
public function getSecondaryLinks() {
$diffLink = [
'url' => $this->getDiffLinkUrl(),
- 'label' => $this->msg(
'notification-link-text-view-changes', $this->getViewingUserForGender()
)->text(),
+ 'label' => $this->msg(
+ 'notification-link-text-view-changes',
$this->getViewingUserForGender()
+ )->text(),
'description' => '',
'icon' => 'changes',
'prioritized' => true
@@ -60,7 +62,8 @@
$sectionText = $this->event->getExtraParam( 'section-text' );
if ( !$this->isBundled() && $this->hasSection() && $sectionText
!== null ) {
$msg = $this->msg(
'notification-body-edit-user-talk-with-section' );
- // section-text is safe to use here, because
hasSection() returns false if the revision is deleted
+ // section-text is safe to use here, because
hasSection() returns false if the
+ // revision is deleted
$msg->plaintextParams( $sectionText );
return $msg;
} else {
diff --git a/includes/formatters/EmailUserPresentationModel.php
b/includes/formatters/EmailUserPresentationModel.php
index da30d7e..6f9caed 100644
--- a/includes/formatters/EmailUserPresentationModel.php
+++ b/includes/formatters/EmailUserPresentationModel.php
@@ -16,6 +16,8 @@
public function getBodyMessage() {
$preview = $this->event->getExtraParam( 'preview' );
- return $preview ? $this->msg( 'notification-body-emailuser'
)->plaintextParams( $preview ) : false;
+ return $preview
+ ? $this->msg( 'notification-body-emailuser'
)->plaintextParams( $preview )
+ : false;
}
}
diff --git a/includes/formatters/EventPresentationModel.php
b/includes/formatters/EventPresentationModel.php
index 766cb90..731a296 100644
--- a/includes/formatters/EventPresentationModel.php
+++ b/includes/formatters/EventPresentationModel.php
@@ -91,7 +91,9 @@
* @param string $distributionType 'web' or 'email'
* @return EchoEventPresentationModel
*/
- public static function factory( EchoEvent $event, $language, User
$user, $distributionType = 'web' ) {
+ public static function factory(
+ EchoEvent $event, $language, User $user, $distributionType =
'web'
+ ) {
global $wgEchoNotifications;
// @todo don't depend upon globals
@@ -183,7 +185,8 @@
*
* By default, each event is in its own group, and this method returns
the number of events.
* To group events differently, pass $groupCallback. For example, to
group events with the
- * same title together, use $callback = function ( $event ) { return
$event->getTitle()->getPrefixedText(); }
+ * same title together, use
+ * $callback = function ( $event ) { return
$event->getTitle()->getPrefixedText(); }
*
* If $includeCurrent is false, all events in the same group as the
current one will be ignored.
*
@@ -220,7 +223,9 @@
* @param callable $groupCallback
* @return int count
*/
- final protected function getNotificationCountForOutput( $includeCurrent
= true, $groupCallback = null ) {
+ final protected function getNotificationCountForOutput(
+ $includeCurrent = true, $groupCallback = null
+ ) {
$count = $this->getBundleCount( $includeCurrent, $groupCallback
);
$cappedCount =
EchoNotificationController::getCappedNotificationCount( $count );
return $cappedCount;
@@ -419,8 +424,8 @@
abstract public function getPrimaryLink();
/**
- * Like getPrimaryLink(), but with the URL altered to add
?markasread=XYZ. When this link is followed,
- * the notification is marked as read.
+ * Like getPrimaryLink(), but with the URL altered to add
?markasread=XYZ. When this link is
+ * followed, the notification is marked as read.
*
* When the notification is a bundle, the notification IDs are added to
the parameter value
* separated by a "|".
@@ -434,7 +439,9 @@
if ( $this->getBundledIds() ) {
$eventIds = array_merge( $eventIds,
$this->getBundledIds() );
}
- $primaryLink['url'] = wfAppendQuery(
$primaryLink['url'], [ 'markasread' => implode( '|', $eventIds ) ] );
+ $primaryLink['url'] = wfAppendQuery(
+ $primaryLink['url'], [ 'markasread' => implode(
'|', $eventIds ) ]
+ );
}
return $primaryLink;
}
@@ -448,8 +455,13 @@
* 'label' => (string) link text (non-escaped),
* 'description' => (string) descriptive text
(optional, non-escaped),
* 'icon' => (bool|string) symbolic ooui icon name (or
false if there is none),
- * 'type' => (string) optional action type. Used to
note a dynamic action, by setting it to 'dynamic-action'
- * 'data' => (array) optional array containing
information about the dynamic action. It must include 'tokenType' (string),
'messages' (array) with messages supplied for the item and the confirmation
dialog and 'params' (array) for the API operation needed to complete the
action. For example:
+ * 'type' => (string) optional action type. Used to
note a dynamic action,
+ * by setting it to 'dynamic-action'
+ * 'data' => (array) optional array containing
information about the dynamic
+ * action. It must include 'tokenType'
(string), 'messages' (array)
+ * with messages supplied for the item and
the confirmation dialog and
+ * 'params' (array) for the API operation
needed to complete the
+ * action. For example:
* 'data' => [
* 'tokenType' => 'watch',
* 'params' => [
@@ -506,7 +518,9 @@
* @return string
*/
protected function getTruncatedUsername( User $user ) {
- return $this->language->embedBidi( $this->language->truncate(
$user->getName(), self::USERNAME_RECOMMENDED_LENGTH, '...', false ) );
+ return $this->language->embedBidi( $this->language->truncate(
+ $user->getName(), self::USERNAME_RECOMMENDED_LENGTH,
'...', false
+ ) );
}
/**
@@ -516,7 +530,9 @@
*/
protected function getTruncatedTitleText( Title $title,
$includeNamespace = false ) {
$text = $includeNamespace ? $title->getPrefixedText() :
$title->getText();
- return $this->language->embedBidi( $this->language->truncate(
$text, self::PAGE_NAME_RECOMMENDED_LENGTH, '...', false ) );
+ return $this->language->embedBidi( $this->language->truncate(
+ $text, self::PAGE_NAME_RECOMMENDED_LENGTH, '...', false
+ ) );
}
/**
@@ -537,7 +553,9 @@
: $user->getUserPage()->getFullURL();
$label = $user->getName();
- $truncatedLabel = $this->language->truncate( $label,
self::USERNAME_AS_LABEL_RECOMMENDED_LENGTH, '...', false );
+ $truncatedLabel = $this->language->truncate(
+ $label, self::USERNAME_AS_LABEL_RECOMMENDED_LENGTH,
'...', false
+ );
$isTruncated = $label !== $truncatedLabel;
return [
@@ -569,7 +587,9 @@
return [
'url' => $title->getFullURL( $query ),
'label' => $this->language->embedBidi(
- $this->language->truncate( $title->getText(),
self::PAGE_NAME_AS_LABEL_RECOMMENDED_LENGTH, '...', false )
+ $this->language->truncate(
+ $title->getText(),
self::PAGE_NAME_AS_LABEL_RECOMMENDED_LENGTH, '...', false
+ )
),
'tooltip' => $title->getPrefixedText(),
'description' => $description,
@@ -590,7 +610,9 @@
* @return array Array compatible with the structure of
* secondary links
*/
- final protected function getDynamicActionLink( Title $title, $icon,
$label, $description = null, $data = [], $query = [] ) {
+ final protected function getDynamicActionLink(
+ Title $title, $icon, $label, $description = null, $data = [],
$query = []
+ ) {
if ( !$icon && $title->getNamespace() === NS_USER_TALK ) {
$icon = 'userSpeechBubble';
} elseif ( !$icon && $title->isTalkPage() ) {
@@ -639,7 +661,8 @@
//
notification-dynamic-actions-watch-confirmation-description
//
notification-dynamic-actions-unwatch-confirmation-description
'description' => $this
- ->msg(
'notification-dynamic-actions-' . $availableAction .
'-confirmation-description' )
+ ->msg(
'notification-dynamic-actions-' . $availableAction .
+
'-confirmation-description' )
->params(
$this->getTruncatedTitleText( $title ),
$title->getFullURL(),
diff --git a/includes/formatters/MentionPresentationModel.php
b/includes/formatters/MentionPresentationModel.php
index 69e3cc2..66d2469 100644
--- a/includes/formatters/MentionPresentationModel.php
+++ b/includes/formatters/MentionPresentationModel.php
@@ -91,7 +91,8 @@
] );
$viewChangesLink = [
'url' => $url,
- 'label' => $this->msg(
'notification-link-text-view-changes', $this->getViewingUserForGender()
)->text(),
+ 'label' => $this->msg(
'notification-link-text-view-changes',
+ $this->getViewingUserForGender() )->text(),
'description' => '',
'icon' => 'changes',
'prioritized' => true,
diff --git a/includes/formatters/PageLinkedPresentationModel.php
b/includes/formatters/PageLinkedPresentationModel.php
index d6e4132..d9d096a 100644
--- a/includes/formatters/PageLinkedPresentationModel.php
+++ b/includes/formatters/PageLinkedPresentationModel.php
@@ -34,7 +34,9 @@
public function getSecondaryLinks() {
$whatLinksHereLink = [
- 'url' => SpecialPage::getTitleFor( 'Whatlinkshere',
$this->event->getTitle()->getPrefixedText() )->getFullURL(),
+ 'url' => SpecialPage::getTitleFor(
+ 'Whatlinkshere',
$this->event->getTitle()->getPrefixedText()
+ )->getFullURL(),
'label' => $this->msg(
'notification-link-text-what-links-here' )->text(),
'description' => '',
'icon' => 'linked',
@@ -46,7 +48,8 @@
if ( $revid !== null ) {
$diffLink = [
'url' => $this->getPageFrom()->getFullURL( [
'diff' => $revid, 'oldid' => 'prev' ] ),
- 'label' => $this->msg(
'notification-link-text-view-changes', $this->getViewingUserForGender()
)->text(),
+ 'label' => $this->msg(
'notification-link-text-view-changes',
+ $this->getViewingUserForGender()
)->text(),
'description' => '',
'icon' => 'changes',
'prioritized' => true
@@ -93,7 +96,9 @@
}
// Backwards compatiblity for events from before
https://gerrit.wikimedia.org/r/#/c/63076
if ( isset( $extra['link-from-namespace'] ) && isset(
$extra['link-from-title'] ) ) {
- $title = Title::makeTitleSafe(
$extra['link-from-namespace'], $extra['link-from-title'] );
+ $title = Title::makeTitleSafe(
+ $extra['link-from-namespace'],
$extra['link-from-title']
+ );
if ( $title ) {
return $title->getArticleId();
}
diff --git a/includes/formatters/RevertedPresentationModel.php
b/includes/formatters/RevertedPresentationModel.php
index 85a79cf..386ca82 100644
--- a/includes/formatters/RevertedPresentationModel.php
+++ b/includes/formatters/RevertedPresentationModel.php
@@ -19,7 +19,9 @@
public function getBodyMessage() {
$summary = $this->event->getExtraParam( 'summary' );
- if ( !$this->isAutomaticSummary( $summary ) && $this->userCan(
Revision::DELETED_COMMENT ) ) {
+ if ( !$this->isAutomaticSummary( $summary ) &&
+ $this->userCan( Revision::DELETED_COMMENT )
+ ) {
$msg = $this->msg( "notification-body-{$this->type}" );
$msg->plaintextParams( $this->formatSummary( $summary )
);
return $msg;
@@ -39,7 +41,8 @@
] );
return [
'url' => $url,
- 'label' => $this->msg(
'notification-link-text-view-changes', $this->getViewingUserForGender()
)->text()
+ 'label' => $this->msg(
'notification-link-text-view-changes',
+ $this->getViewingUserForGender() )->text()
];
}
diff --git a/includes/formatters/SpecialNotificationsFormatter.php
b/includes/formatters/SpecialNotificationsFormatter.php
index d5e7d98..7db519a 100644
--- a/includes/formatters/SpecialNotificationsFormatter.php
+++ b/includes/formatters/SpecialNotificationsFormatter.php
@@ -60,7 +60,9 @@
$this->user
);
- $footerItems = [ Html::element( 'span', [ 'class' =>
'mw-echo-notification-footer-element' ], $ts ) ];
+ $footerItems = [
+ Html::element( 'span', [ 'class' =>
'mw-echo-notification-footer-element' ], $ts )
+ ];
// Add links to the footer, primary goes first, then secondary
ones
$links = [];
@@ -90,7 +92,8 @@
$html .= Xml::tags(
'div',
[ 'class' => 'mw-echo-notification-footer' ],
- implode( Html::element( 'span', [ 'class' =>
'mw-echo-notification-footer-element' ], $pipe ), $footerItems )
+ implode( Html::element( 'span',
+ [ 'class' =>
'mw-echo-notification-footer-element' ], $pipe ), $footerItems )
) . "\n";
// Wrap everything in mw-echo-content class
@@ -99,7 +102,8 @@
// And then add the mark as read button
// and the icon in front and wrap with
// mw-echo-state class.
- $html = Xml::tags( 'div', [ 'class' => 'mw-echo-state' ],
$markAsReadButton . $icon . $html );
+ $html = Xml::tags( 'div',
+ [ 'class' => 'mw-echo-state' ], $markAsReadButton .
$icon . $html );
return $html;
}
diff --git a/includes/formatters/UserRightsPresentationModel.php
b/includes/formatters/UserRightsPresentationModel.php
index 53f20d0..810cdb5 100644
--- a/includes/formatters/UserRightsPresentationModel.php
+++ b/includes/formatters/UserRightsPresentationModel.php
@@ -13,15 +13,21 @@
list( $formattedName, $genderName ) =
$this->getAgentForOutput();
$add = array_map(
[ $this->language, 'embedBidi' ],
- $this->getLocalizedGroupNames( array_values(
$this->event->getExtraParam( 'add', [] ) ) )
+ $this->getLocalizedGroupNames(
+ array_values( $this->event->getExtraParam(
'add', [] ) )
+ )
);
$remove = array_map(
[ $this->language, 'embedBidi' ],
- $this->getLocalizedGroupNames( array_values(
$this->event->getExtraParam( 'remove', [] ) ) )
+ $this->getLocalizedGroupNames(
+ array_values( $this->event->getExtraParam(
'remove', [] ) )
+ )
);
$expiryChanged = array_map(
[ $this->language, 'embedBidi' ],
- $this->getLocalizedGroupNames( array_values(
$this->event->getExtraParam( 'expiry-changed', [] ) ) )
+ $this->getLocalizedGroupNames(
+ array_values( $this->event->getExtraParam(
'expiry-changed', [] ) )
+ )
);
if ( $expiryChanged ) {
$msg = $this->msg(
'notification-header-user-rights-expiry-change' );
--
To view, visit https://gerrit.wikimedia.org/r/364299
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I168dfcdde102d8e34f3ed1f378965670a5ae005d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: master
Gerrit-Owner: Umherirrender <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits