[GH-ISSUE #866] App Router sibling interception loses source parallel-slot context #192

Closed
opened 2026-05-06 12:38:00 +02:00 by BreizhHardware · 0 comments

Originally created by @NathanDrake2406 on GitHub (Apr 21, 2026).
Original GitHub issue: https://github.com/cloudflare/vinext/issues/866

Summary

Vinext does not fully match Next.js for sibling intercepted routes paired with parallel slots.

The Next.js reference shape is:

  • app/(group)/intercepting-parallel-modal/[username]/@feed/page.js
  • app/(group)/intercepting-parallel-modal/[username]/@modal/(..)photo/[id]/page.js
  • app/(group)/intercepting-parallel-modal/photo/[id]/page.js

In vinext, this exposed two gaps:

  • a layout segment whose visible content is entirely parallel slots was not discovered as a route when it had no children page.tsx
  • intercepted RSC rendering rebuilt the source route using only target URL params, so source-only params from the interception context were lost

Expected

Navigating from /parallel-sibling-modal/vercel to /parallel-sibling-modal/photo/42 should keep the source feed rendered with username=vercel, mount the modal with id=42, and keep the URL at the target path.

Actual

Before the fix, the slot-only source route 404'd. After route discovery was fixed, the source feed lost username because only target params were used.

Reference

Next.js reference: test/e2e/app-dir/parallel-routes-and-interception/app/(group)/intercepting-parallel-modal

Originally created by @NathanDrake2406 on GitHub (Apr 21, 2026). Original GitHub issue: https://github.com/cloudflare/vinext/issues/866 ## Summary Vinext does not fully match Next.js for sibling intercepted routes paired with parallel slots. The Next.js reference shape is: - `app/(group)/intercepting-parallel-modal/[username]/@feed/page.js` - `app/(group)/intercepting-parallel-modal/[username]/@modal/(..)photo/[id]/page.js` - `app/(group)/intercepting-parallel-modal/photo/[id]/page.js` In vinext, this exposed two gaps: - a layout segment whose visible content is entirely parallel slots was not discovered as a route when it had no children `page.tsx` - intercepted RSC rendering rebuilt the source route using only target URL params, so source-only params from the interception context were lost ## Expected Navigating from `/parallel-sibling-modal/vercel` to `/parallel-sibling-modal/photo/42` should keep the source feed rendered with `username=vercel`, mount the modal with `id=42`, and keep the URL at the target path. ## Actual Before the fix, the slot-only source route 404'd. After route discovery was fixed, the source feed lost `username` because only target params were used. ## Reference Next.js reference: `test/e2e/app-dir/parallel-routes-and-interception/app/(group)/intercepting-parallel-modal`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vinext#192
No description provided.