Skip to content

regression tests - #7889

Closed
schiller-manuel wants to merge 65 commits into
mainfrom
regression-4614
Closed

regression tests#7889
schiller-manuel wants to merge 65 commits into
mainfrom
regression-4614

Conversation

@schiller-manuel

@schiller-manuelschiller-manuel commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added SSR-disabled example routes for “Issue 6221” (dashboard and article detail) with page metadata and auth/loader-driven accessibility.
    • Updated “Issue 4614” demo: shows client/server context in the root UI and simplifies the navigation link behavior.
  • Tests
    • Expanded E2E coverage for Issue 4614 context recording and intent-style preloading.
    • Added E2E coverage for Issue 6221 document titles and loader-driven content across auth changes.
    • Updated/rewrote related transitioner, hydration, and preload-lane test expectations; removed an obsolete loader/head timing test.

@schiller-manuel
schiller-manuel changed the base branch from main to fix-router-core-lane-match-loaderJuly 23, 2026 20:48

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
e2e/react-start/selective-ssr/tests/app.spec.ts (1)

46-46: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Type the selective-ssr globals instead of casting globalThis to any Declare __issue4614RootBeforeLoads and __issue4614TargetBeforeLoad on the shared browser global type, then use them directly in both the route code and the Playwright test so the contract stays type-checked.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@e2e/react-start/selective-ssr/tests/app.spec.ts` at line 46, Replace the
any-cast access to __issue4614RootBeforeLoads in the Playwright test with a
typed shared browser-global declaration, also declaring
__issue4614TargetBeforeLoad. Update the selective-SSR route code and test to
access both globals directly so their names and values remain type-checked.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@e2e/react-start/selective-ssr/tests/app.spec.ts`:
- Line 46: Replace the any-cast access to __issue4614RootBeforeLoads in the
Playwright test with a typed shared browser-global declaration, also declaring
__issue4614TargetBeforeLoad. Update the selective-SSR route code and test to
access both globals directly so their names and values remain type-checked.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b762bf4d-8cf3-44a3-99ec-787fbafbae82

📥 Commits

Reviewing files that changed from the base of the PR and between 3a55756 and 4594167.

📒 Files selected for processing (2)
  • e2e/react-start/selective-ssr/src/routes/__root.tsx
  • e2e/react-start/selective-ssr/tests/app.spec.ts

@pkg-pr-new

pkg-pr-newBot commented Jul 23, 2026

Copy link
Copy Markdown
More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/@tanstack/arktype-adapter@7889

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/@tanstack/eslint-plugin-router@7889

@tanstack/eslint-plugin-start

npm i https://pkg.pr.new/@tanstack/eslint-plugin-start@7889

@tanstack/history

npm i https://pkg.pr.new/@tanstack/history@7889

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/@tanstack/nitro-v2-vite-plugin@7889

@tanstack/react-router

npm i https://pkg.pr.new/@tanstack/react-router@7889

@tanstack/react-router-devtools

npm i https://pkg.pr.new/@tanstack/react-router-devtools@7889

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/@tanstack/react-router-ssr-query@7889

@tanstack/react-start

npm i https://pkg.pr.new/@tanstack/react-start@7889

@tanstack/react-start-client

npm i https://pkg.pr.new/@tanstack/react-start-client@7889

@tanstack/react-start-rsc

npm i https://pkg.pr.new/@tanstack/react-start-rsc@7889

@tanstack/react-start-server

npm i https://pkg.pr.new/@tanstack/react-start-server@7889

@tanstack/router-cli

npm i https://pkg.pr.new/@tanstack/router-cli@7889

@tanstack/router-core

npm i https://pkg.pr.new/@tanstack/router-core@7889

@tanstack/router-devtools

npm i https://pkg.pr.new/@tanstack/router-devtools@7889

@tanstack/router-devtools-core

npm i https://pkg.pr.new/@tanstack/router-devtools-core@7889

@tanstack/router-generator

npm i https://pkg.pr.new/@tanstack/router-generator@7889

@tanstack/router-plugin

npm i https://pkg.pr.new/@tanstack/router-plugin@7889

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/@tanstack/router-ssr-query-core@7889

@tanstack/router-utils

npm i https://pkg.pr.new/@tanstack/router-utils@7889

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/@tanstack/router-vite-plugin@7889

@tanstack/solid-router

