jenkins-bot has submitted this change and it was merged. Change subject: Track why mentions didn't happen ......................................................................
Track why mentions didn't happen Right now we don't actually know how many times each of these cases happen so add some basic tracking so we can make some informed decisions. Bug: T135719 Change-Id: Id4d519aefe96ecca2e3c51dd1c8128de70d0caac --- M includes/DiscussionParser.php 1 file changed, 20 insertions(+), 7 deletions(-) Approvals: Sbisson: Looks good to me, approved Mattflaschen: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/DiscussionParser.php b/includes/DiscussionParser.php index 909723b..4a8e636 100644 --- a/includes/DiscussionParser.php +++ b/includes/DiscussionParser.php @@ -144,26 +144,39 @@ } $mentionedUsers = array(); $count = 0; + $stats = RequestContext::getMain()->getStats(); foreach ( $links[NS_USER] as $dbk => $page_id ) { $user = User::newFromName( $dbk ); // we should not add user to 'mention' notification list if // 1. the user name is not valid - // 2. the user mentions themselves - // 3. the user is the owner of the talk page - // 4. user is anonymous - if ( - !$user || $user->isAnon() || $user->getId() == $revision->getUser() || - ( $title->getNamespace() === NS_USER_TALK && $title->getDBkey() === $dbk ) - ) { + if ( !$user ) { + $stats->increment( 'echo.event.mention.error.invalidUser' ); continue; } + // 2. the user mentions themselves + if ( $user->getId() == $revision->getUser() ) { + $stats->increment( 'echo.event.mention.error.sameUser' ); + continue; + } + // 3. the user is the owner of the talk page + if ( $title->getNamespace() === NS_USER_TALK && $title->getDBkey() === $dbk ) { + $stats->increment( 'echo.event.mention.error.ownPage' ); + continue; + } + // 4. user is anonymous + if ( $user->isAnon() ) { + $stats->increment( 'echo.event.mention.error.anonUser' ); + continue; + } + $mentionedUsers[$user->getId()] = $user->getId(); $count++; // If more than 50 users are being pinged this is likely a spam/attack vector // Don't send any mention notifications. if ( $count > 50 ) { + $stats->increment( 'echo.event.mention.error.tooMany' ); return; } } -- To view, visit https://gerrit.wikimedia.org/r/290062 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id4d519aefe96ecca2e3c51dd1c8128de70d0caac Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/Echo Gerrit-Branch: master Gerrit-Owner: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Catrope <roan.katt...@gmail.com> Gerrit-Reviewer: Florianschmidtwelzow <florian.schmidt.stargatewis...@gmail.com> Gerrit-Reviewer: Gabriel Birke <gabriel.bi...@wikimedia.de> Gerrit-Reviewer: Jakob <jakob.warkot...@wikimedia.de> Gerrit-Reviewer: Kai Nissen (WMDE) <kai.nis...@wikimedia.de> Gerrit-Reviewer: Legoktm <legoktm.wikipe...@gmail.com> Gerrit-Reviewer: Mattflaschen <mflasc...@wikimedia.org> Gerrit-Reviewer: Reedy <re...@wikimedia.org> Gerrit-Reviewer: Sbisson <sbis...@wikimedia.org> Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: WMDE-Fisch <christoph.fisc...@wikimedia.de> Gerrit-Reviewer: WMDE-leszek <leszek.mani...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits