Repository navigation
Conversation
7fe783d to
f1e1f59
Compare
size-limit report 📦
|
f1e1f59 to
ab2c887
Compare
9765090 to
9bad613
Compare
c1733f2 to
fdca10d
Compare
fdca10d to
f17f89e
Compare
f17f89e to
fadf52a
Compare
fadf52a to
e1a3c68
Compare
|
bugbot run |
e1a3c68 to
305aa01
Compare
3596b0a to
ec58ad6
Compare
ec58ad6 to
42c2c08
Compare
27d096c to
1034895
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 eaaa873. Configure here.
| // up a `NUXT_APP_BASE_URL` set at runtime. | ||
| setManagedTunnelDefaults({ basePath: (useRuntimeConfig() as { app?: { baseURL?: string } }).app?.baseURL }); | ||
| const appFetch = nitroApp.fetch; | ||
| nitroApp.fetch = request => handleTunnelRequestIfMatched(request) ?? appFetch(request); |
There was a problem hiding this comment.
Tunnel runs before Cloudflare client
Medium Severity
On Nitro v3 the managed tunnel now answers from a nitroApp.fetch wrapper, which is the worker entry. handleTunnelRequestIfMatched reads the active client, but sentryCloudflareNitroPlugin still installs that client inside localFetch. Tunnel POSTs can miss the match and fall through to app middleware, so the Cloudflare path this branch is meant to cover never serves the tunnel.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit eaaa873. Configure here.
…iddleware On Nitro v3, Nuxt and `@sentry/nitro` put the tunnel check first in h3's middleware list, since Nitro runs the app's `server/middleware` before anything a module registers and has no public way to go first. On Nitro v2, Nuxt answers from the `request` hook.
…oute rules can't skip it
… rules don't run after it
…yCloudflareNitroPlugin
…lts so Cloudflare clients start with it
`nuxt dev` opens the port before it can serve and answers 503 until then, while Playwright only waits for the port.
…rop the variants the base path ones cover


A Nitro app's own
server/middleware, like an auth check, ran before anything Sentry registered and would block tunnel requests, fixed by putting the tunnel check first in h3's middleware on Nitro v3 and answering from therequesthook on Nitro v2.This is the one framework PR where the ordering matters, so worth a closer look. Nuxt picks the right plugin based on the Nitro version, and the base path comes from Nitro's
baseURL.The e2e tunnel variants for Nuxt 4, Nuxt 5 and Nitro 3 check that the tunnel answers while an auth middleware rejects every other POST.
closes #20254