npm i https://pkg.pr.new/@tanstack/solid-router@7889

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/@tanstack/solid-router-devtools@7889

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/@tanstack/solid-router-ssr-query@7889

@tanstack/solid-start

npm i https://pkg.pr.new/@tanstack/solid-start@7889

@tanstack/solid-start-client

npm i https://pkg.pr.new/@tanstack/solid-start-client@7889

@tanstack/solid-start-server

npm i https://pkg.pr.new/@tanstack/solid-start-server@7889

@tanstack/start-client-core

npm i https://pkg.pr.new/@tanstack/start-client-core@7889

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/@tanstack/start-fn-stubs@7889

@tanstack/start-plugin-core

npm i https://pkg.pr.new/@tanstack/start-plugin-core@7889

@tanstack/start-server-core

npm i https://pkg.pr.new/@tanstack/start-server-core@7889

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/@tanstack/start-static-server-functions@7889

@tanstack/start-storage-context

npm i https://pkg.pr.new/@tanstack/start-storage-context@7889

@tanstack/valibot-adapter

npm i https://pkg.pr.new/@tanstack/valibot-adapter@7889

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/@tanstack/virtual-file-routes@7889

@tanstack/vue-router

npm i https://pkg.pr.new/@tanstack/vue-router@7889

@tanstack/vue-router-devtools

npm i https://pkg.pr.new/@tanstack/vue-router-devtools@7889

@tanstack/vue-router-ssr-query

npm i https://pkg.pr.new/@tanstack/vue-router-ssr-query@7889

@tanstack/vue-start

npm i https://pkg.pr.new/@tanstack/vue-start@7889

@tanstack/vue-start-client

npm i https://pkg.pr.new/@tanstack/vue-start-client@7889

@tanstack/vue-start-server

npm i https://pkg.pr.new/@tanstack/vue-start-server@7889

@tanstack/zod-adapter

npm i https://pkg.pr.new/@tanstack/zod-adapter@7889

commit: aba4ddc

@schiller-manuel

Copy link
Copy Markdown
CollaboratorAuthor

@copilot resolve the merge conflicts in this pull request

CopilotAI commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Resolved the merge conflicts. The only conflict was in e2e/react-start/selective-ssr/tests/app.spec.ts:

  • Kept the base branch's '#4614: cached parent loader data does not cache its beforeLoad context' test (which has the correct fixed-behavior expectations: cause: 'preload')
  • Kept the base branch's original reload control test name
  • Removed my 'propagates refreshed root context to a child during intent preload' test, which had incorrect expectations (cause: 'enter' instead of cause: 'preload') — the base branch already includes the correct version of this test

The __root.tsx file merged cleanly without conflicts.

@schiller-manuel
schiller-manuel requested a review from a team as a code ownerJuly 23, 2026 21:16
@schiller-manuelschiller-manuel changed the title failing regression test for #4614regression testsJul 23, 2026
@schiller-manuel
schiller-manuel changed the base branch from fix-router-core-lane-match-loader to mainJuly 23, 2026 22:06
@github-actions

github-actionsBot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Benchmarks

  • Commit: cb2e07104847
  • Measured at: 2026-07-23T22:39:52.385Z
  • Baseline source: history:88f366ab8e04
  • Dashboard: bundle-size history

The following scenarios have bundle-size changes compared with the baseline:

