Repository navigation
Conversation
size-limit report 📦Compared: 14c7acb (PR test merge using develop at 6b4fa76) Against: a1162e3 (develop) · base run #65032
|
Optional E2E testsSome optional checks were not successful. They do not block the merge. 6 not successful, 49 successful. See the run.
Successful checks
|
86e706c to
0a00c73
Compare
`serveTunnelIntegration` answers tunnel requests on every `node:http` server (through the `http.server.request.start` diagnostics channel), `Bun.serve` and `Deno.serve` before the app sees them. TanStack Start's `init` installs the hooks itself, since `tunnelRoute` enables the tunnel after `init`. Every runtime gets the same set of malformed and hostile requests, to prove the app keeps working.
ff78a0d to
a92ac02
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 a92ac02. Configure here.
| instrumentTunnelServers(); | ||
| instrumentRuntimeServers?.(); | ||
| } | ||
| }, |
There was a problem hiding this comment.
First intercept false skips patching
Low Severity
setupOnce only installs the HTTP / runtime patches when that first ServeTunnel instance has intercept other than false. setupOnce runs once per integration name, so a later client or addIntegration call with intercept enabled never patches servers. Tunnel requests then fall through to the app even though that client turned intercept on.
Reviewed by Cursor Bugbot for commit a92ac02. Configure here.


This PR actually delivers the approach outlined in #25997 by hooking up the new utilities and wiring them up to the runtimes appropriately.
The implementation introduces a new integration factory that creates an integration for each runtime, it accepts a runtime-specific server patcher, and it applies the HTTP patch itself.
For Node.js / http module
For Node, and other runtimes that emit the http module's diagnostic channel, we patch the server emit and handle the request before it ever hits the user application.
For Deno / Bun
It does the same thing as in Node, but also adds a
*.servepatch in-case the user is using the native runtime servers.Note for reviewers: if you are lacking context on this PR, check #25997