-
Notifications
You must be signed in to change notification settings - Fork 27.4k
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
New example: Xstate and routes #19197
Conversation
…hanging routes and share the state across pages and components.
Failing test suitesCommit: e5b7e05 test/integration/dist-dir/test/index.test.js
Expand output● distDir › With basic usage › should not build the app within the default
● distDir › should handle null/undefined distDir
test/integration/cli/test/index.test.js
Expand output● CLI Usage › start › experimental react version
● CLI Usage › start › experimental react-dom version
test/integration/not-found-revalidate/test/index.test.js
Expand output● SSG notFound revalidate › production mode › should revalidate after notFound is returned for fallback: blocking
test/integration/re-export-all-exports-from-page-disallowed/test/index.test.js
Expand output● Re-export all exports from page is disallowed › shows error when a page re-export all exports
|
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
buildDuration | 13.9s | 14.1s | |
nodeModulesSize | 85 MB | 85 MB | ✓ |
Page Load Tests Overall increase ✓
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.593 | 2.596 | 0 |
/ avg req/sec | 964.17 | 963 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.381 | 1.34 | -0.04 |
/error-in-render avg req/sec | 1810.62 | 1865.37 | +54.75 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..d9fb.js gzip | 12.7 kB | 12.7 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-6b336ff..ab65.js gzip | 6.53 kB | 6.53 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.9 kB | 58.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 8.23 kB | 8.23 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-878859a..dule.js gzip | 5.64 kB | 5.64 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.6 kB | 53.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-3b0cf13..85f8.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-6f635..c393.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-d4ffc3..9e0f.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-d9a15a0..130a.js gzip | 1.57 kB | 1.57 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.98 kB | 7.98 kB | ✓ |
Client Pages Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-f2fcc..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-973cce3..dule.js gzip | 1.51 kB | 1.51 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.6 kB | 5.6 kB | ✓ |
Client Build Manifests
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 330 B | 330 B | ✓ |
Overall change | 651 B | 651 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
index.html gzip | 968 B | 968 B | ✓ |
link.html gzip | 975 B | 975 B | ✓ |
withRouter.html gzip | 962 B | 962 B | ✓ |
Overall change | 2.9 kB | 2.9 kB | ✓ |
Serverless Mode
General
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
buildDuration | 16.2s | 15.9s | -293ms |
nodeModulesSize | 85 MB | 85 MB | ✓ |
Client Bundles (main, webpack, commons)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..d9fb.js gzip | 12.7 kB | 12.7 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-6b336ff..ab65.js gzip | 6.53 kB | 6.53 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.9 kB | 58.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 8.23 kB | 8.23 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-878859a..dule.js gzip | 5.64 kB | 5.64 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.6 kB | 53.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-3b0cf13..85f8.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-6f635..c393.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-d4ffc3..9e0f.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-d9a15a0..130a.js gzip | 1.57 kB | 1.57 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.98 kB | 7.98 kB | ✓ |
Client Pages Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-f2fcc..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-973cce3..dule.js gzip | 1.51 kB | 1.51 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.6 kB | 5.6 kB | ✓ |
Client Build Manifests
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 330 B | 330 B | ✓ |
Overall change | 651 B | 651 B | ✓ |
Serverless bundles
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_error.js | 918 kB | 918 kB | ✓ |
404.html | 4.61 kB | 4.61 kB | ✓ |
hooks.html | 3.86 kB | 3.86 kB | ✓ |
index.js | 918 kB | 918 kB | ✓ |
link.js | 976 kB | 976 kB | ✓ |
routerDirect.js | 969 kB | 969 kB | ✓ |
withRouter.js | 969 kB | 969 kB | ✓ |
Overall change | 4.76 MB | 4.76 MB | ✓ |
Stats from current PRDefault Server Mode (Decrease detected ✓)General
Page Load Tests Overall decrease
|
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.343 | 2.471 | |
/ avg req/sec | 1066.98 | 1011.86 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.252 | 1.411 | |
/error-in-render avg req/sec | 1997.32 | 1772.16 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..776c.js gzip | 12.7 kB | 12.7 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-95c0df2..6c91.js gzip | 6.53 kB | 6.53 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.9 kB | 58.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 8.26 kB | 8.26 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-8ead8dd..dule.js gzip | 5.64 kB | 5.64 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.6 kB | 53.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-3b0cf13..85f8.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-6f635..c393.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-d4ffc3..9e0f.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-d9a15a0..130a.js gzip | 1.57 kB | 1.57 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.98 kB | 7.98 kB | ✓ |
Client Pages Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-f2fcc..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-973cce3..dule.js gzip | 1.51 kB | 1.51 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.6 kB | 5.6 kB | ✓ |
Client Build Manifests
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 330 B | 330 B | ✓ |
Overall change | 651 B | 651 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
index.html gzip | 968 B | 968 B | ✓ |
link.html gzip | 974 B | 974 B | ✓ |
withRouter.html gzip | 961 B | 961 B | ✓ |
Overall change | 2.9 kB | 2.9 kB | ✓ |
Serverless Mode
General
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
buildDuration | 14.8s | 13.4s | -1.5s |
nodeModulesSize | 85 MB | 85 MB | ✓ |
Client Bundles (main, webpack, commons)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..776c.js gzip | 12.7 kB | 12.7 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-95c0df2..6c91.js gzip | 6.53 kB | 6.53 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.9 kB | 58.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 8.26 kB | 8.26 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-8ead8dd..dule.js gzip | 5.64 kB | 5.64 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.6 kB | 53.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-3b0cf13..85f8.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-6f635..c393.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-d4ffc3..9e0f.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-d9a15a0..130a.js gzip | 1.57 kB | 1.57 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.98 kB | 7.98 kB | ✓ |
Client Pages Modern
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-f2fcc..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-973cce3..dule.js gzip | 1.51 kB | 1.51 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.6 kB | 5.6 kB | ✓ |
Client Build Manifests
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 330 B | 330 B | ✓ |
Overall change | 651 B | 651 B | ✓ |
Serverless bundles
vercel/next.js canary | eliorivero/next.js canary | Change | |
---|---|---|---|
_error.js | 918 kB | 918 kB | ✓ |
404.html | 4.61 kB | 4.61 kB | ✓ |
hooks.html | 3.86 kB | 3.86 kB | ✓ |
index.js | 918 kB | 918 kB | ✓ |
link.js | 976 kB | 976 kB | ✓ |
routerDirect.js | 969 kB | 969 kB | ✓ |
withRouter.js | 969 kB | 969 kB | ✓ |
Overall change | 4.76 MB | 4.76 MB | ✓ |
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
buildDuration | 8.6s | 8.6s | |
nodeModulesSize | 82.4 MB | 82.4 MB | ✓ |
Page Load Tests Overall increase ✓
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 1.74 | 1.695 | -0.04 |
/ avg req/sec | 1437.03 | 1475.12 | +38.09 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.082 | 1.085 | 0 |
/error-in-render avg req/sec | 2311.6 | 2304.72 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..8b6e.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-3c9ff84..1d7c.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fca3d..2eb1.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.01 kB | 8.01 kB | ✓ |
Client Build Manifests
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
Overall change | 321 B | 321 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
index.html gzip | 614 B | 614 B | ✓ |
link.html gzip | 620 B | 620 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode
General
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
buildDuration | 9.9s | 9.9s | |
nodeModulesSize | 82.4 MB | 82.4 MB | ✓ |
Client Bundles (main, webpack, commons)
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
677f882d2ed8..8b6e.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-3c9ff84..1d7c.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fca3d..2eb1.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.01 kB | 8.01 kB | ✓ |
Client Build Manifests
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
Overall change | 321 B | 321 B | ✓ |
Serverless bundles
vercel/next.js canary | niko20/next.js canary | Change | |
---|---|---|---|
_error.js | 997 kB | 997 kB | ✓ |
404.html | 2.67 kB | 2.67 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 998 kB | 998 kB | ✓ |
link.js | 1.05 MB | 1.05 MB | ✓ |
routerDirect.js | 1.04 MB | 1.04 MB | ✓ |
withRouter.js | 1.04 MB | 1.04 MB | ✓ |
Overall change | 5.14 MB | 5.14 MB | ✓ |
Failing test suitesCommit: f02bf21 test/integration/i18n-support/test/index.test.js
Expand output● i18n Support › serverless mode › should navigate through history with query correctly
|
Failing test suitesCommit: 47433b6 test/integration/i18n-support/test/index.test.js
Expand output● i18n Support › serverless mode › should navigate through history with query correctly
|
Failing test suitesCommit: 9553b6d test/integration/i18n-support-base-path/test/index.test.js
Expand output● i18n Support basePath › serverless mode › should navigate through history with query correctly
|
Failing test suitesCommit: 1203b90 test/integration/i18n-support/test/index.test.js
Expand output● i18n Support › serverless mode › should navigate through history with query correctly
test/integration/i18n-support-base-path/test/index.test.js
Expand output● i18n Support basePath › production mode › should navigate through history with query correctly
● i18n Support basePath › serverless mode › should navigate through history with query correctly
|
This tweaks the new i18n query history test to address intermittent failures in CI x-ref: #19197 (comment) x-ref: #19135 (comment) x-ref: #20379 (comment)
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.
@eliorivero Hi there 👋 thank you for the PR and sorry for the late review 🙏
Let's update the current with-xstate
example to have a shared machine and multiple routes instead of adding a new one, that way we can avoid duplication and having one example that's better than the other.
Failing test suitesCommit: 2c75fa0 test/integration/basepath/test/index.test.js
Expand output● basePath production › should allow URL query strings on index without refresh
|
Failing test suitesCommit: 54cc9fc test/integration/preload-viewport/test/index.test.js
Expand output● Prefetching Links in viewport › should not have unhandledRejection when failing to prefetch on link
|
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.
Accidentally clicked approve. I'm going to close this PR as the proposed changes were not made and the PR is stale.
This example shows how to trigger state changes on a Xstate machine when navigating to a different route by listening to the router events and trigger the state changes.
It also shows how to initialize the machine once and use React Context to get its state across different pages and components inside those pages.