ScenarioCurrent (gzip)Delta vs baselineInitial gzipRawBrotliTrend
react-router.minimal87.37 KiB+21 B (+0.02%)87.23 KiB269.79 KiB76.02 KiB▁▁▁▁▁▁▁▁▁▁▁█
react-router.full91.14 KiB+75 B (+0.08%)91.00 KiB281.80 KiB79.37 KiB▁▁▁▁▁▁▁▁▁▁▁█
solid-router.minimal35.07 KiB-466 B (-1.28%)34.95 KiB100.56 KiB31.65 KiB███████████▁
solid-router.full40.16 KiB-434 B (-1.04%)40.03 KiB115.79 KiB36.16 KiB███████████▁
vue-router.minimal52.36 KiB-655 B (-1.21%)52.23 KiB143.72 KiB47.18 KiB███████████▁
vue-router.full58.32 KiB-633 B (-1.05%)58.19 KiB162.50 KiB52.34 KiB███████████▁
react-start.minimal102.38 KiB+408 B (+0.39%)102.25 KiB318.91 KiB88.83 KiB▁▁▁▁▁▁▁▁▁▁▁█
react-start.deferred-hydration103.12 KiB+406 B (+0.39%)102.27 KiB320.28 KiB89.52 KiB▁▁▁▁▁▁▁▁▁▁▁█
react-start.full105.71 KiB+354 B (+0.33%)105.57 KiB328.91 KiB91.72 KiB▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.minimal100.05 KiB+383 B (+0.38%)99.88 KiB313.36 KiB86.25 KiB▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.minimal-iife100.45 KiB+381 B (+0.37%)100.29 KiB314.29 KiB86.69 KiB▁▁▁▁▁▁▁▁▁▁▁█
react-start.rsbuild.full103.39 KiB+513 B (+0.49%)103.22 KiB323.50 KiB89.08 KiB▁▁▁▁▁▁▁▁▁▁▁█
solid-start.minimal49.95 KiB+349 B (+0.69%)49.82 KiB148.56 KiB44.34 KiB▁▁▁▁▁▁▁▁▁▁▁█
solid-start.deferred-hydration53.22 KiB+357 B (+0.66%)49.88 KiB156.60 KiB47.33 KiB▁▁▁▁▁▁▁▁▁▁▁█
solid-start.full55.27 KiB-158 B (-0.28%)55.14 KiB164.35 KiB48.91 KiB███████████▁
vue-start.minimal70.73 KiB-304 B (-0.42%)70.60 KiB201.60 KiB62.81 KiB███████████▁
vue-start.full74.70 KiB-344 B (-0.45%)74.57 KiB214.21 KiB66.38 KiB███████████▁

Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@e2e/react-start/selective-ssr/src/routes/__root.tsx`:
- Around line 62-68: Define a shared TypeScript global declaration for the Issue
4614 instrumentation payloads, then remove the globalThis as any casts. In
e2e/react-start/selective-ssr/src/routes/__root.tsx lines 62-68, type
__issue4614RootBeforeLoads; in
e2e/react-start/selective-ssr/src/routes/issue-4614.tsx lines 6-10, type
__issue4614TargetBeforeLoad; and in
e2e/react-start/selective-ssr/tests/app.spec.ts line 19, read the typed root
payload directly. Ensure all sites reuse the same shared contract.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7cf4ba4a-6ce8-494e-a9bf-1b029b33397d

📥 Commits

Reviewing files that changed from the base of the PR and between 4594167 and 279db75.

📒 Files selected for processing (8)
  • e2e/react-start/basic/src/routeTree.gen.ts
  • e2e/react-start/basic/src/routes/issue-6221.article.$id.tsx
  • e2e/react-start/basic/src/routes/issue-6221.dashboard.tsx
  • e2e/react-start/basic/tests/issue-6221-head.spec.ts
  • e2e/react-start/selective-ssr/src/routes/__root.tsx
  • e2e/react-start/selective-ssr/src/routes/issue-4614.tsx
  • e2e/react-start/selective-ssr/tests/app.spec.ts
  • packages/router-core/tests/issue-6221-head-waits-for-loader.test.ts
💤 Files with no reviewable changes (1)
  • packages/router-core/tests/issue-6221-head-waits-for-loader.test.ts

Comment on lines 62 to 68
const calls = ((globalThis as any).__issue4614RootBeforeLoads ??= [])
calls.push({
cause,
preload,
root,
issue4614Context,
isClient,
isServer,
})

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Define one typed global contract for Issue 4614 instrumentation.

The new globalThis as any casts erase the payload shape across the route and its regression test. Add a shared TypeScript declaration for these globals and reuse it everywhere.

  • e2e/react-start/selective-ssr/src/routes/__root.tsx#L62-L68: type __issue4614RootBeforeLoads.
  • e2e/react-start/selective-ssr/src/routes/issue-4614.tsx#L6-L10: type __issue4614TargetBeforeLoad.
  • e2e/react-start/selective-ssr/tests/app.spec.ts#L19-L19: read the typed root payload instead of casting to any.
📍 Affects 3 files
  • e2e/react-start/selective-ssr/src/routes/__root.tsx#L62-L68 (this comment)
  • e2e/react-start/selective-ssr/src/routes/issue-4614.tsx#L6-L10
  • e2e/react-start/selective-ssr/tests/app.spec.ts#L19-L19
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@e2e/react-start/selective-ssr/src/routes/__root.tsx` around lines 62 - 68,
Define a shared TypeScript global declaration for the Issue 4614 instrumentation
payloads, then remove the globalThis as any casts. In
e2e/react-start/selective-ssr/src/routes/__root.tsx lines 62-68, type
__issue4614RootBeforeLoads; in
e2e/react-start/selective-ssr/src/routes/issue-4614.tsx lines 6-10, type
__issue4614TargetBeforeLoad; and in
e2e/react-start/selective-ssr/tests/app.spec.ts line 19, read the typed root
payload directly. Ensure all sites reuse the same shared contract.

