Repository navigation
fix(nextjs): Drop tunnel requests under the Next.request proxy root span - #26096
Merged
Merged
Conversation
Since Next.js 16.4.3 a proxy invoked separately from the render runs under a Next.request root span. The tunnel filter only matched Middleware.execute, so only the child was dropped and tunnel requests through the proxy were still sent as transactions. Next.request carries only the pathname in http.target, so the span streaming ignoreSpans entry matches it on the tunnel path alone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
bugbot run |
Contributor
size-limit report 📦Compared: 0c13175 (PR test merge using develop at a57560f) Against: a57560f (develop) · base run #64960 ✅ Baseline matches: this diff contains only this PR's changes.
|
Contributor
Optional E2E testsAll optional checks were successful. 10 successful. See the run. Successful checks
|
…l e2e test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 927e8de. Configure here.
chargome
marked this pull request as ready for review
November 4, 2026 13:32
chargome
requested review from
a team,
Lms24,
andreiborza,
logaretm,
mydea,
nicohrubec and
s1gr1d
and removed request for
a team,
Lms24 and
mydea
November 4, 2026 13:32
logaretm
approved these changes
Nov 4, 2026
51 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why: Since Next.js 16.4.3, a proxy that runs separately from the render gets a
Next.requestroot span. Our tunnel filter only knewMiddleware.execute, so only the child span was dropped. Tunnel requests through the proxy were still sent as transactions.With span streaming,
ignoreSpansonly runs when a span starts. In rewrite mode, the existing pattern needs the?o=…&p=…query, butNext.requestonly carries the pathname. So it gets its own entry that matches on the tunnel path alone.How to review: The change is in
dropMiddlewareTunnelRequests.ts, and the e2e test isnextjs-16-adapter/tests/proxy-tunnel.test.ts. Follow-up to #26084.Unsure about: The pathname-only match for
Next.requestalso drops a request to the exact tunnel path that isn't a tunnel request, for example one without the query. The static-mode drop flag already works this way, but under span streaming this is a little wider than before.Closes JS-4064