unify server action detection logic#58879
Merged
Merged
Conversation
Member
Author
|
Current dependencies on/for this PR:
This stack of pull requests is managed by Graphite. |
32e055a to
388cfc4
Compare
Member
Tests Passed |
Member
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| buildDuration | 10.3s | 10.6s | |
| buildDurationCached | 6s | 6.7s | |
| nodeModulesSize | 199 MB | 199 MB | |
| nextStartRea..uration (ms) | 425ms | 427ms | N/A |
Client Bundles (main, webpack)
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| 199-HASH.js gzip | 28.8 kB | 28.8 kB | N/A |
| 3f784ff6-HASH.js gzip | 53.3 kB | 53.3 kB | ✓ |
| 494.HASH.js gzip | 180 B | 181 B | N/A |
| framework-HASH.js gzip | 45.2 kB | 45.2 kB | ✓ |
| main-app-HASH.js gzip | 241 B | 240 B | N/A |
| main-HASH.js gzip | 31.7 kB | 31.7 kB | N/A |
| webpack-HASH.js gzip | 1.7 kB | 1.7 kB | ✓ |
| Overall change | 100 kB | 100 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 195 B | N/A |
| _error-HASH.js gzip | 182 B | 181 B | N/A |
| amp-HASH.js gzip | 501 B | 503 B | N/A |
| css-HASH.js gzip | 322 B | 323 B | N/A |
| dynamic-HASH.js gzip | 2.5 kB | 2.5 kB | ✓ |
| edge-ssr-HASH.js gzip | 253 B | 255 B | N/A |
| head-HASH.js gzip | 348 B | 347 B | N/A |
| hooks-HASH.js gzip | 369 B | 368 B | N/A |
| image-HASH.js gzip | 4.27 kB | 4.27 kB | N/A |
| index-HASH.js gzip | 256 B | 256 B | ✓ |
| link-HASH.js gzip | 2.61 kB | 2.6 kB | N/A |
| routerDirect..HASH.js gzip | 311 B | 311 B | ✓ |
| script-HASH.js gzip | 384 B | 383 B | N/A |
| withRouter-HASH.js gzip | 307 B | 308 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 3.17 kB | 3.17 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 484 B | 483 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| index.html gzip | 528 B | 527 B | N/A |
| link.html gzip | 541 B | 541 B | ✓ |
| withRouter.html gzip | 524 B | 523 B | N/A |
| Overall change | 541 B | 541 B | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 92.4 kB | 92.5 kB | |
| page.js gzip | 145 kB | 145 kB | |
| Overall change | 238 kB | 238 kB |
Middleware size
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 627 B | 626 B | N/A |
| middleware-r..fest.js gzip | 150 B | 151 B | N/A |
| middleware.js gzip | 35.6 kB | 35.6 kB | N/A |
| edge-runtime..pack.js gzip | 1.92 kB | 1.92 kB | ✓ |
| Overall change | 1.92 kB | 1.92 kB | ✓ |
Next Runtimes Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-24-unify_server_action_detection_logic | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 167 kB | 167 kB | |
| app-page-exp..prod.js gzip | 93.3 kB | 93.4 kB | N/A |
| app-page-tur..prod.js gzip | 94.1 kB | 94.2 kB | N/A |
| app-page-tur..prod.js gzip | 88.6 kB | 88.7 kB | N/A |
| app-page.run...dev.js gzip | 137 kB | 137 kB | |
| app-page.run..prod.js gzip | 88 kB | 88 kB | N/A |
| app-route-ex...dev.js gzip | 23.8 kB | 23.8 kB | ✓ |
| app-route-ex..prod.js gzip | 16.4 kB | 16.4 kB | ✓ |
| app-route-tu..prod.js gzip | 16.5 kB | 16.5 kB | ✓ |
| app-route-tu..prod.js gzip | 16 kB | 16 kB | ✓ |
| app-route.ru...dev.js gzip | 23.2 kB | 23.2 kB | ✓ |
| app-route.ru..prod.js gzip | 16 kB | 16 kB | ✓ |
| pages-api-tu..prod.js gzip | 9.37 kB | 9.37 kB | ✓ |
| pages-api.ru...dev.js gzip | 9.64 kB | 9.64 kB | ✓ |
| pages-api.ru..prod.js gzip | 9.37 kB | 9.37 kB | ✓ |
| pages-turbo...prod.js gzip | 21.8 kB | 21.8 kB | ✓ |
| pages.runtim...dev.js gzip | 22.5 kB | 22.5 kB | ✓ |
| pages.runtim..prod.js gzip | 21.8 kB | 21.8 kB | ✓ |
| server.runti..prod.js gzip | 49.1 kB | 49.2 kB | N/A |
| Overall change | 511 kB | 511 kB |
Diff details
Diff for page.js
Diff too large to display
Diff for edge-ssr.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 server.runtime.prod.js
Diff too large to display
388cfc4 to
cd56f11
Compare
cd56f11 to
160a167
Compare
56a5244 to
8b7e71a
Compare
160a167 to
ad8cc5f
Compare
ad8cc5f to
c9cf758
Compare
shuding
previously approved these changes
Nov 26, 2023
huozhi
previously approved these changes
Nov 27, 2023
Base automatically changed from
11-24-remove_duplicate_util_file_for_redirect_status
to
canary
November 27, 2023 14:58
The base branch was changed.
huozhi
approved these changes
Nov 27, 2023
This was referenced Nov 27, 2023
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.

In anticipation of #58885 (and to avoid adding another spot where we're checking the same headers), this unifies the logic that parses the request headers and determines if the request corresponds with a server action.
There was already some drift between the check in
base-serverandaction-handler(unsure if this was intentional - let me know if so, in which case maybe separated handling is the better approach. I couldn't think of a good reason why it would be different, though).Existing tests should be sufficient for testing this changeset.