@@ -24,11 +24,14 @@ import {
2424 REJECT_NOTFICIATION_CLOSE_SIG ,
2525} from '../../shared/constants/metametrics' ;
2626import { isManifestV3 } from '../../shared/modules/mv3.utils' ;
27+ import { maskObject } from '../../shared/modules/object.utils' ;
2728import migrations from './migrations' ;
2829import Migrator from './lib/migrator' ;
2930import ExtensionPlatform from './platforms/extension' ;
3031import LocalStore from './lib/local-store' ;
3132import ReadOnlyNetworkStore from './lib/network-store' ;
33+ import { SENTRY_STATE } from './lib/setupSentry' ;
34+
3235import createStreamSink from './lib/createStreamSink' ;
3336import NotificationManager , {
3437 NOTIFICATION_MANAGER_EVENTS ,
@@ -353,6 +356,8 @@ function setupController(initState, initLangCode, remoteSourcePort) {
353356 } ,
354357 ) ;
355358
359+ setupSentryGetStateGlobal ( controller . store ) ;
360+
356361 /**
357362 * Assigns the given state to the versioned object (with metadata), and returns that.
358363 *
@@ -757,3 +762,15 @@ browser.runtime.onInstalled.addListener(({ reason }) => {
757762 platform . openExtensionInBrowser ( ) ;
758763 }
759764} ) ;
765+
766+ function setupSentryGetStateGlobal ( store ) {
767+ global . getSentryState = function ( ) {
768+ const fullState = store . getState ( ) ;
769+ const debugState = maskObject ( fullState , SENTRY_STATE ) ;
770+ return {
771+ browser : window . navigator . userAgent ,
772+ store : debugState ,
773+ version : global . platform . getVersion ( ) ,
774+ } ;
775+ } ;
776+ }
0 commit comments