Unused searchParams in "use cache" page should not cause dynamic#75662
Merged
Conversation
d40c6b9 to
f1ea005
Compare
Member
Tests Passed |
Member
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| buildDuration | 19s | 16.1s | N/A |
| buildDurationCached | 15.3s | 12.9s | N/A |
| nodeModulesSize | 392 MB | 392 MB | |
| nextStartRea..uration (ms) | 425ms | 406ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| 5306-HASH.js gzip | 54 kB | 54.2 kB | |
| 8276.HASH.js gzip | 169 B | 168 B | N/A |
| 8377-HASH.js gzip | 5.46 kB | 5.46 kB | N/A |
| bccd1874-HASH.js gzip | 52.9 kB | 52.9 kB | N/A |
| framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
| main-app-HASH.js gzip | 239 B | 242 B | N/A |
| main-HASH.js gzip | 34.5 kB | 34.5 kB | N/A |
| webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
| Overall change | 54 kB | 54.2 kB |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 193 B | 193 B | ✓ |
| _error-HASH.js gzip | 193 B | 193 B | ✓ |
| amp-HASH.js gzip | 512 B | 510 B | N/A |
| css-HASH.js gzip | 343 B | 342 B | N/A |
| dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | ✓ |
| edge-ssr-HASH.js gzip | 265 B | 265 B | ✓ |
| head-HASH.js gzip | 363 B | 362 B | N/A |
| hooks-HASH.js gzip | 393 B | 392 B | N/A |
| image-HASH.js gzip | 4.59 kB | 4.58 kB | N/A |
| index-HASH.js gzip | 268 B | 268 B | ✓ |
| link-HASH.js gzip | 2.35 kB | 2.35 kB | N/A |
| routerDirect..HASH.js gzip | 328 B | 328 B | ✓ |
| script-HASH.js gzip | 397 B | 397 B | ✓ |
| withRouter-HASH.js gzip | 323 B | 326 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 3.59 kB | 3.59 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 748 B | 747 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| index.html gzip | 523 B | 523 B | ✓ |
| link.html gzip | 538 B | 538 B | ✓ |
| withRouter.html gzip | 519 B | 520 B | N/A |
| Overall change | 1.06 kB | 1.06 kB | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 130 kB | 130 kB | N/A |
| page.js gzip | 210 kB | 210 kB | |
| Overall change | 210 kB | 210 kB |
Middleware size
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 674 B | 672 B | N/A |
| middleware-r..fest.js gzip | 155 B | 156 B | N/A |
| middleware.js gzip | 31.3 kB | 31.3 kB | N/A |
| edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
| Overall change | 844 B | 844 B | ✓ |
Next Runtimes Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 393 kB | 393 kB | |
| app-page-exp..prod.js gzip | 132 kB | 132 kB | |
| app-page-tur..prod.js gzip | 145 kB | 145 kB | |
| app-page-tur..prod.js gzip | 141 kB | 141 kB | |
| app-page.run...dev.js gzip | 380 kB | 380 kB | |
| app-page.run..prod.js gzip | 128 kB | 128 kB | |
| app-route-ex...dev.js gzip | 39.3 kB | 39.3 kB | N/A |
| app-route-ex..prod.js gzip | 25.6 kB | 25.6 kB | N/A |
| app-route-tu..prod.js gzip | 25.6 kB | 25.6 kB | N/A |
| app-route-tu..prod.js gzip | 25.4 kB | 25.4 kB | N/A |
| app-route.ru...dev.js gzip | 40.8 kB | 40.9 kB | N/A |
| app-route.ru..prod.js gzip | 25.4 kB | 25.4 kB | N/A |
| dist_client_...dev.js gzip | 356 B | 356 B | ✓ |
| dist_client_...dev.js gzip | 349 B | 349 B | ✓ |
| pages-api-tu..prod.js gzip | 9.69 kB | 9.69 kB | ✓ |
| pages-api.ru...dev.js gzip | 11.8 kB | 11.8 kB | ✓ |
| pages-api.ru..prod.js gzip | 9.68 kB | 9.68 kB | ✓ |
| pages-turbo...prod.js gzip | 21.9 kB | 21.9 kB | ✓ |
| pages.runtim...dev.js gzip | 31.5 kB | 31.5 kB | ✓ |
| pages.runtim..prod.js gzip | 21.9 kB | 21.9 kB | ✓ |
| server.runti..prod.js gzip | 60.5 kB | 60.5 kB | ✓ |
| Overall change | 1.49 MB | 1.49 MB |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/nar-85 | Change | |
|---|---|---|---|
| 0.pack gzip | 2.1 MB | 2.1 MB | N/A |
| index.pack gzip | 75 kB | 75.8 kB | |
| Overall change | 75 kB | 75.8 kB |
Diff details
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for 5306-HASH.js
Diff too large to display
Diff for main-HASH.js
Diff too large to display
Diff for app-page-exp..ntime.dev.js
Diff too large to display
Diff for app-page-exp..time.prod.js
Diff too large to display
Diff for app-page-tur..time.prod.js
Diff too large to display
Diff for app-page-tur..time.prod.js
Diff too large to display
Diff for app-page.runtime.dev.js
Diff too large to display
Diff for app-page.runtime.prod.js
Diff too large to display
Diff for app-route-ex..ntime.dev.js
Diff too large to display
Diff for app-route-ex..time.prod.js
Diff too large to display
Diff for app-route-tu..time.prod.js
Diff too large to display
Diff for app-route-tu..time.prod.js
Diff too large to display
Diff for app-route.runtime.dev.js
Diff too large to display
Diff for app-route.ru..time.prod.js
Diff too large to display
8d6118a to
d66414c
Compare
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
d3313de to
738b764
Compare
d66414c to
d601049
Compare
"use cache" page should not cause dynamicsearchParams in "use cache" page should not cause dynamic
gnoff
reviewed
Feb 5, 2025
738b764 to
72611f3
Compare
57bbfc7 to
6de131b
Compare
gnoff
approved these changes
Feb 5, 2025
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.

When
dynamicIOis not enabled, and only the standaloneuseCacheexperimental flag is enabled, we can not encodesearchParamsas hanging promises. To still avoid unused search params from making a page dynamic (due to thesearchParamsbeing encoded into the cache key), we set them to a promise that resolves to an empty object, while also overwriting the to-be-invoked function for generating a cache entry with a function that creates an erroringsearchParamsprop before invoking the original function. This ensures that usedsearchParamsinside of cached functions would still yield an error.closes NAR-85