fix(core): Do not run setup for integration on client multiple times#10116
Merged
fix(core): Do not run setup for integration on client multiple times#10116
setup for integration on client multiple times#10116Conversation
Currently, if you do: ```js const myIntegration = new InboundFilters(); const myIntegration2 = new InboundFilters(); const myIntegration3 = new InboundFilters(); client.addIntegration(myIntegration); client.addIntegration(myIntegration2); client.addIntegration(myIntegration3); ``` All of these will have their `setup` hooks called, and thus they will be initialized multiple times. However, all but the last will be discarded from the client and not be accessible anymore via e.g. `getIntegration()` or similar. This used to not matter because everything was guarded through `setupOnce()` anyhow, but i would say this is more of a bug and not really expected. With this change, an integration can only be added to a client once, if you try to add it again it will noop.
4923d6d to
0b10294
Compare
Contributor
size-limit report 📦
|
AbhiPrasad
approved these changes
Jan 9, 2024
AbhiPrasad
pushed a commit
that referenced
this pull request
Jan 11, 2024
…)` (#10118) This adds a new `client.init()` method to be called instead of `client.setupIntegrations()`. Note that this method simply initializes the integrations always, and depends on the check that we don't add integrations multiple times. This also has a bit of a different semantic, dropping the `force` argument in favor of just calling `addIntegration()` again - this depends on #10116 to really work.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, if you do:
All of these will have their
setuphooks called, and thus they will be initialized multiple times. However, all but the last will be discarded from the client and not be accessible anymore via e.g.getIntegration()or similar.This used to not matter because everything was guarded through
setupOnce()anyhow, but i would say this is more of a bug and not really expected.With this change, an integration can only be added to a client once, if you try to add it again it will noop.