Repository navigation
Conversation
Page loads started a new trace. The middleware now adds `sentry-trace` and `baggage` entries to the `Server-Timing` header of HTML responses, ahead of the route entry, the way the Remix 2 SDK and Nitro do. The browser SDK already reads them off the navigation timing entry for page loads, so no client change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Member
Author
|
bugbot run |
Contributor
size-limit report 📦
|
Member
Author
|
bugbot run |
Member
Author
|
bugbot run |
chargome
marked this pull request as ready for review
October 8, 2026 08:20
chargome
requested review from
JPeer264,
nicohrubec and
s1gr1d
and removed request for
a team and
s1gr1d
October 8, 2026 08:20
A shared cache would hand one request's trace to every later page load of the cached document. A response with `public`, `s-maxage` or a positive `max-age` and no `private`/`no-store` carries the route entry only, which is the same for every request to it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Member
Author
|
bugbot run |
chargome
force-pushed
the
charlygomez/js-3889-propagate-the-server-trace-to-remix-3-page-loads
branch
from
October 8, 2026 09:29
007a44c to
9145130
Compare
JPeer264
approved these changes
Oct 8, 2026
…test Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Member
Author
|
bugbot run |
Member
Author
|
bugbot run |
chargome
enabled auto-merge (squash)
October 8, 2026 11:02
Without a lifetime in `Cache-Control`, a cache falls back to `Expires`, so a response with only a future `Expires` could still hand its trace to later page loads. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Member
Author
|
bugbot run |
chargome
force-pushed
the
charlygomez/js-3889-propagate-the-server-trace-to-remix-3-page-loads
branch
from
October 8, 2026 11:09
9218444 to
3639a3f
Compare
JPeer264
approved these changes
Oct 8, 2026
…guard A zero lifetime with `stale-while-revalidate` or `stale-if-error` is still served stale by a shared cache. A CDN reads `CDN-Cache-Control`, its vendor variants or `Surrogate-Control` instead of `Cache-Control`, so a document can be cacheable at the CDN while private to the browser. Any source that lets a shared cache reuse the response keeps the trace off it. Co-Authored-By: Claude Fable 5.1 <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 645c9dd. Configure here.
chargome
deleted the
charlygomez/js-3889-propagate-the-server-trace-to-remix-3-page-loads
branch
October 8, 2026 13:00
47 tasks
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.
Browser page loads in Remix 3 started a new trace. The server middleware now adds
sentry-traceandbaggageentries to theServer-Timingheader of HTML responses, ahead of the route entry, the same channel the Remix 2 SDK and Nitro use. The browser SDK already reads both off the navigation timing entry for page loads, so no client change is needed.A response a shared cache may store (
public,s-maxage, or a positivemax-agewithoutprivate/no-store) carries the route entry only: a cached document would otherwise hand one request's trace to every later page load, the ISR problem the Next.js SDK works around on the client.The e2e test asserts that the page load span shares the server span's trace id and has it as parent.
Fixes #25137