Closed as not planned
Description
Problem Statement
While debugging a failing replay integration test in #7011, we just realized that the global installedIntegrations
causes problems for the replay integration CDN bundle.
This is problematic, because the replay integration CDN bundle will get its own copy of installedIntegrations
, which will always be empty as it is not populated by the SDK:
// Both bundles maintain separate copies of `installedIntegrations` and only the SDK's field will be used
SDk bundle
sentry.init()
sentry.addinitegration()
installedIntegrations = [ 'Replay', 'Dedupe', ....]
replay bundle
installedIntegrations = []
prepareEvent() // prepareEvent accesses installedIntegrations but takes the replay bundle's version, which will always be empty
Solution Brainstorm
We should get rid of this global as this is very problematic, albeit in this particular case, only for the replay integration.
It should be good enough to use the _integrations
field in BaseClient
to avoid a breaking change for now and once we move to v8, we can add public getter/a cleaner way to access this field.