From 6625c542d9a8a4b5b2bca63a051222951844a779 Mon Sep 17 00:00:00 2001 From: Jyoti Puri Date: Wed, 23 Nov 2022 23:30:05 +0530 Subject: [PATCH] Remove callback from being saved in controller state (#16627) --- app/scripts/controllers/metametrics.js | 14 ++++++++------ app/scripts/controllers/metametrics.test.js | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/scripts/controllers/metametrics.js b/app/scripts/controllers/metametrics.js index 022577f2c..f52d2cd76 100644 --- a/app/scripts/controllers/metametrics.js +++ b/app/scripts/controllers/metametrics.js @@ -166,11 +166,9 @@ export default class MetaMetricsController { // Code below submits any pending segmentApiCalls to Segment if/when the controller is re-instantiated if (isManifestV3) { - Object.values(segmentApiCalls).forEach( - ({ eventType, payload, callback }) => { - this._submitSegmentAPICall(eventType, payload, callback); - }, - ); + Object.values(segmentApiCalls).forEach(({ eventType, payload }) => { + this._submitSegmentAPICall(eventType, payload); + }); } // Close out event fragments that were created but not progressed. An @@ -962,6 +960,11 @@ export default class MetaMetricsController { // Saving segmentApiCalls in controller store in MV3 ensures that events are tracked // even if service worker terminates before events are submiteed to segment. _submitSegmentAPICall(eventType, payload, callback) { + const { metaMetricsId, participateInMetaMetrics } = this.state; + if (!participateInMetaMetrics || !metaMetricsId) { + return; + } + const messageId = payload.messageId || generateRandomId(); let timestamp = new Date(); if (payload.timestamp) { @@ -980,7 +983,6 @@ export default class MetaMetricsController { ...modifiedPayload, timestamp: modifiedPayload.timestamp.toString(), }, - callback, }, }, }); diff --git a/app/scripts/controllers/metametrics.test.js b/app/scripts/controllers/metametrics.test.js index 5d29426d0..e164f5461 100644 --- a/app/scripts/controllers/metametrics.test.js +++ b/app/scripts/controllers/metametrics.test.js @@ -362,7 +362,7 @@ describe('MetaMetricsController', function () { it('should track an event if user has not opted in, but isOptIn is true', function () { const mock = sinon.mock(segment); const metaMetricsController = getMetaMetricsController({ - participateInMetaMetrics: false, + participateInMetaMetrics: true, }); mock .expects('track') @@ -394,7 +394,7 @@ describe('MetaMetricsController', function () { it('should track an event during optin and allow for metaMetricsId override', function () { const mock = sinon.mock(segment); const metaMetricsController = getMetaMetricsController({ - participateInMetaMetrics: false, + participateInMetaMetrics: true, }); mock .expects('track')