add handling to skip prefetch payloads if partial#89340
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Failing test suitesCommit: 567d605 | About building and testing Next.js
Expand output● gesture-transitions › shows optimistic state during gesture, then canonical state after
Expand output● segment cache (basic tests) › navigate with prefetched data ● segment cache (basic tests) › skips static layouts during partially static navigation
Expand output● searchparams-reuse-loading › Without Middleware › should correctly return different RSC data for full prefetches with different searchParam values ● searchparams-reuse-loading › With Middleware › should correctly return different RSC data for full prefetches with different searchParam values ● searchparams-reuse-loading › should re-use loading from "full" prefetch for param-full URL when navigating to param-less route ● searchparams-reuse-loading › should re-use loading from "full" prefetch for param-less URL when navigating to param-full route ● searchparams-reuse-loading › should re-use loading from "full" prefetch for param-full URL when navigating to param-full route
Expand output● parallel-route-navigations › should render the right parameters on client navigations
Expand output● app dir - form prefetching › should prefetch a loading state for the form's target ● app dir - form prefetching › should prefetch a loading state for the form's target
Expand output● runtime prefetching › in a page › includes dynamic params, but not dynamic content ● runtime prefetching › in a page › includes root params, but not dynamic content ● runtime prefetching › in a page › includes search params, but not dynamic content ● runtime prefetching › in a page › includes headers, but not dynamic content ● runtime prefetching › in a page › includes cookies, but not dynamic content ● runtime prefetching › in a private cache › includes dynamic params, but not dynamic content ● runtime prefetching › in a private cache › includes root params, but not dynamic content ● runtime prefetching › in a private cache › includes search params, but not dynamic content ● runtime prefetching › in a private cache › includes headers, but not dynamic content ● runtime prefetching › in a private cache › includes cookies, but not dynamic content ● runtime prefetching › passed to a public cache › includes dynamic params, but not dynamic content ● runtime prefetching › passed to a public cache › includes root params, but not dynamic content ● runtime prefetching › passed to a public cache › includes search params, but not dynamic content ● runtime prefetching › passed to a public cache › includes headers, but not dynamic content ● runtime prefetching › passed to a public cache › includes cookies, but not dynamic content ● runtime prefetching › should not cache runtime prefetch responses in the browser cache or server-side › private caches should return new results on each request ● runtime prefetching › cache stale time handling › omits short-lived public caches with a short enough staleTime ● runtime prefetching › cache stale time handling › omits private caches with a short enough staleTime ● runtime prefetching › errors › aborts the prerender without logging an error when sync IO is used after awaiting cookies() ● runtime prefetching › errors › aborts the prerender without logging an error when sync IO is used after awaiting headers() ● runtime prefetching › errors › aborts the prerender without logging an error when sync IO is used after awaiting dynamic params ● runtime prefetching › errors › aborts the prerender without logging an error when sync IO is used after awaiting searchParams ● runtime prefetching › errors › aborts the prerender without logging an error when sync IO is used after awaiting a private cache ● runtime prefetching › errors › aborts the prerender without logging an error when sync IO is used after awaiting a quickly-expiring public cache |
Stats from current PR✅ No significant changes detected📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles: **434 kB** → **434 kB**
|
| Canary | PR | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 763 B | 768 B | ✓ |
| Total | 763 B | 768 B |
Build Details
Build Manifests
| Canary | PR | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 451 B | 450 B | ✓ |
| Total | 451 B | 450 B | ✅ -1 B |
📦 Webpack
Client
Main Bundles
| Canary | PR | Change | |
|---|---|---|---|
| 5528-HASH.js gzip | 5.47 kB | N/A | - |
| 6280-HASH.js gzip | 54.5 kB | N/A | - |
| 6335.HASH.js gzip | 169 B | N/A | - |
| 912-HASH.js gzip | 4.53 kB | N/A | - |
| e8aec2e4-HASH.js gzip | 62.5 kB | N/A | - |
| framework-HASH.js gzip | 59.7 kB | 59.7 kB | ✓ |
| main-app-HASH.js gzip | 256 B | 254 B | ✓ |
| main-HASH.js gzip | 39 kB | 39 kB | ✓ |
| webpack-HASH.js gzip | 1.68 kB | 1.68 kB | ✓ |
| 262-HASH.js gzip | N/A | 4.52 kB | - |
| 2889.HASH.js gzip | N/A | 169 B | - |
| 5602-HASH.js gzip | N/A | 5.48 kB | - |
| 6948ada0-HASH.js gzip | N/A | 62.5 kB | - |
| 9544-HASH.js gzip | N/A | 55.3 kB | - |
| Total | 228 kB | 229 kB |
Polyfills
| Canary | PR | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Total | 39.4 kB | 39.4 kB | ✓ |
Pages
| Canary | PR | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 194 B | ✓ |
| _error-HASH.js gzip | 183 B | 180 B | 🟢 3 B (-2%) |
| css-HASH.js gzip | 331 B | 330 B | ✓ |
| dynamic-HASH.js gzip | 1.81 kB | 1.81 kB | ✓ |
| edge-ssr-HASH.js gzip | 256 B | 256 B | ✓ |
| head-HASH.js gzip | 351 B | 352 B | ✓ |
| hooks-HASH.js gzip | 384 B | 383 B | ✓ |
| image-HASH.js gzip | 580 B | 581 B | ✓ |
| index-HASH.js gzip | 260 B | 260 B | ✓ |
| link-HASH.js gzip | 2.49 kB | 2.49 kB | ✓ |
| routerDirect..HASH.js gzip | 320 B | 319 B | ✓ |
| script-HASH.js gzip | 386 B | 386 B | ✓ |
| withRouter-HASH.js gzip | 315 B | 315 B | ✓ |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Total | 7.97 kB | 7.97 kB | ✅ -1 B |
Server
Edge SSR
| Canary | PR | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 126 kB | 126 kB | ✓ |
| page.js gzip | 248 kB | 249 kB | ✓ |
| Total | 375 kB | 375 kB |
Middleware
| Canary | PR | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 616 B | 616 B | ✓ |
| middleware-r..fest.js gzip | 156 B | 155 B | ✓ |
| middleware.js gzip | 33.3 kB | 33 kB | ✓ |
| edge-runtime..pack.js gzip | 842 B | 842 B | ✓ |
| Total | 34.9 kB | 34.6 kB | ✅ -322 B |
Build Details
Build Manifests
| Canary | PR | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 732 B | 736 B | ✓ |
| Total | 732 B | 736 B |
Build Cache
| Canary | PR | Change | |
|---|---|---|---|
| 0.pack gzip | 3.8 MB | 3.81 MB | 🔴 +14.6 kB (+0%) |
| index.pack gzip | 104 kB | 103 kB | ✓ |
| index.pack.old gzip | 102 kB | 103 kB | ✓ |
| Total | 4 MB | 4.02 MB |
🔄 Shared (bundler-independent)
Runtimes
| Canary | PR | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 311 kB | 311 kB | ✓ |
| app-page-exp..prod.js gzip | 166 kB | 166 kB | ✓ |
| app-page-tur...dev.js gzip | 311 kB | 311 kB | ✓ |
| app-page-tur..prod.js gzip | 166 kB | 166 kB | ✓ |
| app-page-tur...dev.js gzip | 308 kB | 308 kB | ✓ |
| app-page-tur..prod.js gzip | 164 kB | 164 kB | ✓ |
| app-page.run...dev.js gzip | 308 kB | 308 kB | ✓ |
| app-page.run..prod.js gzip | 164 kB | 164 kB | ✓ |
| app-route-ex...dev.js gzip | 70.4 kB | 70.4 kB | ✓ |
| app-route-ex..prod.js gzip | 48.9 kB | 48.9 kB | ✓ |
| app-route-tu...dev.js gzip | 70.4 kB | 70.4 kB | ✓ |
| app-route-tu..prod.js gzip | 49 kB | 49 kB | ✓ |
| app-route-tu...dev.js gzip | 70 kB | 70 kB | ✓ |
| app-route-tu..prod.js gzip | 48.7 kB | 48.7 kB | ✓ |
| app-route.ru...dev.js gzip | 70 kB | 70 kB | ✓ |
| app-route.ru..prod.js gzip | 48.7 kB | 48.7 kB | ✓ |
| dist_client_...dev.js gzip | 324 B | 324 B | ✓ |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| dist_client_...dev.js gzip | 317 B | 317 B | ✓ |
| pages-api-tu...dev.js gzip | 43.1 kB | 43.1 kB | ✓ |
| pages-api-tu..prod.js gzip | 32.9 kB | 32.9 kB | ✓ |
| pages-api.ru...dev.js gzip | 43.1 kB | 43.1 kB | ✓ |
| pages-api.ru..prod.js gzip | 32.8 kB | 32.8 kB | ✓ |
| pages-turbo....dev.js gzip | 52.4 kB | 52.4 kB | ✓ |
| pages-turbo...prod.js gzip | 39.4 kB | 39.4 kB | ✓ |
| pages.runtim...dev.js gzip | 52.4 kB | 52.4 kB | ✓ |
| pages.runtim..prod.js gzip | 39.3 kB | 39.3 kB | ✓ |
| server.runti..prod.js gzip | 62.5 kB | 62.5 kB | ✓ |
| Total | 2.77 MB | 2.77 MB |
📝 Changed Files (8 files)
Files with changes:
app-page-exp..ntime.dev.jsapp-page-exp..time.prod.jsapp-page-tur..ntime.dev.jsapp-page-tur..time.prod.jsapp-page-tur..ntime.dev.jsapp-page-tur..time.prod.jsapp-page.runtime.dev.jsapp-page.runtime.prod.js
View diffs
app-page-exp..ntime.dev.js
Diff too large to display
app-page-exp..time.prod.js
Diff too large to display
app-page-tur..ntime.dev.js
Diff too large to display
app-page-tur..time.prod.js
Diff too large to display
app-page-tur..ntime.dev.js
Diff too large to display
app-page-tur..time.prod.js
Diff too large to display
app-page.runtime.dev.js
Diff too large to display
app-page.runtime.prod.js
Diff too large to display

No description provided.