Repository navigation
Conversation
ec2da8d to
2933944
Compare
applyManagedTunnel to point the tunnel at the DSN-derived pathtunnel: true in init to enable the managed tunnel
size-limit report 📦Compared: 3a5171f (PR test merge using develop at 8c4491d) Against: ca4fc32 (develop) · base run #62950
|
2933944 to
4837dc0
Compare
d5c110f to
4ab6297
Compare
4ab6297 to
bf1d62c
Compare
75a299e to
b1553a8
Compare
b1553a8 to
0e573ca
Compare
tunnel: true in init to enable the managed tunneltunnel: true in the SDKs that serve the managed tunnel
1d77f74 to
80f1700
Compare
tunnel: true in the SDKs that serve the managed tunneltunnel: true in init to enable the managed tunnel
a769b10 to
d79df66
Compare
|
bugbot run |
d79df66 to
8717465
Compare
|
bugbot run |
1 similar comment
|
bugbot run |
|
@logaretm could you go into more detail what a managed tunnel is/means, it is not quite clear to me what exactly this PR actually does 😅 is this meant to be used by users, or only by us internally, ...? |
21acf22 to
aeb40b0
Compare
|
One or more gzipped bundles increased by more than 500 bytes. If this increase is intentional, add the Accept Bundlesize Increase label to this PR to rerun and accept the check. |
Optional E2E testsSome optional checks were not successful. They do not block the merge. 2 failing, 62 successful. See the run.
Successful checks
|
aeb40b0 to
aee0a31
Compare
aee0a31 to
3d0e344
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3d0e344. Configure here.
Setting `tunnel: true` (or `{ allowedDsns, basePath, trailingSlash }`) in both
the browser and the server `init` enables the managed tunnel. The browser
resolves it to the DSN-derived same-origin path and sends envelopes as
`application/x-sentry-envelope`, because SvelteKit and Astro CSRF checks reject
a same-origin `text/plain` POST. Server SDKs keep their own envelopes going
directly to Sentry and set `_managedTunnel` for their request handlers.
With `debug: true`, the client warns once when a managed tunnel request gets a 403, 404 or 405, pointing at the server side: a meta-framework SDK, an endpoint calling `handleTunnelRequest`, or `allowedDsns`.
…naged tunnel request with a 4xx
…port, and import server helpers from core/server Only the browser sends to a managed tunnel, so the warning moves from the shared Client into the browser's tunnel transport. Server SDKs import resolveServerTunnelOption from @sentry/core/server.
The reason strings were built in production bundles too, while only the debug warning that printed them was stripped.
…nel tests `isTunnelRequest` only reads the active server client now, and the paths are already checked against `getTunnelPath`.
…path, which is the managed tunnel to serve

Previously the client side only accepted a
stringtunnel option so it sent the requests to that fixed endpoint, this PR effectively adds "managed" tunnel support that is generated automatically from the provided DSN.This PR adds the tunnel options to the SDKs's
initoptions and implements the client transport if the tunnel is provided.On the server side the runtime SDKs only translate
tunnel: trueinto the internal_managedTunneloption, answering the requests is left to the meta-frameworks in the rest of the stack.For reviewers: if you need an overview of what this is, refer to #25199.
closes #25460