Skip to content

Remove global installedIntegrations variable #7028

Description

@Lms24

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions