ijjk/notion-blog 1610
A Next.js site using new SSG support with a Notion backed blog
rauchg/blog 613
kevin-roark/socket.io-computer 427
a collaborative virtual machine
rase-/socket.io-php-emitter 313
A PHP implementation of socket.io-emitter
npm registry proxy to github repositories
3n/MooTune 52
A MooTools class for logging events, errors and AB tests to multiple backends such as Google Analytics, Mixpanel or your own server logs.
A sample Next.js app for showing off it's capabilities
hzoo/twpm 42
:bird: twitter package manager: npx twpm install 712799807073419264 --save left-pad
matthewmueller/dom-iterator 34
Feature-rich, well-tested Iterator for traversing DOM nodes.
PR opened google/gvisor
Drop stack.Route.NICID
Packets with same LocalAddress/RemoteAddress pair may be sent from different interfaces depending on routing table, interface and address changes throughout the lifetime of a route. Therefore, it does not make sense to assume that a route is bound to only one interface so drop the NICID method from stack.Route to remove assumptions around the interface a packet is written to.
pr created time in 4 minutes
pull request commentvercel/next.js
Move hydration mis-match test suite
Stats from current PR
<details> <summary><strong>Default Server Mode</strong> (Increase detected ⚠️)</summary>
<br/>
<details> <summary><strong>General</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| buildDuration | 10.1s | 10.5s | ⚠️ +409ms |
| nodeModulesSize | 77.6 MB | 77.6 MB | ✓ |
</details>
<details> <summary><strong>Page Load Tests</strong> Overall increase ✓</summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.016 | 2.038 | ⚠️ +0.02 |
| / avg req/sec | 1239.82 | 1226.64 | ⚠️ -13.18 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.262 | 1.246 | -0.02 |
| /error-in-render avg req/sec | 1980.81 | 2006.29 | +25.48 |
</details>
<details> <summary><strong>Client Bundles (main, webpack, commons)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| 677f882d2ed8..43e3.js gzip | 13.1 kB | 13.1 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-9e3e4e6..2023.js gzip | 6.63 kB | 6.63 kB | ✓ |
| webpack-50be..df5b.js gzip | 751 B | 751 B | ✓ |
| Overall change | 59.4 kB | 59.4 kB | ✓ |
</details>
<details> <summary><strong>Legacy Client Bundles (polyfills)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| polyfills-af..9390.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
</details>
<details> <summary><strong>Client Pages</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
| hooks-c71ae4..70cd.js gzip | 887 B | 887 B | ✓ |
| index-bbee2f..528b.js gzip | 227 B | 227 B | ✓ |
| link-7faf09b..eba4.js gzip | 1.64 kB | 1.64 kB | ✓ |
| routerDirect..bf84.js gzip | 303 B | 303 B | ✓ |
| withRouter-a..5826.js gzip | 302 B | 302 B | ✓ |
| Overall change | 8.09 kB | 8.09 kB | ✓ |
</details>
<details> <summary><strong>Client Build Manifests</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 321 B | 321 B | ✓ |
| Overall change | 321 B | 321 B | ✓ |
</details>
<details> <summary><strong>Rendered Page Sizes</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| index.html gzip | 614 B | 614 B | ✓ |
| link.html gzip | 621 B | 621 B | ✓ |
| withRouter.html gzip | 608 B | 608 B | ✓ |
| Overall change | 1.84 kB | 1.84 kB | ✓ |
</details>
</details> <hr/> <details> <summary><strong>Serverless Mode</strong></summary>
<br/>
<details> <summary><strong>General</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| buildDuration | 12.2s | 12.2s | ⚠️ +33ms |
| nodeModulesSize | 77.6 MB | 77.6 MB | ✓ |
</details>
<details> <summary><strong>Client Bundles (main, webpack, commons)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| 677f882d2ed8..43e3.js gzip | 13.1 kB | 13.1 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-9e3e4e6..2023.js gzip | 6.63 kB | 6.63 kB | ✓ |
| webpack-50be..df5b.js gzip | 751 B | 751 B | ✓ |
| Overall change | 59.4 kB | 59.4 kB | ✓ |
</details>
<details> <summary><strong>Legacy Client Bundles (polyfills)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| polyfills-af..9390.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
</details>
<details> <summary><strong>Client Pages</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
| hooks-c71ae4..70cd.js gzip | 887 B | 887 B | ✓ |
| index-bbee2f..528b.js gzip | 227 B | 227 B | ✓ |
| link-7faf09b..eba4.js gzip | 1.64 kB | 1.64 kB | ✓ |
| routerDirect..bf84.js gzip | 303 B | 303 B | ✓ |
| withRouter-a..5826.js gzip | 302 B | 302 B | ✓ |
| Overall change | 8.09 kB | 8.09 kB | ✓ |
</details>
<details> <summary><strong>Client Build Manifests</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 321 B | 321 B | ✓ |
| Overall change | 321 B | 321 B | ✓ |
</details>
<details> <summary><strong>Serverless bundles</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _error.js | 1 MB | 1 MB | ✓ |
| 404.html | 2.67 kB | 2.67 kB | ✓ |
| hooks.html | 1.92 kB | 1.92 kB | ✓ |
| index.js | 1 MB | 1 MB | ✓ |
| link.js | 1.06 MB | 1.06 MB | ✓ |
| routerDirect.js | 1.05 MB | 1.05 MB | ✓ |
| withRouter.js | 1.05 MB | 1.05 MB | ✓ |
| Overall change | 5.18 MB | 5.18 MB | ✓ |
</details>
</details> <hr/> <details> <summary><strong>Webpack 5 Mode</strong> (Increase detected ⚠️)</summary>
<br/>
<details> <summary><strong>General</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| buildDuration | 12.6s | 12.6s | -58ms |
| nodeModulesSize | 77.6 MB | 77.6 MB | ✓ |
</details>
<details> <summary><strong>Page Load Tests</strong> Overall increase ✓</summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.015 | 2.086 | ⚠️ +0.07 |
| / avg req/sec | 1240.86 | 1198.67 | ⚠️ -42.19 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.306 | 1.263 | -0.04 |
| /error-in-render avg req/sec | 1914.48 | 1979.75 | +65.27 |
</details>
<details> <summary><strong>Client Bundles (main, webpack, commons)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| 597-3bd7d6bd..868b.js gzip | 13 kB | 13 kB | ✓ |
| 778-d412f8e7..3ee1.js gzip | 6.56 kB | 6.56 kB | ✓ |
| 838-adcbad39..6e83.js gzip | 31.1 kB | 31.1 kB | ✓ |
| framework.HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-6a6a792..6877.js gzip | 96 B | 96 B | ✓ |
| webpack-e302..54e9.js gzip | 954 B | 954 B | ✓ |
| Overall change | 91 kB | 91 kB | ✓ |
</details>
<details> <summary><strong>Legacy Client Bundles (polyfills)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| polyfills-a0..538c.js gzip | 88 B | 88 B | ✓ |
| Overall change | 88 B | 88 B | ✓ |
</details>
<details> <summary><strong>Client Pages</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _app-a5b2e84..33cf.js gzip | 1.26 kB | 1.26 kB | ✓ |
| _error-6f1f9..5577.js gzip | 3.38 kB | 3.38 kB | ✓ |
| hooks-725de8..0a15.js gzip | 904 B | 904 B | ✓ |
| index-939503..6e1c.js gzip | 232 B | 232 B | ✓ |
| link-e0cc871..fdbb.js gzip | 1.63 kB | 1.63 kB | ✓ |
| routerDirect..9360.js gzip | 308 B | 308 B | ✓ |
| withRouter-6..44ec.js gzip | 304 B | 304 B | ✓ |
| Overall change | 8.02 kB | 8.02 kB | ✓ |
</details>
<details> <summary><strong>Client Build Manifests</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 299 B | 299 B | ✓ |
| Overall change | 299 B | 299 B | ✓ |
</details>
<details> <summary><strong>Rendered Page Sizes</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/move-hash-hydration-test | Change | |
|---|---|---|---|
| index.html gzip | 585 B | 585 B | ✓ |
| link.html gzip | 592 B | 592 B | ✓ |
| withRouter.html gzip | 581 B | 581 B | ✓ |
| Overall change | 1.76 kB | 1.76 kB | ✓ |
</details>
Diffs
<details> <summary>Diff for <strong>index.html</strong></summary>
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/",
"query": {},
- "buildId": "4auMO0xnY4Pp_B1ZQxkxe",
+ "buildId": "rFqr7aWt7T4I20U9GvqoY",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/4auMO0xnY4Pp_B1ZQxkxe/_buildManifest.js"
+ src="/_next/static/rFqr7aWt7T4I20U9GvqoY/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/4auMO0xnY4Pp_B1ZQxkxe/_ssgManifest.js"
+ src="/_next/static/rFqr7aWt7T4I20U9GvqoY/_ssgManifest.js"
async=""
></script>
</body>
</details> <details> <summary>Diff for <strong>link.html</strong></summary>
@@ -48,7 +48,7 @@
"props": { "pageProps": {} },
"page": "/link",
"query": {},
- "buildId": "4auMO0xnY4Pp_B1ZQxkxe",
+ "buildId": "rFqr7aWt7T4I20U9GvqoY",
"isFallback": false,
"gip": true
}
@@ -82,11 +82,11 @@
async=""
></script>
<script
- src="/_next/static/4auMO0xnY4Pp_B1ZQxkxe/_buildManifest.js"
+ src="/_next/static/rFqr7aWt7T4I20U9GvqoY/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/4auMO0xnY4Pp_B1ZQxkxe/_ssgManifest.js"
+ src="/_next/static/rFqr7aWt7T4I20U9GvqoY/_ssgManifest.js"
async=""
></script>
</body>
</details> <details> <summary>Diff for <strong>withRouter.html</strong></summary>
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/withRouter",
"query": {},
- "buildId": "4auMO0xnY4Pp_B1ZQxkxe",
+ "buildId": "rFqr7aWt7T4I20U9GvqoY",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/4auMO0xnY4Pp_B1ZQxkxe/_buildManifest.js"
+ src="/_next/static/rFqr7aWt7T4I20U9GvqoY/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/4auMO0xnY4Pp_B1ZQxkxe/_ssgManifest.js"
+ src="/_next/static/rFqr7aWt7T4I20U9GvqoY/_ssgManifest.js"
async=""
></script>
</body>
</details> </details> Commit: efa75fd37dcb88e458e2da4f3768e8ea304c997d
comment created time in 4 minutes
startedllun/feeds
started time in 12 minutes
PR opened google/gvisor
Require NIC ID or address for mcast sockopts
Without a NIC ID or a NIC address, we don't know what NIC's multicast memberships to modify.
Before this change, a NIC would be chosen based on the routing table but this change requires a NIC ID or address to be specified.
pr created time in 12 minutes
PR opened vercel/next.js
In this PR, it was suggested to move the test suite, but it was merged before fixing. This is the fix for that, moving link-with-hash test suite to client-navigation suite
detail: https://github.com/vercel/next.js/pull/21065/files#r558425551
pr created time in 15 minutes
startedbrianvoe/gofakeit
started time in 15 minutes
startedEmilTholin/svelte-routing
started time in 16 minutes
issue openedvercel/pkg
`pkg` tries to compile file called by require.resolve.
Currently whenever pkg encounters require.resolve(path). It will try to include the file into the executable. However, this behaviour will obviously become a problem when the file at the path is not a .js file.
I encounter this issue when trying to compile pm2 and this line below is causing the pkg to throw a syntax error.
https://github.com/Unitech/pm2-deploy/blob/987428a6ce402b47bb195ab93a8eafa5ad79c6f5/deploy.js#L31
The reason for that is that the ./deploy file is a bash file.
Given that require.resolve is practically the same as path.resolve and returns a string. It perhaps should not behave the way it is now. In my opinion, it should be treated the same way that path.join is being treated now (that's is automatically included into assets).
created time in 40 minutes
issue commentvercel/next.js
Just throwing it out there that I am running into this same issue as well. I am on v10.0.5 of nextjs. I noticed this glitch(?) when I was trying to update some text in one of my components and my page would never refresh with the updated content. I am even able to completely remove chunks of code out of my components and nothing changes in my browser.
Seems like the cache isn't getting updated correctly or something.
Thanks, Kyle
comment created time in an hour
startedkettanaito/naming-cheatsheet
started time in an hour
push eventgoogle/gvisor
commit sha f5736fa2bf91e1bb3fd9f9625dba8c800bf2adb5
Do not use a stack-wide queue of pending packets Packets may be pending on link resolution to complete before being sent. Link resolution is performed for neighbors which are unique to a NIC so hold link resolution related state under the NIC, not the stack. Note, this change may result in more queued packets but that is okay as RFC 4861 section 7.2.2 recommends that the stack maintain a queue of packets for each neighbor that is waiting for link resolution to complete, not a fixed limit per stack. PiperOrigin-RevId: 352322155
commit sha 585537ac7118cb6eb561d465dd05029fd818cef4
Do not have a stack-wide linkAddressCache Link addresses are cached on a per NIC basis so instead of having a single cache that includes the NIC ID for neighbor entry lookups, use a single cache per NIC. PiperOrigin-RevId: 352207166
push time in an hour
push eventgoogle/gvisor
commit sha f7f66c8c6cb5284afe11f4571568866e3c605466
Add tests for cases of ARP failures on TCP connect Also fix test expectation for UDP sendto() case in tuntap syscall test. Fixes #5155 PiperOrigin-RevId: 352056612
commit sha f1420cf48418c01694eaf3110ac411915b217d36
Add sanity check on return values from Write io.Writer.Write requires err to be non-nil if n < len(v). We could allow this but it will be irreversible if users depend on this behavior. Ported the test that discovered this. PiperOrigin-RevId: 352065946
commit sha f03144d886791afcdd37962388e9a6294a08c49f
Support TEST_PREMATURE_EXIT_FILE in syscall tests PiperOrigin-RevId: 352068182
commit sha 9db126eb65ada4b2233ccb85a0e9c402b7efc5de
Combine reference count logs into one message. Otherwise, races can occur between concurrent logs. PiperOrigin-RevId: 352086914
commit sha c7fc4a5d66dc5d6680219819f872c070a0590ca9
Add fsstress tests Updates #5273 PiperOrigin-RevId: 352088736
commit sha 55c7fe48d223ee5678dff7f5bf9a9e5f0482ab37
Populate EgressRoute, GSO, Netproto for batch writes We loop over the list of packets anyways so setting these aren't expensive. Now that they are populated only by the link endpoint that uses them, TCP does not need to. PiperOrigin-RevId: 352090853
commit sha ec9e263f213c59e93f9c8b8123012b3db2dddc9a
Correctly return EMSGSIZE when packet is too big in raw socket. IPv4 previously accepts the packet, while IPv6 panics. Neither is the behavior in Linux. splice() in Linux has different behavior than in gVisor. This change documents it in the SpliceTooLong test. Reported-by: [email protected] PiperOrigin-RevId: 352091286
commit sha f37ace6661dfed8acae7e22ed0eb9ad78bdeab34
[rack] Retransmit the probe segment after the probe timer expires. This change implements TLP details enumerated in https://tools.ietf.org/html/draft-ietf-tcpm-rack-08#section-7.5.2. Fixes #5084 PiperOrigin-RevId: 352093473
commit sha 12d9790833cc2f6a9b197066a5ecbeb434f74164
Remove count argument from tcpip.Endpoint.Read The same intent can be specified via the io.Writer. PiperOrigin-RevId: 352098747
commit sha fd5b52c87ff8fbabf2b293fc95ec9f9f04e5621c
Only pass stack.Route's fields to LinkEndpoints stack.Route is used to send network packets and resolve link addresses. A LinkEndpoint does not need to do either of these and only needs the route's fields at the time of the packet write request. Since LinkEndpoints only need the route's fields when writing packets, pass a stack.RouteInfo instead. PiperOrigin-RevId: 352108405
commit sha 2814a032be7b34e4cc0c0607dba8030e74e11208
Support GetLinkAddress with neighborCache Test: integration_test.TestGetLinkAddress PiperOrigin-RevId: 352119404
commit sha cd75bb163f46bbe238945b98d50c7b33e60d4490
Resolve known link address on route creation If a Route is being created through a link that requires link address resolution and a remote address that has a known mapping to a link address, populate the link address when the route is created. This removes the need for neighbor/link address caches to perform this check. Fixes #5149 PiperOrigin-RevId: 352122401
commit sha f5736fa2bf91e1bb3fd9f9625dba8c800bf2adb5
Do not use a stack-wide queue of pending packets Packets may be pending on link resolution to complete before being sent. Link resolution is performed for neighbors which are unique to a NIC so hold link resolution related state under the NIC, not the stack. Note, this change may result in more queued packets but that is okay as RFC 4861 section 7.2.2 recommends that the stack maintain a queue of packets for each neighbor that is waiting for link resolution to complete, not a fixed limit per stack. PiperOrigin-RevId: 352322155
commit sha cccf478fcdc4f7e8043022d18406fd92b3f2772e
Do not cache remote link address in Route ...unless explicitly requested via ResolveWith. Remove cancelled channels from pending packets as we can use the link resolution channel in a FIFO to limit the number of maximum pending resolutions we should queue packets for. This change also defers starting the goroutine that handles link resolution completion to when link resolution succeeds, fails or gets cancelled due to the max number of pending resolutions being reached. Fixes #751 PiperOrigin-RevId: 351942810
push time in an hour
startedbasecamp/easymon
started time in an hour
startedJetBrains/web-types
started time in an hour
startedgithub/super-linter
started time in an hour
issue commentvercel/next.js
Next 9.5.1 out of memory after some hot reloads
@sambecker Interesting - we honestly started seeing this after upgrading from Node 10 to Node 12 and then 13. 14 is on the todo list and I'm really crossing my fingers that this just goes away.
FWIW @timneutkens I appreciate your patience with this and the fact that you're not closings this outright. Getting bug reports like this must be frustrating, and I'm sure I'm not the only one when I say I'd love to share our source code with you but are legally unable to.
My team is doing a lot of investigation into this right now and I'll be sure to share anything we find. The only smoking gun we've found is that a lot of the out of memory crash stacktraces point back to the etag header generation code that hashes the response before sending it. I don't think the actual issue is that code, but it seems to be indicative of Node poorly managing memory. If anything, this is quite possibly a Node bug.
comment created time in an hour
push eventgoogle/gvisor
commit sha f5736fa2bf91e1bb3fd9f9625dba8c800bf2adb5
Do not use a stack-wide queue of pending packets Packets may be pending on link resolution to complete before being sent. Link resolution is performed for neighbors which are unique to a NIC so hold link resolution related state under the NIC, not the stack. Note, this change may result in more queued packets but that is okay as RFC 4861 section 7.2.2 recommends that the stack maintain a queue of packets for each neighbor that is waiting for link resolution to complete, not a fixed limit per stack. PiperOrigin-RevId: 352322155
commit sha cfe357cafaf4dacc8e7371c0f21af7a7862d6d91
Merge release-20210112.0-41-gf5736fa2b (automated)
push time in 2 hours
startednvuillam/mega-linter
started time in 2 hours
PR opened google/gvisor
Drop CheckLocalAddress from LinkAddressCache
pr created time in 2 hours
PR merged google/gvisor
Do not use a stack-wide queue of pending packets
Packets may be pending on link resolution to complete before being sent. Link resolution is performed for neighbors which are unique to a NIC so hold link resolution related state under the NIC, not the stack.
Note, this change may result in more queued packets but that is okay as RFC 4861 section 7.2.2 recommends that the stack maintain a queue of packets for each neighbor that is waiting for link resolution to complete, not a fixed limit per stack.
pr closed time in 2 hours
push eventgoogle/gvisor
commit sha f5736fa2bf91e1bb3fd9f9625dba8c800bf2adb5
Do not use a stack-wide queue of pending packets Packets may be pending on link resolution to complete before being sent. Link resolution is performed for neighbors which are unique to a NIC so hold link resolution related state under the NIC, not the stack. Note, this change may result in more queued packets but that is okay as RFC 4861 section 7.2.2 recommends that the stack maintain a queue of packets for each neighbor that is waiting for link resolution to complete, not a fixed limit per stack. PiperOrigin-RevId: 352322155
push time in 2 hours
push eventgoogle/gvisor
commit sha f5736fa2bf91e1bb3fd9f9625dba8c800bf2adb5
Do not use a stack-wide queue of pending packets Packets may be pending on link resolution to complete before being sent. Link resolution is performed for neighbors which are unique to a NIC so hold link resolution related state under the NIC, not the stack. Note, this change may result in more queued packets but that is okay as RFC 4861 section 7.2.2 recommends that the stack maintain a queue of packets for each neighbor that is waiting for link resolution to complete, not a fixed limit per stack. PiperOrigin-RevId: 352322155
push time in 2 hours
pull request commentvercel/next.js
fix scrollrestoration on navigation with hash links
Stats from current PR
<details> <summary><strong>Default Server Mode</strong> (Increase detected ⚠️)</summary>
<br/>
<details> <summary><strong>General</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| buildDuration | 9.3s | 9.1s | -217ms |
| nodeModulesSize | 77.6 MB | 77.6 MB | ⚠️ +483 B |
</details>
<details> <summary><strong>Page Load Tests</strong> Overall increase ✓</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 1.836 | 1.779 | -0.06 |
| / avg req/sec | 1362.02 | 1405.13 | +43.11 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.14 | 1.153 | ⚠️ +0.01 |
| /error-in-render avg req/sec | 2192.56 | 2168.37 | ⚠️ -24.19 |
</details>
<details> <summary><strong>Client Bundles (main, webpack, commons)</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| 677f882d2ed8..43e3.js gzip | 13.1 kB | 13.1 kB | ⚠️ +21 B |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-9e3e4e6..2023.js gzip | 6.63 kB | 6.63 kB | ✓ |
| webpack-50be..df5b.js gzip | 751 B | 751 B | ✓ |
| Overall change | 59.4 kB | 59.4 kB | ⚠️ +21 B |
</details>
<details> <summary><strong>Legacy Client Bundles (polyfills)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| polyfills-af..9390.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
</details>
<details> <summary><strong>Client Pages</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
| hooks-c71ae4..70cd.js gzip | 887 B | 887 B | ✓ |
| index-bbee2f..528b.js gzip | 227 B | 227 B | ✓ |
| link-7faf09b..eba4.js gzip | 1.64 kB | 1.64 kB | ✓ |
| routerDirect..bf84.js gzip | 303 B | 303 B | ✓ |
| withRouter-a..5826.js gzip | 302 B | 302 B | ✓ |
| Overall change | 8.09 kB | 8.09 kB | ✓ |
</details>
<details> <summary><strong>Client Build Manifests</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 321 B | 321 B | ✓ |
| Overall change | 321 B | 321 B | ✓ |
</details>
<details> <summary><strong>Rendered Page Sizes</strong> Overall decrease ✓</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| index.html gzip | 614 B | 613 B | -1 B |
| link.html gzip | 621 B | 619 B | -2 B |
| withRouter.html gzip | 608 B | 607 B | -1 B |
| Overall change | 1.84 kB | 1.84 kB | -4 B |
</details>
Diffs
<details> <summary>Diff for <strong>677f882d2ed8..d3759e1c6.js</strong></summary>
@@ -1994,7 +1994,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
if (
!(!options._h && this.onlyAHashChange(cleanedAs))
) {
- _context.next = 34;
+ _context.next = 35;
break;
}
@@ -2006,8 +2006,16 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
); // TODO: do we need the resolved href when only a hash change?
this.changeState(method, url, as, options);
- this.scrollToHash(cleanedAs);
- this.notify(this.components[this.route], null);
+ this.scrollToHash(cleanedAs); // Since `#` scroll is already handled, excluding it by checking `cleanedAs`
+
+ forcedScroll =
+ forcedScroll && !cleanedAs.includes("#")
+ ? forcedScroll
+ : undefined;
+ this.notify(
+ this.components[this.route],
+ forcedScroll || null
+ );
Router.events.emit(
"hashChangeComplete",
as,
@@ -2015,7 +2023,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
);
return _context.abrupt("return", true);
- case 34:
+ case 35:
parsed = (0, _parseRelativeUrl.parseRelativeUrl)(
url
);
@@ -2025,30 +2033,30 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
// get their query parameters to allow ensuring they can be parsed properly
// when rewritten to
- _context.prev = 36;
- _context.next = 39;
+ _context.prev = 37;
+ _context.next = 40;
return this.pageLoader.getPageList();
- case 39:
+ case 40:
pages = _context.sent;
- _context.next = 42;
+ _context.next = 43;
return (0, _routeLoader.getClientBuildManifest)();
- case 42:
+ case 43:
_yield = _context.sent;
rewrites = _yield.__rewrites;
- _context.next = 50;
+ _context.next = 51;
break;
- case 46:
- _context.prev = 46;
- _context.t0 = _context["catch"](36);
+ case 47:
+ _context.prev = 47;
+ _context.t0 = _context["catch"](37);
// If we fail to resolve the page list or client-build manifest, we must
// do a server-side transition:
window.location.href = as;
return _context.abrupt("return", false);
- case 50:
+ case 51:
parsed = this._resolveHref(parsed, pages);
if (parsed.pathname !== pathname) {
@@ -2085,12 +2093,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
}
if (isLocalURL(as)) {
- _context.next = 62;
+ _context.next = 63;
break;
}
if (true) {
- _context.next = 60;
+ _context.next = 61;
break;
}
@@ -2104,18 +2112,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
"\nSee more info: https://err.sh/next.js/invalid-relative-url-external-as"
);
- case 60:
+ case 61:
window.location.href = as;
return _context.abrupt("return", false);
- case 62:
+ case 63:
resolvedAs = delLocale(
delBasePath(resolvedAs),
this.locale
);
if (!(0, _isDynamic.isDynamicRoute)(route)) {
- _context.next = 78;
+ _context.next = 79;
break;
}
@@ -2138,7 +2146,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
(shouldInterpolate && !interpolatedAs.result)
)
) {
- _context.next = 77;
+ _context.next = 78;
break;
}
@@ -2149,7 +2157,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
});
if (!(missingParams.length > 0)) {
- _context.next = 75;
+ _context.next = 76;
break;
}
@@ -2180,11 +2188,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
)
);
- case 75:
- _context.next = 78;
+ case 76:
+ _context.next = 79;
break;
- case 77:
+ case 78:
if (shouldInterpolate) {
as = (0, _utils.formatWithValidation)(
Object.assign({}, _parsedAs, {
@@ -2200,14 +2208,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
Object.assign(query, routeMatch);
}
- case 78:
+ case 79:
Router.events.emit(
"routeChangeStart",
as,
routeProps
);
- _context.prev = 79;
- _context.next = 82;
+ _context.prev = 80;
+ _context.next = 83;
return this.getRouteInfo(
route,
pathname,
@@ -2216,7 +2224,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
routeProps
);
- case 82:
+ case 83:
routeInfo = _context.sent;
(_routeInfo = routeInfo),
(error = _routeInfo.error),
@@ -2225,14 +2233,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
(__N_SSP = _routeInfo.__N_SSP); // handle redirect on client-transition
if (!((__N_SSG || __N_SSP) && props)) {
- _context.next = 108;
+ _context.next = 109;
break;
}
if (
!(props.pageProps && props.pageProps.__N_REDIRECT)
) {
- _context.next = 95;
+ _context.next = 96;
break;
}
@@ -2241,7 +2249,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
// it's not
if (!destination.startsWith("/")) {
- _context.next = 93;
+ _context.next = 94;
break;
}
@@ -2251,7 +2259,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
this._resolveHref(parsedHref, pages, false);
if (!pages.includes(parsedHref.pathname)) {
- _context.next = 93;
+ _context.next = 94;
break;
}
@@ -2267,35 +2275,35 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
this.change(method, newUrl, newAs, options)
);
- case 93:
+ case 94:
window.location.href = destination;
return _context.abrupt(
"return",
new Promise(function() {})
);
- case 95:
+ case 96:
if (!(props.notFound === SSG_DATA_NOT_FOUND)) {
- _context.next = 108;
+ _context.next = 109;
break;
}
- _context.prev = 96;
- _context.next = 99;
+ _context.prev = 97;
+ _context.next = 100;
return this.fetchComponent("/404");
- case 99:
+ case 100:
notFoundRoute = "/404";
- _context.next = 105;
+ _context.next = 106;
break;
- case 102:
- _context.prev = 102;
- _context.t1 = _context["catch"](96);
+ case 103:
+ _context.prev = 103;
+ _context.t1 = _context["catch"](97);
notFoundRoute = "/_error";
- case 105:
- _context.next = 107;
+ case 106:
+ _context.next = 108;
return this.getRouteInfo(
notFoundRoute,
notFoundRoute,
@@ -2306,10 +2314,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
}
);
- case 107:
+ case 108:
routeInfo = _context.sent;
- case 108:
+ case 109:
Router.events.emit(
"beforeHistoryChange",
as,
@@ -2320,7 +2328,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
if (false) {
}
- _context.next = 113;
+ _context.next = 114;
return this.set(
route,
pathname,
@@ -2339,9 +2347,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
else throw e;
});
- case 113:
+ case 114:
if (!error) {
- _context.next = 116;
+ _context.next = 117;
break;
}
@@ -2353,7 +2361,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
);
throw error;
- case 116:
+ case 117:
if (false) {
}
@@ -2364,21 +2372,21 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
);
return _context.abrupt("return", true);
- case 121:
- _context.prev = 121;
- _context.t2 = _context["catch"](79);
+ case 122:
+ _context.prev = 122;
+ _context.t2 = _context["catch"](80);
if (!_context.t2.cancelled) {
- _context.next = 125;
+ _context.next = 126;
break;
}
return _context.abrupt("return", false);
- case 125:
+ case 126:
throw _context.t2;
- case 126:
+ case 127:
case "end":
return _context.stop();
}
@@ -2387,9 +2395,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
_callee,
this,
[
- [36, 46],
- [79, 121],
- [96, 102]
+ [37, 47],
+ [80, 122],
+ [97, 103]
]
);
})
</details> <details> <summary>Diff for <strong>index.html</strong></summary>
@@ -22,7 +22,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.68413f75a18d3759e1c6.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.93776590d9cf8a2bda14.js"
as="script"
/>
<link
@@ -65,7 +65,7 @@
async=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.68413f75a18d3759e1c6.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.93776590d9cf8a2bda14.js"
async=""
></script>
<script
</details> <details> <summary>Diff for <strong>link.html</strong></summary>
@@ -22,7 +22,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.68413f75a18d3759e1c6.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.93776590d9cf8a2bda14.js"
as="script"
/>
<link
@@ -70,7 +70,7 @@
async=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.68413f75a18d3759e1c6.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.93776590d9cf8a2bda14.js"
async=""
></script>
<script
</details> <details> <summary>Diff for <strong>withRouter.html</strong></summary>
@@ -22,7 +22,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.68413f75a18d3759e1c6.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.93776590d9cf8a2bda14.js"
as="script"
/>
<link
@@ -65,7 +65,7 @@
async=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.68413f75a18d3759e1c6.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.93776590d9cf8a2bda14.js"
async=""
></script>
<script
</details> </details> <hr/> <details> <summary><strong>Serverless Mode</strong> (Increase detected ⚠️)</summary>
<br/>
<details> <summary><strong>General</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| buildDuration | 10.9s | 10.8s | -108ms |
| nodeModulesSize | 77.6 MB | 77.6 MB | ⚠️ +483 B |
</details>
<details> <summary><strong>Client Bundles (main, webpack, commons)</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| 677f882d2ed8..43e3.js gzip | 13.1 kB | N/A | N/A |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-9e3e4e6..2023.js gzip | 6.63 kB | 6.63 kB | ✓ |
| webpack-50be..df5b.js gzip | 751 B | 751 B | ✓ |
| 677f882d2ed8..be9a.js gzip | N/A | 13.1 kB | N/A |
| Overall change | 59.4 kB | 59.4 kB | ⚠️ +21 B |
</details>
<details> <summary><strong>Legacy Client Bundles (polyfills)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| polyfills-af..9390.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
</details>
<details> <summary><strong>Client Pages</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
| hooks-c71ae4..70cd.js gzip | 887 B | 887 B | ✓ |
| index-bbee2f..528b.js gzip | 227 B | 227 B | ✓ |
| link-7faf09b..eba4.js gzip | 1.64 kB | 1.64 kB | ✓ |
| routerDirect..bf84.js gzip | 303 B | 303 B | ✓ |
| withRouter-a..5826.js gzip | 302 B | 302 B | ✓ |
| Overall change | 8.09 kB | 8.09 kB | ✓ |
</details>
<details> <summary><strong>Client Build Manifests</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 321 B | 321 B | ✓ |
| Overall change | 321 B | 321 B | ✓ |
</details>
<details> <summary><strong>Serverless bundles</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _error.js | 1 MB | 1 MB | ✓ |
| 404.html | 2.67 kB | 2.67 kB | ✓ |
| hooks.html | 1.92 kB | 1.92 kB | ✓ |
| index.js | 1 MB | 1 MB | ✓ |
| link.js | 1.06 MB | 1.06 MB | ⚠️ +184 B |
| routerDirect.js | 1.05 MB | 1.05 MB | ⚠️ +184 B |
| withRouter.js | 1.05 MB | 1.05 MB | ⚠️ +184 B |
| Overall change | 5.18 MB | 5.18 MB | ⚠️ +552 B |
</details>
</details> <hr/> <details> <summary><strong>Webpack 5 Mode</strong> (Increase detected ⚠️)</summary>
<br/>
<details> <summary><strong>General</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| buildDuration | 11.4s | 11.5s | ⚠️ +147ms |
| nodeModulesSize | 77.6 MB | 77.6 MB | ⚠️ +483 B |
</details>
<details> <summary><strong>Page Load Tests</strong> Overall decrease ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 1.782 | 1.827 | ⚠️ +0.04 |
| / avg req/sec | 1402.62 | 1368.38 | ⚠️ -34.24 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.156 | 1.186 | ⚠️ +0.03 |
| /error-in-render avg req/sec | 2162.25 | 2108.41 | ⚠️ -53.84 |
</details>
<details> <summary><strong>Client Bundles (main, webpack, commons)</strong> Overall increase ⚠️</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| 597-3bd7d6bd..868b.js gzip | 13 kB | 13 kB | ⚠️ +24 B |
| 778-d412f8e7..3ee1.js gzip | 6.56 kB | 6.56 kB | ✓ |
| 838-adcbad39..6e83.js gzip | 31.1 kB | 31.1 kB | ✓ |
| framework.HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-6a6a792..6877.js gzip | 96 B | 96 B | ✓ |
| webpack-e302..54e9.js gzip | 954 B | 954 B | ✓ |
| Overall change | 91 kB | 91 kB | ⚠️ +24 B |
</details>
<details> <summary><strong>Legacy Client Bundles (polyfills)</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| polyfills-a0..538c.js gzip | 88 B | 88 B | ✓ |
| Overall change | 88 B | 88 B | ✓ |
</details>
<details> <summary><strong>Client Pages</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _app-a5b2e84..33cf.js gzip | 1.26 kB | 1.26 kB | ✓ |
| _error-6f1f9..5577.js gzip | 3.38 kB | 3.38 kB | ✓ |
| hooks-725de8..0a15.js gzip | 904 B | 904 B | ✓ |
| index-939503..6e1c.js gzip | 232 B | 232 B | ✓ |
| link-e0cc871..fdbb.js gzip | 1.63 kB | 1.63 kB | ✓ |
| routerDirect..9360.js gzip | 308 B | 308 B | ✓ |
| withRouter-6..44ec.js gzip | 304 B | 304 B | ✓ |
| Overall change | 8.02 kB | 8.02 kB | ✓ |
</details>
<details> <summary><strong>Client Build Manifests</strong></summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 299 B | 299 B | ✓ |
| Overall change | 299 B | 299 B | ✓ |
</details>
<details> <summary><strong>Rendered Page Sizes</strong> Overall decrease ✓</summary>
| vercel/next.js canary | kaykdm/next.js fix/scrollrestoration-hash-change | Change | |
|---|---|---|---|
| index.html gzip | 585 B | 586 B | ⚠️ +1 B |
| link.html gzip | 592 B | 591 B | -1 B |
| withRouter.html gzip | 581 B | 580 B | -1 B |
| Overall change | 1.76 kB | 1.76 kB | -1 B |
</details>
Diffs
<details> <summary>Diff for <strong>677f882d2ed8..6a74e43e3.js</strong></summary>
@@ -1105,7 +1105,7 @@
(this._inFlightRoute = a),
i._h || !this.onlyAHashChange(w))
) {
- e.next = 34;
+ e.next = 35;
break;
}
return (
@@ -1113,36 +1113,40 @@
t.events.emit("hashChangeStart", a, g),
this.changeState(r, o, a, i),
this.scrollToHash(w),
- this.notify(this.components[this.route], null),
+ (u = u && !w.includes("#") ? u : void 0),
+ this.notify(
+ this.components[this.route],
+ u || null
+ ),
t.events.emit("hashChangeComplete", a, g),
e.abrupt("return", !0)
);
- case 34:
+ case 35:
return (
(x = (0, d.parseRelativeUrl)(o)),
(C = (O = x).pathname),
(I = O.query),
- (e.prev = 36),
- (e.next = 39),
+ (e.prev = 37),
+ (e.next = 40),
this.pageLoader.getPageList()
);
- case 39:
+ case 40:
return (
(A = e.sent),
- (e.next = 42),
+ (e.next = 43),
(0, s.getClientBuildManifest)()
);
- case 42:
- (D = e.sent), D.__rewrites, (e.next = 50);
+ case 43:
+ (D = e.sent), D.__rewrites, (e.next = 51);
break;
- case 46:
+ case 47:
return (
- (e.prev = 46),
- (e.t0 = e.catch(36)),
+ (e.prev = 47),
+ (e.t0 = e.catch(37)),
(window.location.href = a),
e.abrupt("return", !1)
);
- case 50:
+ case 51:
if (
((x = this._resolveHref(x, A)).pathname !== C &&
((C = x.pathname),
@@ -1155,22 +1159,22 @@
(N = a),
E(a))
) {
- e.next = 62;
+ e.next = 63;
break;
}
- e.next = 60;
+ e.next = 61;
break;
- case 60:
+ case 61:
return (
(window.location.href = a),
e.abrupt("return", !1)
);
- case 62:
+ case 63:
if (
((N = _(k(N), this.locale)),
!(0, p.isDynamicRoute)(M))
) {
- e.next = 78;
+ e.next = 79;
break;
}
if (
@@ -1181,7 +1185,7 @@
(G = (B = M === W) ? R(M, W, I) : {}),
q && (!B || G.result))
) {
- e.next = 77;
+ e.next = 78;
break;
}
if (
@@ -1193,7 +1197,7 @@
})).length > 0
)
) {
- e.next = 75;
+ e.next = 76;
break;
}
throw new Error(
@@ -1219,10 +1223,10 @@
: "incompatible-href-as"
)
);
- case 75:
- e.next = 78;
+ case 76:
+ e.next = 79;
break;
- case 77:
+ case 78:
B
? (a = (0, h.formatWithValidation)(
Object.assign({}, U, {
@@ -1231,11 +1235,11 @@
})
))
: Object.assign(I, q);
- case 78:
+ case 79:
return (
t.events.emit("routeChangeStart", a, g),
- (e.prev = 79),
- (e.next = 82),
+ (e.prev = 80),
+ (e.next = 83),
this.getRouteInfo(
M,
C,
@@ -1244,7 +1248,7 @@
g
)
);
- case 82:
+ case 83:
if (
((V = e.sent),
(X = (z = V).error),
@@ -1253,17 +1257,17 @@
(Y = z.__N_SSP),
(!$ && !Y) || !J)
) {
- e.next = 108;
+ e.next = 109;
break;
}
if (!J.pageProps || !J.pageProps.__N_REDIRECT) {
- e.next = 95;
+ e.next = 96;
break;
}
if (
!(Q = J.pageProps.__N_REDIRECT).startsWith("/")
) {
- e.next = 93;
+ e.next = 94;
break;
}
if (
@@ -1271,7 +1275,7 @@
this._resolveHref(Z, A, !1),
!A.includes(Z.pathname))
) {
- e.next = 93;
+ e.next = 94;
break;
}
return (
@@ -1280,40 +1284,40 @@
(et = K.as),
e.abrupt("return", this.change(r, tt, et, i))
);
- case 93:
+ case 94:
return (
(window.location.href = Q),
e.abrupt("return", new Promise(function() {}))
);
- case 95:
+ case 96:
if (J.notFound !== T) {
- e.next = 108;
+ e.next = 109;
break;
}
return (
- (e.prev = 96),
- (e.next = 99),
+ (e.prev = 97),
+ (e.next = 100),
this.fetchComponent("/404")
);
- case 99:
- (rt = "/404"), (e.next = 105);
+ case 100:
+ (rt = "/404"), (e.next = 106);
break;
- case 102:
- (e.prev = 102),
- (e.t1 = e.catch(96)),
+ case 103:
+ (e.prev = 103),
+ (e.t1 = e.catch(97)),
(rt = "/_error");
- case 105:
+ case 106:
return (
- (e.next = 107),
+ (e.next = 108),
this.getRouteInfo(rt, rt, I, a, { shallow: !1 })
);
- case 107:
- V = e.sent;
case 108:
+ V = e.sent;
+ case 109:
return (
t.events.emit("beforeHistoryChange", a, g),
this.changeState(r, o, a, i),
- (e.next = 113),
+ (e.next = 114),
this.set(
M,
C,
@@ -1326,31 +1330,31 @@
X = X || t;
})
);
- case 113:
+ case 114:
if (!X) {
- e.next = 116;
+ e.next = 117;
break;
}
throw (t.events.emit("routeChangeError", X, w, g),
X);
- case 116:
+ case 117:
return (
t.events.emit("routeChangeComplete", a, g),
e.abrupt("return", !0)
);
- case 121:
+ case 122:
if (
- ((e.prev = 121),
- (e.t2 = e.catch(79)),
+ ((e.prev = 122),
+ (e.t2 = e.catch(80)),
!e.t2.cancelled)
) {
- e.next = 125;
+ e.next = 126;
break;
}
return e.abrupt("return", !1);
- case 125:
- throw e.t2;
case 126:
+ throw e.t2;
+ case 127:
case "end":
return e.stop();
}
@@ -1358,9 +1362,9 @@
e,
this,
[
- [36, 46],
- [79, 121],
- [96, 102]
+ [37, 47],
+ [80, 122],
+ [97, 103]
]
);
})
</details> <details> <summary>Diff for <strong>index.html</strong></summary>
@@ -22,7 +22,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.7457634b2036a74e43e3.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.b168c3e739250d16be9a.js"
as="script"
/>
<link
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/",
"query": {},
- "buildId": "UF1b3g7fTmvLY3nvz9xPz",
+ "buildId": "WvvrUq3Q6Z815ircslYCn",
"isFallback": false,
"gip": true
}
@@ -65,7 +65,7 @@
async=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.7457634b2036a74e43e3.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.b168c3e739250d16be9a.js"
async=""
></script>
<script
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/UF1b3g7fTmvLY3nvz9xPz/_buildManifest.js"
+ src="/_next/static/WvvrUq3Q6Z815ircslYCn/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/UF1b3g7fTmvLY3nvz9xPz/_ssgManifest.js"
+ src="/_next/static/WvvrUq3Q6Z815ircslYCn/_ssgManifest.js"
async=""
></script>
</body>
</details> <details> <summary>Diff for <strong>link.html</strong></summary>
@@ -22,7 +22,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.7457634b2036a74e43e3.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.b168c3e739250d16be9a.js"
as="script"
/>
<link
@@ -48,7 +48,7 @@
"props": { "pageProps": {} },
"page": "/link",
"query": {},
- "buildId": "UF1b3g7fTmvLY3nvz9xPz",
+ "buildId": "WvvrUq3Q6Z815ircslYCn",
"isFallback": false,
"gip": true
}
@@ -70,7 +70,7 @@
async=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.7457634b2036a74e43e3.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.b168c3e739250d16be9a.js"
async=""
></script>
<script
@@ -82,11 +82,11 @@
async=""
></script>
<script
- src="/_next/static/UF1b3g7fTmvLY3nvz9xPz/_buildManifest.js"
+ src="/_next/static/WvvrUq3Q6Z815ircslYCn/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/UF1b3g7fTmvLY3nvz9xPz/_ssgManifest.js"
+ src="/_next/static/WvvrUq3Q6Z815ircslYCn/_ssgManifest.js"
async=""
></script>
</body>
</details> <details> <summary>Diff for <strong>withRouter.html</strong></summary>
@@ -22,7 +22,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.7457634b2036a74e43e3.js"
+ href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.b168c3e739250d16be9a.js"
as="script"
/>
<link
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/withRouter",
"query": {},
- "buildId": "UF1b3g7fTmvLY3nvz9xPz",
+ "buildId": "WvvrUq3Q6Z815ircslYCn",
"isFallback": false,
"gip": true
}
@@ -65,7 +65,7 @@
async=""
></script>
<script
- src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.7457634b2036a74e43e3.js"
+ src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.b168c3e739250d16be9a.js"
async=""
></script>
<script
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/UF1b3g7fTmvLY3nvz9xPz/_buildManifest.js"
+ src="/_next/static/WvvrUq3Q6Z815ircslYCn/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/UF1b3g7fTmvLY3nvz9xPz/_ssgManifest.js"
+ src="/_next/static/WvvrUq3Q6Z815ircslYCn/_ssgManifest.js"
async=""
></script>
</body>
</details> </details> Commit: 7a43b9b0ea678b60ee47baaf04fcce3d8a595132
comment created time in 2 hours
PR closed vercel/next.js
closes https://github.com/vercel/next.js/issues/21162
- Add react version settings on
.eslintrc.json
pr closed time in 2 hours
pull request commentvercel/next.js
fix(example): Add react version settings on .eslintrc.json in with-typescript-eslint-jest example
I didn't' notice there's a PR on fixing the issue I mentioned, so let me close mine. My bad! 🙏
https://github.com/vercel/next.js/pull/21163
comment created time in 2 hours
PR opened vercel/next.js
closes https://github.com/vercel/next.js/issues/21162
- Add react version settings on
.eslintrc.json
pr created time in 2 hours