Source: Coding guidelines

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/react-start-client/src/tests/hydrateStart.test.ts (1)

23-24: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Preserve type safety in both hydration fixtures.

Both tests bypass the window.$_TSR contract with as any; replace it with the declared shape or a narrow test-specific type.

  • packages/react-start-client/src/tests/hydrateStart.test.ts#L23-L24: remove the as any cast from the React fixture.
  • packages/solid-start-client/src/tests/hydrateStart.test.ts#L23-L24: remove the as any cast from the Solid fixture.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/react-start-client/src/tests/hydrateStart.test.ts` around lines 23 -
24, Remove the as any cast from the window.$_TSR hydration fixture in
packages/react-start-client/src/tests/hydrateStart.test.ts lines 23-24, using
the declared contract or a narrow test-specific type; make the same change to
the corresponding window.$_TSR fixture in
packages/solid-start-client/src/tests/hydrateStart.test.ts lines 23-24.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/react-start-client/src/tests/hydrateStart.test.ts`:
- Around line 23-24: Remove the as any cast from the window.$_TSR hydration
fixture in packages/react-start-client/src/tests/hydrateStart.test.ts lines
23-24, using the declared contract or a narrow test-specific type; make the same
change to the corresponding window.$_TSR fixture in
packages/solid-start-client/src/tests/hydrateStart.test.ts lines 23-24.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 932b396a-fc47-4514-a900-eb6b1f43b6b8

📥 Commits

Reviewing files that changed from the base of the PR and between 279db75 and 0c5da78.

📒 Files selected for processing (4)
  • packages/react-router/tests/transitioner-render-ack.test.tsx
  • packages/react-start-client/src/tests/hydrateStart.test.ts
  • packages/router-core/tests/public-preload-lane-contract.test.ts
  • packages/solid-start-client/src/tests/hydrateStart.test.ts

@codspeed-hq

codspeed-hqBot commented Jul 23, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 11.8%

⚠️Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 3 improved benchmarks
❌ 11 regressed benchmarks
✅ 166 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

ModeBenchmarkBASEHEADEfficiency
Memorymem server error-paths redirect (vue)306 KB803.4 KB-61.91%
Memorymem client unique-location-churn (solid)341.1 KB552.9 KB-38.3%
Simulationssr server-fn not-found (solid)61.8 ms66.8 ms-7.57%
Simulationssr server-fn POST (solid)64.6 ms69.5 ms-7%
Simulationssr server-fn during document ssr (react)63.5 ms67.3 ms-5.65%
Simulationssr server-fn send-context (solid)65.8 ms69.6 ms-5.47%
Memorymem server error-paths not-found (react)242.6 KB253.7 KB-4.36%
Memorymem server error-paths not-found (vue)332 KB346.4 KB-4.17%
Simulationssr server-fn GET (solid)71.4 ms74.3 ms-3.95%
Simulationssr selective (solid)70.3 ms73.1 ms-3.9%
Memorymem client navigation-churn (solid)544.9 KB563.5 KB-3.29%
Memorymem server error-paths not-found (solid)751.3 KB692.7 KB+8.46%
Memorymem server peak-large-page (solid)819.4 KB787.8 KB+4.02%
Memorymem server error-paths redirect (solid)283.4 KB273.6 KB+3.62%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing regression-4614 (aba4ddc) with fix-router-core-lane-match-loader (2d639e1)

Open in CodSpeed

@schiller-manuel
schiller-manuel changed the base branch from main to fix-router-core-lane-match-loaderJuly 23, 2026 22:23
Base automatically changed from fix-router-core-lane-match-loader to mainAugust 4, 2026 18:28
@Sheraff

Copy link
Copy Markdown
Collaborator

included in #7805

@SheraffSheraff closed this Aug 4, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@schiller-manuel@Sheraff