diff --git a/docs/metrics.md b/docs/metrics.md index 4a13647..648af7f 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -189,6 +189,45 @@ of a `testpilottest` telemetry ping for each scenario. } ``` +* The user chooses "Always Open in this Container" context menu option. (Note: We send two separate event names: one for assigning a site to a container, one for removing a site from a container.) + +```js + { + "uuid": , + "userContextId": , + "event": "[added|removed]-container-assignment" + } +``` + +* Firefox prompts the user to reload a site into a container after the user picked "Always Open in this Container". + +```js + { + "uuid": , + "userContextId": , + "event": "prompt-reload-page-in-container" + } +``` + +* The user clicks "Take me there" to reload a site into a container after the user picked "Always Open in this Container". + +```js + { + "uuid": , + "event": "click-to-reload-page-in-container" + } +``` + +* Firefox automatically reloads a site into a container after the user picked "Always Open in this Container". + +```js + { + "uuid": , + "userContextId": , + "event": "auto-reload-page-in-container" + } +``` + ### A Redshift schema for the payload: ```lua diff --git a/package.json b/package.json index e34dd94..106488e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "testpilot-containers", "title": "Containers Experiment", "description": "Containers works by isolating cookie jars using separate origin-attributes defined visually by colored ‘Container Tabs’. This add-on is a modified version of the containers feature for Firefox Test Pilot.", - "version": "2.1.0", + "version": "2.1.1", "author": "Andrea Marchesini, Luke Crouch and Jonathan Kingston", "bugs": { "url": "https://github.com/mozilla/testpilot-containers/issues" diff --git a/webextension/background.js b/webextension/background.js index c6dc283..bb70dac 100644 --- a/webextension/background.js +++ b/webextension/background.js @@ -115,6 +115,11 @@ const assignManager = { message: `Successfully ${actionName} site to always open in this container`, iconUrl: browser.extension.getURL("/img/onboarding-1.png") }); + browser.runtime.sendMessage({ + method: "sendTelemetryPayload", + event: `${actionName}-container-assignment`, + userContextId: userContextId, + }); this.calculateContextMenu(tab); }).catch((e) => { throw e; @@ -227,7 +232,17 @@ const assignManager = { // If the user has explicitly checked "Never Ask Again" on the warning page we will send them straight there if (neverAsk) { browser.tabs.create({url, cookieStoreId: `firefox-container-${userContextId}`, index}); + browser.runtime.sendMessage({ + method: "sendTelemetryPayload", + event: "auto-reload-page-in-container", + userContextId: userContextId, + }); } else { + browser.runtime.sendMessage({ + method: "sendTelemetryPayload", + event: "prompt-to-reload-page-in-container", + userContextId: userContextId, + }); const confirmUrl = `${loadPage}?url=${url}`; browser.tabs.create({url: confirmUrl, cookieStoreId: `firefox-container-${userContextId}`, index}).then(() => { // We don't want to sync this URL ever nor clutter the users history diff --git a/webextension/js/confirm-page.js b/webextension/js/confirm-page.js index 19a64f9..feefba1 100644 --- a/webextension/js/confirm-page.js +++ b/webextension/js/confirm-page.js @@ -17,6 +17,10 @@ document.getElementById("redirect-form").addEventListener("submit", (e) => { // Can't really do much here user will have to click it again }); } + browser.runtime.sendMessage({ + method: "sendTelemetryPayload", + event: "click-to-reload-page-in-container", + }); redirect(); }); diff --git a/webextension/manifest.json b/webextension/manifest.json index 675b179..a3f4c61 100644 --- a/webextension/manifest.json +++ b/webextension/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Containers Experiment", - "version": "2.1.0", + "version": "2.1.1", "description": "Containers works by isolating cookie jars using separate origin-attributes defined visually by colored ‘Container Tabs’. This add-on is a modified version of the containers feature for Firefox Test Pilot.", "icons": {