Jdlrobson has uploaded a new change for review. https://gerrit.wikimedia.org/r/317713
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: I58eefc29444179fd245cfd722093dedea19455e8 --- 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 M tests/qunit/ext.popups.schemaPopups.utils.test.js 5 files changed, 28 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups refs/changes/13/317713/1 diff --git a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js index 06604cd..ef1c280 100644 --- a/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js +++ b/resources/ext.popups.renderer.desktopRenderer/desktopRenderer.js @@ -222,6 +222,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.utils/ext.popups.schemaPopups.utils.js b/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js index 7c9c9da..7487365 100644 --- a/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js +++ b/resources/ext.popups.schemaPopups.utils/ext.popups.schemaPopups.utils.js @@ -93,14 +93,19 @@ * @return {Object} */ function getMassagedData( data, previousLogData ) { + // 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; // 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' ) { return false; } + } else if ( action && [ 'hover', 'display' ].indexOf( action ) > -1 ) { + return false; } data.previewCountBucket = mw.popups.getPreviewCountBucket(); delete data.dwellStartTime; diff --git a/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js b/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js index c419660..a78db75 100644 --- a/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js +++ b/resources/ext.popups.schemaPopups/ext.popups.schemaPopups.js @@ -9,8 +9,6 @@ ); mw.trackSubscribe( 'ext.popups.event', function ( topic, data ) { - var shouldLog = true; - data = mw.popups.schemaPopups.getMassagedData( data, previousLogData ); if ( data ) { diff --git a/resources/ext.popups.targets.desktopTarget/desktopTarget.js b/resources/ext.popups.targets.desktopTarget/desktopTarget.js index 4b47d46..b7a6386 100644 --- a/resources/ext.popups.targets.desktopTarget/desktopTarget.js +++ b/resources/ext.popups.targets.desktopTarget/desktopTarget.js @@ -46,6 +46,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 ) { diff --git a/tests/qunit/ext.popups.schemaPopups.utils.test.js b/tests/qunit/ext.popups.schemaPopups.utils.test.js index 9a6b7d7..1ec7549 100644 --- a/tests/qunit/ext.popups.schemaPopups.utils.test.js +++ b/tests/qunit/ext.popups.schemaPopups.utils.test.js @@ -145,4 +145,17 @@ assert.ok( schemaPopups.getMassagedData( thisEvent, previousEvent ) === false, 'duplicate events are ignored...' ); assert.ok( schemaPopups.getMassagedData( settingsEvent, thisEvent ) !== false, '... unless disabled event' ); } ); -} )( jQuery, mediaWiki ); + + QUnit.test( 'getMassagedData - returns false for hover and display events', 2, function ( assert ) { + var + hoverEvent = { + action: 'hover' + }, + displayEvent = { + action: 'display', + linkInteractionToken: 't' + }; + + assert.ok( schemaPopups.getMassagedData( hoverEvent ) === false ); + assert.ok( schemaPopups.getMassagedData( displayEvent ) === false ); + } ); -- To view, visit https://gerrit.wikimedia.org/r/317713 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I58eefc29444179fd245cfd722093dedea19455e8 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Popups Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits