EBernhardson has uploaded a new change for review.

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

Change subject: Revert "Refactor search.js to only load deps for users in test"
......................................................................

Revert "Refactor search.js to only load deps for users in test"

This reverts commit a6007a21fc9f6d6a3224c00dbcc241657516752b.

Change-Id: I4ee2c6688117cb52f6aace5f23656c890dbb834c
---
M WikimediaEvents.php
M modules/ext.wikimediaEvents.search.js
2 files changed, 42 insertions(+), 46 deletions(-)


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

diff --git a/WikimediaEvents.php b/WikimediaEvents.php
index fd4b338..608016a 100644
--- a/WikimediaEvents.php
+++ b/WikimediaEvents.php
@@ -113,6 +113,8 @@
                'dependencies' => array(
                        'mediawiki.user', // needed by search.js, 
searchSuggest.js
                        'mediawiki.Uri', // needed by searchSatisfaction.js
+                       'schema.Search', // needed by search.js
+                       'ext.eventLogging', // needed by search.js
                ),
                'localBasePath' => __DIR__ . '/modules',
                'remoteExtPath' => 'WikimediaEvents/modules',
diff --git a/modules/ext.wikimediaEvents.search.js 
b/modules/ext.wikimediaEvents.search.js
index 0edd61b..6062562 100644
--- a/modules/ext.wikimediaEvents.search.js
+++ b/modules/ext.wikimediaEvents.search.js
@@ -2,57 +2,51 @@
 ( function ( $ ) {
        'use strict';
 
-       var defaults, depsPromise, sessionStartTime,
-               getRandomToken = function () {
-                       return mw.user.generateRandomSessionId() + ( new Date() 
).getTime().toString();
-               },
-               oneIn = function ( populationSize ) {
-                       var rand = parseInt( 
mw.user.generateRandomSessionId().slice( 0, 13 ), 16 );
-                       return rand % populationSize === 0;
-               },
-               isLoggingEnabled = mw.config.get( 
'wgCirrusSearchEnableSearchLogging' );
+       var isLoggingEnabled = mw.config.get( 
'wgCirrusSearchEnableSearchLogging' ),
+               // For 1 in a 1000 users the metadata about interaction
+               // with the search form (absent search terms) is event logged.
+               // See https://meta.wikimedia.org/wiki/Schema:Search
+               isSampled = Math.random() < 1 / 1000,
+               defaults,
+               sessionStartTime;
 
-       // For 1 in a 1000 users the metadata about interaction
-       // with the search form (absent search terms) is event logged.
-       // See https://meta.wikimedia.org/wiki/Schema:Search
-       if ( !isLoggingEnabled || !oneIn( 1000 ) ) {
-               return;
+       /**
+        * Generate a random token
+        * @return {String}
+        */
+       function getRandomToken() {
+               return mw.user.generateRandomSessionId() + ( new Date() 
).getTime().toString();
        }
 
-       depsPromise = mw.loader.using( [
-               'schema.Search',
-               'ext.eventLogging'
-       ] );
-
-       defaults = {
-               platform: 'desktop',
-               userSessionToken: getRandomToken(),
-               searchSessionToken: getRandomToken()
-       };
-
-       mw.trackSubscribe( 'mediawiki.searchSuggest', function ( topic, data ) {
-               var loggingData = {
-                       action: data.action
+       if ( isLoggingEnabled && isSampled ) {
+               defaults = {
+                       platform: 'desktop',
+                       userSessionToken: getRandomToken(),
+                       searchSessionToken: getRandomToken()
                };
 
-               if ( data.action === 'session-start' ) {
-                       // update session token if it's a new search
-                       defaults.searchSessionToken = getRandomToken();
-                       sessionStartTime = this.timeStamp;
-               } else if ( data.action === 'impression-results' ) {
-                       loggingData.numberOfResults = data.numberOfResults;
-                       loggingData.resultSetType = data.resultSetType;
-                       loggingData.timeToDisplayResults = Math.round( 
this.timeStamp - sessionStartTime );
-               } else if ( data.action === 'click-result' ) {
-                       loggingData.clickIndex = data.clickIndex;
-                       loggingData.numberOfResults = data.numberOfResults;
-               } else if ( data.action === 'submit-form' ) {
-                       loggingData.numberOfResults = data.numberOfResults;
-               }
-               loggingData.timeOffsetSinceStart = Math.round( this.timeStamp - 
sessionStartTime ) ;
-               $.extend( loggingData, defaults );
-               depsPromise.then( function () {
+               mw.trackSubscribe( 'mediawiki.searchSuggest', function ( topic, 
data ) {
+                       var loggingData = {
+                               action: data.action
+                       };
+
+                       if ( data.action === 'session-start' ) {
+                               // update session token if it's a new search
+                               defaults.searchSessionToken = getRandomToken();
+                               sessionStartTime = this.timeStamp;
+                       } else if ( data.action === 'impression-results' ) {
+                               loggingData.numberOfResults = 
data.numberOfResults;
+                               loggingData.resultSetType = data.resultSetType;
+                               loggingData.timeToDisplayResults = Math.round( 
this.timeStamp - sessionStartTime );
+                       } else if ( data.action === 'click-result' ) {
+                               loggingData.clickIndex = data.clickIndex;
+                               loggingData.numberOfResults = 
data.numberOfResults;
+                       } else if ( data.action === 'submit-form' ) {
+                               loggingData.numberOfResults = 
data.numberOfResults;
+                       }
+                       loggingData.timeOffsetSinceStart = Math.round( 
this.timeStamp - sessionStartTime ) ;
+                       $.extend( loggingData, defaults );
                        mw.eventLog.logEvent( 'Search', loggingData );
                } );
-       } );
+       }
 }( jQuery ) );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4ee2c6688117cb52f6aace5f23656c890dbb834c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: wmf/1.27.0-wmf.3
Gerrit-Owner: EBernhardson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to