diff --git a/app/scripts/controllers/metametrics.js b/app/scripts/controllers/metametrics.js index 6e8fc62a2..3d0b622ca 100644 --- a/app/scripts/controllers/metametrics.js +++ b/app/scripts/controllers/metametrics.js @@ -57,8 +57,6 @@ export default class MetaMetricsController { /** * @param {Object} segment - an instance of analytics-node for tracking * events that conform to the new MetaMetrics tracking plan. - * @param {Object} segmentLegacy - an instance of analytics-node for - * tracking legacy schema events. Will eventually be phased out * @param {Object} preferencesStore - The preferences controller store, used * to access and subscribe to preferences that will be attached to events * @param {function} onNetworkDidChange - Used to attach a listener to the @@ -73,7 +71,6 @@ export default class MetaMetricsController { */ constructor({ segment, - segmentLegacy, preferencesStore, onNetworkDidChange, getCurrentChainId, @@ -105,7 +102,6 @@ export default class MetaMetricsController { this.network = getNetworkIdentifier(); }); this.segment = segment; - this.segmentLegacy = segmentLegacy; } generateMetaMetricsId() { @@ -260,6 +256,12 @@ export default class MetaMetricsController { } payload[idType] = idValue; + // If this is an event on the old matomo schema, add a key to the payload + // to designate it as such + if (matomoEvent === true) { + payload.properties.legacy_event = true; + } + // Promises will only resolve when the event is sent to segment. For any // event that relies on this promise being fulfilled before performing UI // updates, or otherwise delaying user interaction, supply the @@ -278,11 +280,9 @@ export default class MetaMetricsController { return resolve(); }; - const target = matomoEvent === true ? this.segmentLegacy : this.segment; - - target.track(payload, callback); + this.segment.track(payload, callback); if (flushImmediately) { - target.flush(); + this.segment.flush(); } }); } diff --git a/app/scripts/controllers/metametrics.test.js b/app/scripts/controllers/metametrics.test.js index 0d783badd..e30b6ad5e 100644 --- a/app/scripts/controllers/metametrics.test.js +++ b/app/scripts/controllers/metametrics.test.js @@ -11,7 +11,6 @@ import MetaMetricsController from './metametrics'; import { NETWORK_EVENTS } from './network'; const segment = createSegmentMock(2, 10000); -const segmentLegacy = createSegmentMock(2, 10000); const VERSION = '0.0.1-test'; const NETWORK = 'Mainnet'; @@ -91,7 +90,6 @@ function getMetaMetricsController({ } = {}) { return new MetaMetricsController({ segment, - segmentLegacy, getNetworkIdentifier: networkController.getNetworkIdentifier.bind( networkController, ), @@ -286,7 +284,7 @@ describe('MetaMetricsController', function () { }); it('should track a legacy event', function () { - const mock = sinon.mock(segmentLegacy); + const mock = sinon.mock(segment); const metaMetricsController = getMetaMetricsController(); mock .expects('track') @@ -297,6 +295,7 @@ describe('MetaMetricsController', function () { context: DEFAULT_TEST_CONTEXT, properties: { test: 1, + legacy_event: true, ...DEFAULT_EVENT_PROPERTIES, }, }); @@ -544,7 +543,6 @@ describe('MetaMetricsController', function () { afterEach(function () { // flush the queues manually after each test segment.flush(); - segmentLegacy.flush(); sinon.restore(); }); }); diff --git a/app/scripts/lib/segment.js b/app/scripts/lib/segment.js index fa88128c8..a75cf29bd 100644 --- a/app/scripts/lib/segment.js +++ b/app/scripts/lib/segment.js @@ -4,7 +4,6 @@ const isDevOrTestEnvironment = Boolean( process.env.METAMASK_DEBUG || process.env.IN_TEST, ); const SEGMENT_WRITE_KEY = process.env.SEGMENT_WRITE_KEY ?? null; -const SEGMENT_LEGACY_WRITE_KEY = process.env.SEGMENT_LEGACY_WRITE_KEY ?? null; const SEGMENT_HOST = process.env.SEGMENT_HOST ?? null; // flushAt controls how many events are sent to segment at once. Segment will @@ -90,12 +89,3 @@ export const segment = flushAt: SEGMENT_FLUSH_AT, flushInterval: SEGMENT_FLUSH_INTERVAL, }); - -export const segmentLegacy = - !SEGMENT_LEGACY_WRITE_KEY || (isDevOrTestEnvironment && !SEGMENT_HOST) - ? createSegmentMock(SEGMENT_FLUSH_AT, SEGMENT_FLUSH_INTERVAL) - : new Analytics(SEGMENT_LEGACY_WRITE_KEY, { - host: SEGMENT_HOST, - flushAt: SEGMENT_FLUSH_AT, - flushInterval: SEGMENT_FLUSH_INTERVAL, - }); diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 6d4c45ea0..7b1b36f90 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -58,7 +58,7 @@ import nodeify from './lib/nodeify'; import accountImporter from './account-import-strategies'; import seedPhraseVerifier from './lib/seed-phrase-verifier'; import MetaMetricsController from './controllers/metametrics'; -import { segment, segmentLegacy } from './lib/segment'; +import { segment } from './lib/segment'; import createMetaRPCHandler from './lib/createMetaRPCHandler'; export const METAMASK_CONTROLLER_EVENTS = { @@ -128,7 +128,6 @@ export default class MetamaskController extends EventEmitter { this.metaMetricsController = new MetaMetricsController({ segment, - segmentLegacy, preferencesStore: this.preferencesController.store, onNetworkDidChange: this.networkController.on.bind( this.networkController,