Repository navigation
feat(astro): Serve the managed tunnel from the Sentry middleware - #25419
Conversation
size-limit report 📦Compared: d6a317b (PR test merge using develop at b68afeb) Against: ca4fc32 (develop) · base run #62950
|
3dfbedc to
e9cafef
Compare
e9cafef to
aa89862
Compare
aa89862 to
3b1e94f
Compare
3b1e94f to
f8eea69
Compare
f8eea69 to
bb2078f
Compare
bb2078f to
9c5e4d6
Compare
9c5e4d6 to
62ef54d
Compare
|
bugbot run |
62ef54d to
40a29bc
Compare
|
bugbot run |
40a29bc to
fcb4724
Compare
fcb4724 to
acf7baf
Compare
3c79c4e to
cd1c651
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 ba30e6a. Configure here.
|
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. 4 not successful, 61 successful. See the run.
Successful checks
|
isaacs
left a comment
There was a problem hiding this comment.
Two minor concerns to address, approving to unblock. Mostly LGTM.
The Sentry middleware runs first and answers tunnel requests. The integration hands Astro's `base` and `trailingSlash: 'always'` to both SDKs, so `tunnel: true` follows Astro's routing without repeating them.
…orks on a cold server
This reverts commit 6647a68. The middleware module ran the inline default init a second time, and running the init before a cold non-page request is a gap develop has for every server request, not one the tunnel adds.
The server's tunnel base path only reached `@sentry/astro`'s own server init. On Workers the client comes from `@sentry/cloudflare`, so the browser posted under `base` and got a 404. The server side of the tunnel options module now goes through core's managed tunnel defaults, and the Worker entry imports it first.
…the tunnel variant, and drop tests that repeat core's
…request from a prerendered page finds a client

This PR adds the tunnel wiring to the astro SDK. We already had a global middleware active, so it works by adding logic to check if the incoming request is a tunnel request and if it is, then it will be handled.
The server init now also runs from the integration's middleware entry, so the first request is instrumented even when it hits a prerendered page first, which also fixes server islands after a prerendered page.
This also respects the decision made earlier to follow the base path configured by the user, which comes from Astro's
baseconfig.The
astro-7andastro-6-cf-workerstunnel variants cover node and Cloudflare.For reviewers: if you need an overview of what this is, refer to #25199.
closes #25463