feat(browser): Add debugId sync APIs between web worker and main thread #16981
+398
−0
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.
This PR adds two Browser SDK APIs to let the main thread know about debugIds of worker files:
webWorkerIntegration(worker)
to be used in the main threadregisterWebWorker(self)
to be used in the web workerThe communication between workers and main thread is established between both APIs and they have to be used both for the sync to work correctly. Another limitation around this approach is that users must set up
webWorkerInegration
before they register their own message listeners. This ensures that the message fromregisterWebWorker
is not propagated to user-created message listeners. We'll document this thoroughly in docs and I already added a section about this in the JSDoc.Because of the strict co-dependence of both APIs, I decided to add them in one PR (also makes testing easier).
Usage Example
closes #16975
closes #16976