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

Reply via email to