Skip to content
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

Provide non-dynamic segments to catch-all parallel routes #65233

Merged
merged 3 commits into from
May 1, 2024

Conversation

agadzik
Copy link
Contributor

@agadzik agadzik commented May 1, 2024

Fixes an issue with #65063 where the catch-all param only contains dynamic segments and is missing non-dynamic route segments.

This makes building breadcrumbs extremely hard as we're missing information to properly render the correct breadcrumb components.

This fix makes parallel route catch-all params behave like the standard catch-all params in non-parallel routes

@ijjk
Copy link
Member

ijjk commented May 1, 2024

Allow CI Workflow Run

  • approve CI run for commit: 857f4b2

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

1 similar comment
@ijjk
Copy link
Member

ijjk commented May 1, 2024

Allow CI Workflow Run

  • approve CI run for commit: 857f4b2

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

@ijjk
Copy link
Member

ijjk commented May 1, 2024

Tests Passed

@ijjk
Copy link
Member

ijjk commented May 1, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
buildDuration 19s 17.3s N/A
buildDurationCached 10.1s 8.6s N/A
nodeModulesSize 360 MB 360 MB ⚠️ +115 kB
nextStartRea..uration (ms) 475ms 473ms N/A
Client Bundles (main, webpack)
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
1103-HASH.js gzip 31.9 kB 31.9 kB N/A
1a9f679d-HASH.js gzip 53.5 kB 53.5 kB N/A
335-HASH.js gzip 5.05 kB 5.05 kB
7953.HASH.js gzip 169 B 169 B
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 230 B 230 B
main-HASH.js gzip 31.5 kB 31.6 kB N/A
webpack-HASH.js gzip 1.65 kB 1.65 kB N/A
Overall change 50.6 kB 50.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
_app-HASH.js gzip 192 B 193 B N/A
_error-HASH.js gzip 192 B 193 B N/A
amp-HASH.js gzip 507 B 511 B N/A
css-HASH.js gzip 341 B 343 B N/A
dynamic-HASH.js gzip 2.52 kB 2.52 kB
edge-ssr-HASH.js gzip 266 B 265 B N/A
head-HASH.js gzip 362 B 365 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.27 kB 4.27 kB
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.69 kB 2.7 kB N/A
routerDirect..HASH.js gzip 329 B 328 B N/A
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 324 B 324 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 8.27 kB 8.27 kB
Client Build Manifests
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
_buildManifest.js gzip 483 B 484 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
index.html gzip 529 B 528 B N/A
link.html gzip 541 B 540 B N/A
withRouter.html gzip 524 B 523 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
edge-ssr.js gzip 94.7 kB 94.7 kB N/A
page.js gzip 181 kB 182 kB ⚠️ +120 B
Overall change 181 kB 182 kB ⚠️ +120 B
Middleware size
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
middleware-b..fest.js gzip 621 B 622 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 25.7 kB 25.7 kB
edge-runtime..pack.js gzip 839 B 839 B
Overall change 26.7 kB 26.7 kB
Next Runtimes
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
app-page-exp...dev.js gzip 171 kB 171 kB N/A
app-page-exp..prod.js gzip 98.6 kB 98.7 kB N/A
app-page-tur..prod.js gzip 100 kB 100 kB N/A
app-page-tur..prod.js gzip 94.4 kB 94.5 kB N/A
app-page.run...dev.js gzip 157 kB 157 kB N/A
app-page.run..prod.js gzip 93.1 kB 93.2 kB N/A
app-route-ex...dev.js gzip 21.5 kB 21.5 kB
app-route-ex..prod.js gzip 15.2 kB 15.2 kB
app-route-tu..prod.js gzip 15.2 kB 15.2 kB
app-route-tu..prod.js gzip 15 kB 15 kB
app-route.ru...dev.js gzip 21.3 kB 21.3 kB
app-route.ru..prod.js gzip 15 kB 15 kB
pages-api-tu..prod.js gzip 9.55 kB 9.55 kB
pages-api.ru...dev.js gzip 9.82 kB 9.82 kB
pages-api.ru..prod.js gzip 9.55 kB 9.55 kB
pages-turbo...prod.js gzip 21.5 kB 21.5 kB
pages.runtim...dev.js gzip 22.1 kB 22.1 kB
pages.runtim..prod.js gzip 21.5 kB 21.5 kB
server.runti..prod.js gzip 51.6 kB 51.6 kB
Overall change 249 kB 249 kB
build cache Overall increase ⚠️
vercel/next.js canary agadzik/next.js gadzik/fix-parallel-route-catchall Change
0.pack gzip 1.62 MB 1.62 MB ⚠️ +395 B
index.pack gzip 114 kB 113 kB N/A
Overall change 1.62 MB 1.62 MB ⚠️ +395 B
Diff details
Diff for edge-ssr.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
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

Commit: 4b73818

@ztanner ztanner added the CI approved Approve running CI for fork label May 1, 2024
@ztanner ztanner changed the title Fixes the issue where a parallel route's catch-all param is incorrect Provide non-dynamic segments to catch-all parallel routes May 1, 2024
Copy link
Member

@ztanner ztanner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

@ztanner ztanner merged commit bb7f5a3 into vercel:canary May 1, 2024
75 checks passed
@p6l-richard
Copy link

p6l-richard commented May 8, 2024

Love this feature as it enables breadcrumbs implementation in a simple manner.

However, is there a chance this could land on a canary that doesn't have react 19 as a peer dependency?

On the current canary, an app that's running on react 18 throws:

image

In the past, next's canaries were always depending on react's canary -- not their beta. This is a somewhat unexpected behaviour.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants