test(e2e): Port React Router data router E2E apps to span streaming - #23842
Merged
Conversation
Contributor
size-limit report 📦
|
chargome
approved these changes
Sep 1, 2026
andreiborza
marked this pull request as ready for review
September 1, 2026 14:53
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
from
September 1, 2026 14:56
450d0d3 to
361c467
Compare
andreiborza
force-pushed
the
ab/js-3482/react-router-v5-v6
branch
from
September 1, 2026 16:51
d87c67b to
b0f464f
Compare
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
from
September 1, 2026 16:51
361c467 to
a0463ab
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 a0463ab. Configure here.
andreiborza
force-pushed
the
ab/js-3482/react-router-v5-v6
branch
from
September 2, 2026 08:23
b0f464f to
37956c8
Compare
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
from
September 2, 2026 08:23
a0463ab to
035ea0c
Compare
andreiborza
force-pushed
the
ab/js-3482/react-router-v5-v6
branch
from
September 2, 2026 08:46
37956c8 to
b24c46c
Compare
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
2 times, most recently
from
September 2, 2026 09:05
10e5c15 to
d2e75d6
Compare
andreiborza
force-pushed
the
ab/js-3482/react-router-v5-v6
branch
2 times, most recently
from
September 2, 2026 09:30
e12d590 to
13d5c58
Compare
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
from
September 2, 2026 09:30
d2e75d6 to
b6f6642
Compare
andreiborza
force-pushed
the
ab/js-3482/react-router-v5-v6
branch
from
September 2, 2026 10:01
13d5c58 to
1a0c76d
Compare
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
from
September 2, 2026 10:01
b6f6642 to
4f8a0f4
Compare
Copies `react-router-7-framework` into `react-router-7-framework-static`, which keeps `traceLifecycle: 'static'` and its transaction-based specs. The rest of the React Router group moves to span streaming in the PRs above, so this copy is what keeps the static lifecycle covered. The copy drops the `latest` build variant, so it costs one CI job rather than two.
Removes the `traceLifecycle: 'static'` pin from `react-router-5`, `react-router-6`, `react-router-6-use-routes` and `react-router-6-descendant-routes`, and rewrites their specs against streamed span v2. The `react-router-6` SSE spec needed more than a helper swap: streamed `http.client` names carry only the domain, so the request is matched on `url.full`, and the abort error is read off the console because spans carry no breadcrumbs. All three SSE tests load the same route, so each one also pins its lookup to a pageload span that started after it navigated.
Removes the `traceLifecycle: 'static'` pin from `react-create-browser-router`, `react-create-hash-router` and `react-create-memory-router`, and rewrites their specs against streamed span v2. Two attribute groups moved under streaming and the assertions follow them: the navigator data is now `device.memory.estimated_capacity`, `device.processor_count` and `network.connection.effective_type`, and the pageload timings are `browser.performance.*`. LCP is streamed as its own `ui.webvital.lcp` span once the page hides, so it is no longer asserted on the pageload span.
andreiborza
force-pushed
the
ab/js-3482/react-router-v5-v6
branch
from
September 2, 2026 10:07
1a0c76d to
801356c
Compare
andreiborza
force-pushed
the
ab/js-3482/data-routers
branch
from
September 2, 2026 10:07
4f8a0f4 to
a3cd640
Compare
## What Ports `react-router-7-spa`, `react-router-8-spa`, `react-router-7-cross-usage`, `react-router-8-cross-usage` and `react-router-8-cloudflare` to span streaming. ## Why Span streaming is the default now, so the E2E suite has to exercise it. The Cloudflare mysql spec matches on `db.query.text`, because a streamed mysql span is named after its query summary and both queries in that route come out as `SELECT`. Part of #23798
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.

What
Ports
react-create-browser-router,react-create-hash-routerandreact-create-memory-routerto span streaming.Why
Span streaming is the default now, so the E2E suite has to exercise it. Two attribute groups moved and the assertions follow them: the navigator data is now
device.memory.estimated_capacity,device.processor_countandnetwork.connection.effective_type, and the pageload timings arebrowser.performance.*. LCP is streamed as its ownui.webvital.lcpspan once the page hides, so it is no longer asserted on the pageload span.Part of #23798