-
Notifications
You must be signed in to change notification settings - Fork 27.6k
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
Ensure original history is read in effect #58861
Ensure original history is read in effect #58861
Conversation
Current dependencies on/for this PR:
This stack of pull requests is managed by Graphite. |
Stats from current PRDefault BuildGeneral Overall increase
|
vercel/next.js canary | vercel/next.js 11-24-Ensure_original_history_is_read_in_effect | Change | |
---|---|---|---|
buildDuration | 10.6s | 10.4s | N/A |
buildDurationCached | 6s | 6.6s | |
nodeModulesSize | 199 MB | 199 MB | |
nextStartRea..uration (ms) | 422ms | 423ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js 11-24-Ensure_original_history_is_read_in_effect | Change | |
---|---|---|---|
199-HASH.js gzip | 30.8 kB | 30.7 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 | 239 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-Ensure_original_history_is_read_in_effect | 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-Ensure_original_history_is_read_in_effect | 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-Ensure_original_history_is_read_in_effect | 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-Ensure_original_history_is_read_in_effect | Change | |
---|---|---|---|
index.html gzip | 529 B | 527 B | N/A |
link.html gzip | 539 B | 542 B | N/A |
withRouter.html gzip | 525 B | 522 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js 11-24-Ensure_original_history_is_read_in_effect | Change | |
---|---|---|---|
edge-ssr.js gzip | 92.6 kB | 92.7 kB | N/A |
page.js gzip | 145 kB | 145 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js 11-24-Ensure_original_history_is_read_in_effect | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 625 B | 626 B | N/A |
middleware-r..fest.js gzip | 150 B | 151 B | N/A |
middleware.js gzip | 35.7 kB | 35.7 kB | N/A |
edge-runtime..pack.js gzip | 1.92 kB | 1.92 kB | ✓ |
Overall change | 1.92 kB | 1.92 kB | ✓ |
Next Runtimes
vercel/next.js canary | vercel/next.js 11-24-Ensure_original_history_is_read_in_effect | Change | |
---|---|---|---|
app-page-exp...dev.js gzip | 168 kB | 168 kB | ✓ |
app-page-exp..prod.js gzip | 93.8 kB | 93.8 kB | ✓ |
app-page-tur..prod.js gzip | 94.5 kB | 94.5 kB | ✓ |
app-page-tur..prod.js gzip | 89.1 kB | 89.1 kB | ✓ |
app-page.run...dev.js gzip | 138 kB | 138 kB | ✓ |
app-page.run..prod.js gzip | 88.4 kB | 88.4 kB | ✓ |
app-route-ex...dev.js gzip | 24.2 kB | 24.2 kB | ✓ |
app-route-ex..prod.js gzip | 16.8 kB | 16.8 kB | ✓ |
app-route-tu..prod.js gzip | 16.9 kB | 16.9 kB | ✓ |
app-route-tu..prod.js gzip | 16.4 kB | 16.4 kB | ✓ |
app-route.ru...dev.js gzip | 23.6 kB | 23.6 kB | ✓ |
app-route.ru..prod.js gzip | 16.4 kB | 16.4 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.9 kB | 21.9 kB | ✓ |
pages.runtim...dev.js gzip | 22.6 kB | 22.6 kB | ✓ |
pages.runtim..prod.js gzip | 21.9 kB | 21.9 kB | ✓ |
server.runti..prod.js gzip | 49.3 kB | 49.3 kB | ✓ |
Overall change | 930 kB | 930 kB | ✓ |
Diff details
Diff for page.js
Diff too large to display
Diff for 199-HASH.js
Diff too large to display
Confirmed in the case of
I patched my local copy of Next.js 14.0.3 with this PR and it does solve the issue. Edit: when the 07:11:46.376 Warning: useInsertionEffect must not schedule updates.
HistoryUpdater@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/components/app-router.js:64:36
Router@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/components/app-router.js:170:100
ErrorBoundaryHandler@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/components/error-boundary.js:100:9
ErrorBoundary@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/components/error-boundary.js:130:67
AppRouter@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/components/app-router.js:491:47
ServerRoot@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/app-index.js:128:24
RSCComponent
Root@webpack-internal:///(app-pages-browser)/../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/app-index.js:144:24 199 [app-index.js:32:21](webpack://_N_E/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/client/app-index.js?7251)
07:11:47.386 Too many calls to Location or History APIs within a short timeframe. |
@franky47 good catch, now I remember why I did the original implementation in the first place, Next.js internal push/replace should not trigger the patched behavior. Will add a marker for it. |
Failing test suitesCommit: 55dac4a
Expand output● Cleaning distDir › disabled write › should not clean up .next before build start
Read more about building and testing Next.js in contributing.md. |
That last commit solved all known issues in If that PR could make it to 14.0.4, that'd be awesome. 🙏 |
@franky47 thanks for checking! It'll be in the next stable release yeah 👍 |
What?
Fixes #58335 (comment). Waiting on a reply for the exact case but my assumption is that the history is overwritten in the user module instead of before the other JS loads.