Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(browser): Avoid showing browser extension error message in non-window global scopes #13156

Merged
merged 2 commits into from
Aug 2, 2024

Conversation

Lms24
Copy link
Member

@Lms24 Lms24 commented Aug 1, 2024

This PR relaxes our browser extension detection check. The idea is to avoid showing the error message and blocking Sentry.init if the SDK is not initialized in a window global scope. For instance, this will allow Sentry.init to be executed in (service) workers. We likely don't need to worry about multiple SDK instance collisions in non-window global scopes.

We discussed this a bit internally and there are some caveats to this. Using the browser SDK in workers is a bit problematic as many global APIs are not available in there. However, we currently instruct users to do just that. Long-term, it'd be valuable to have a worker SDK that doesn't expect certain browser/Window APIs to be present at all.

Reviewers, please roast me if this is not a good idea :D

fixes #13152

Copy link
Contributor

github-actions bot commented Aug 1, 2024

size-limit report 📦

Path Size
@sentry/browser 22.46 KB (+0.07% 🔺)
@sentry/browser (incl. Tracing) 34.24 KB (+0.04% 🔺)
@sentry/browser (incl. Tracing, Replay) 70.3 KB (+0.02% 🔺)
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 63.63 KB (+0.02% 🔺)
@sentry/browser (incl. Tracing, Replay with Canvas) 74.7 KB (+0.02% 🔺)
@sentry/browser (incl. Tracing, Replay, Feedback) 87.28 KB (+0.02% 🔺)
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) 89.12 KB (+0.02% 🔺)
@sentry/browser (incl. metrics) 26.77 KB (+0.05% 🔺)
@sentry/browser (incl. Feedback) 39.38 KB (+0.03% 🔺)
@sentry/browser (incl. sendFeedback) 27.08 KB (+0.07% 🔺)
@sentry/browser (incl. FeedbackAsync) 31.72 KB (+0.05% 🔺)
@sentry/react 25.23 KB (+0.06% 🔺)
@sentry/react (incl. Tracing) 37.24 KB (+0.04% 🔺)
@sentry/vue 26.61 KB (+0.05% 🔺)
@sentry/vue (incl. Tracing) 36.07 KB (+0.03% 🔺)
@sentry/svelte 22.59 KB (+0.07% 🔺)
CDN Bundle 23.65 KB (+0.05% 🔺)
CDN Bundle (incl. Tracing) 35.89 KB (+0.04% 🔺)
CDN Bundle (incl. Tracing, Replay) 70.33 KB (+0.03% 🔺)
CDN Bundle (incl. Tracing, Replay, Feedback) 75.59 KB (+0.02% 🔺)
CDN Bundle - uncompressed 69.41 KB (+0.06% 🔺)
CDN Bundle (incl. Tracing) - uncompressed 106.35 KB (+0.04% 🔺)
CDN Bundle (incl. Tracing, Replay) - uncompressed 218.2 KB (+0.02% 🔺)
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 231.03 KB (+0.02% 🔺)
@sentry/nextjs (client) 37.09 KB (+0.06% 🔺)
@sentry/sveltekit (client) 34.81 KB (+0.05% 🔺)
@sentry/node 114.77 KB (0%)
@sentry/node - without tracing 89.33 KB (-0.01% 🔽)
@sentry/aws-serverless 98.5 KB (-0.01% 🔽)

@Lms24 Lms24 self-assigned this Aug 1, 2024
@Lms24 Lms24 requested review from a team, lforst and chargome and removed request for a team August 1, 2024 14:01
@Lms24 Lms24 changed the title fix(browser): Avoid showing browser extension error message in non-window browser environments fix(browser): Avoid showing browser extension error message in non-window global scopes Aug 1, 2024
Copy link
Member

@chargome chargome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still think that's ok given that a worker never has access to window 👍

@Lms24 Lms24 marked this pull request as ready for review August 1, 2024 16:55
@Lms24 Lms24 force-pushed the lms/fix-browser-extension-check-service-worker branch from 8283618 to c4f7e47 Compare August 2, 2024 07:50
@Lms24 Lms24 enabled auto-merge (squash) August 2, 2024 07:51
@Lms24 Lms24 merged commit 73ca138 into develop Aug 2, 2024
119 checks passed
@Lms24 Lms24 deleted the lms/fix-browser-extension-check-service-worker branch August 2, 2024 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sentry does not init in browser extension's service worker
4 participants