New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: duplicate app server #36710
fix: duplicate app server #36710
Conversation
test/integration/react-streaming-and-server-components/test/switchable-runtime.test.js
Outdated
Show resolved
Hide resolved
packages/next/server/render.tsx
Outdated
return ( | ||
<App> | ||
<Component {...rest} /> | ||
</App> | ||
) | ||
return <Component {...rest} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should keep App
here but remove it from ServerComponentWrapper
, _app shouldn't be rendered as a part of server components. What's your take?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have to keep it inside ServerComponentWrapper
for now since AppServer
needs to be sent through streaming response as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since AppServer needs to be sent through streaming response as well
The definition of _app.server
is blurry. If it is a client component, it shouldn't be included in the flight response. If it's a server component, it should be allowed to exist at the same time along with _app
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_app is the client one, which is not included in flight response yet. and you can have _app.server and _app at the same time.
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
buildDuration | 17.3s | 17.8s | |
buildDurationCached | 7.4s | 7.3s | -45ms |
nodeModulesSize | 475 MB | 475 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.99 | 4.058 | |
/ avg req/sec | 626.61 | 616.04 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.552 | 1.473 | -0.08 |
/error-in-render avg req/sec | 1610.74 | 1696.9 | +86.16 |
Client Bundles (main, webpack)
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
925.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42 kB | 42 kB | ✓ |
main-HASH.js gzip | 28.8 kB | 28.8 kB | ✓ |
webpack-HASH.js gzip | 1.44 kB | 1.44 kB | ✓ |
Overall change | 72.5 kB | 72.5 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.36 kB | 1.36 kB | ✓ |
_error-HASH.js gzip | 193 B | 193 B | ✓ |
amp-HASH.js gzip | 308 B | 308 B | ✓ |
css-HASH.js gzip | 327 B | 327 B | ✓ |
dynamic-HASH.js gzip | 3.08 kB | 3.08 kB | ✓ |
head-HASH.js gzip | 359 B | 359 B | ✓ |
hooks-HASH.js gzip | 920 B | 920 B | ✓ |
image-HASH.js gzip | 5.7 kB | 5.7 kB | ✓ |
index-HASH.js gzip | 263 B | 263 B | ✓ |
link-HASH.js gzip | 2.64 kB | 2.64 kB | ✓ |
routerDirect..HASH.js gzip | 320 B | 320 B | ✓ |
script-HASH.js gzip | 391 B | 391 B | ✓ |
withRouter-HASH.js gzip | 318 B | 318 B | ✓ |
85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
Overall change | 16.3 kB | 16.3 kB | ✓ |
Client Build Manifests
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
_buildManifest.js gzip | 459 B | 459 B | ✓ |
Overall change | 459 B | 459 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
index.html gzip | 532 B | 532 B | ✓ |
link.html gzip | 545 B | 545 B | ✓ |
withRouter.html gzip | 528 B | 528 B | ✓ |
Overall change | 1.6 kB | 1.6 kB | ✓ |
Default Build with SWC (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
buildDuration | 20.2s | 19.3s | -842ms |
buildDurationCached | 7.2s | 6.7s | -550ms |
nodeModulesSize | 475 MB | 475 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 4.302 | 3.983 | -0.32 |
/ avg req/sec | 581.18 | 627.66 | +46.48 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.593 | 1.514 | -0.08 |
/error-in-render avg req/sec | 1569.39 | 1651.12 | +81.73 |
Client Bundles (main, webpack)
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
925.HASH.js gzip | 178 B | 178 B | ✓ |
framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
main-HASH.js gzip | 29.2 kB | 29.2 kB | ✓ |
webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
Overall change | 73.1 kB | 73.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.35 kB | 1.35 kB | ✓ |
_error-HASH.js gzip | 179 B | 179 B | ✓ |
amp-HASH.js gzip | 312 B | 312 B | ✓ |
css-HASH.js gzip | 324 B | 324 B | ✓ |
dynamic-HASH.js gzip | 3.08 kB | 3.08 kB | ✓ |
head-HASH.js gzip | 357 B | 357 B | ✓ |
hooks-HASH.js gzip | 921 B | 921 B | ✓ |
image-HASH.js gzip | 5.79 kB | 5.79 kB | ✓ |
index-HASH.js gzip | 261 B | 261 B | ✓ |
link-HASH.js gzip | 2.76 kB | 2.76 kB | ✓ |
routerDirect..HASH.js gzip | 322 B | 322 B | ✓ |
script-HASH.js gzip | 392 B | 392 B | ✓ |
withRouter-HASH.js gzip | 317 B | 317 B | ✓ |
85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
Overall change | 16.5 kB | 16.5 kB | ✓ |
Client Build Manifests
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
_buildManifest.js gzip | 456 B | 456 B | ✓ |
Overall change | 456 B | 456 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | huozhi/next.js fix/duplicate-rsc-app | Change | |
---|---|---|---|
index.html gzip | 530 B | 530 B | ✓ |
link.html gzip | 543 B | 543 B | ✓ |
withRouter.html gzip | 527 B | 527 B | ✓ |
Overall change | 1.6 kB | 1.6 kB | ✓ |
Fixes #36659
App
is alreay included inServerComponentWrapper
Bug
fixes #number
contributing.md