Files
9931cc0c85 Fix fallback route params case in app-page handler (#91737)
## Summary
- add production-route-shape fixture coverage for
`/[teamSlug]/[project]/settings/domains`
- add revalidation helpers (API and server action) and browser controls
used by the regression test
- reproduce the failing production sequence by priming, revalidating,
then loading a page with in-view `next/link` and navigating repeatedly

x-ref: https://github.com/vercel/next.js/pull/91627
x-ref: https://github.com/vercel/next.js/pull/91603

## Testing
- `IS_WEBPACK_TEST=1 NEXT_SKIP_ISOLATE=1 NEXT_TEST_MODE=start pnpm
testheadless
test/e2e/app-dir/segment-cache/vary-params-base-dynamic/vary-params-base-dynamic.test.ts
-t "production route shape"` (passes)
- `NEXT_ENABLE_ADAPTER=1 pnpm test-deploy
test/e2e/app-dir/segment-cache/vary-params-base-dynamic/vary-params-base-dynamic.test.ts
-t "production route shape"`
- `NEXT_ENABLE_ADAPTER=1 pnpm test-deploy
test/e2e/app-dir/segment-cache/vary-params-base-dynamic/vary-params-base-dynamic.test.ts`
(fails in the two production-shape cases)

---------

Co-authored-by: Zack Tanner <[email protected]>
2026-04-06 09:37:22 -07:00

57 lines
1.5 KiB
TypeScript

import Link from 'next/link'
import { LinkAccordion } from '../components/link-accordion'
import { RevalidateControls } from '../components/revalidate-controls'
export default function HomePage() {
return (
<div id="home-page">
<h1>Root Dynamic Route Vary Params</h1>
<p>
Prefetch dynamic team/project routes and validate segment payload
params.
</p>
<ul data-nav-link-list="true">
<li>
<Link href="/acme/dashboard" data-nav-link="/acme/dashboard">
Navigate: acme/dashboard
</Link>
</li>
<li>
<Link href="/globex/portal" data-nav-link="/globex/portal">
Navigate: globex/portal
</Link>
</li>
<li>
<Link
href="/acme/dashboard/settings/domains"
data-nav-link="/acme/dashboard/settings/domains"
>
Navigate: acme/dashboard/settings/domains
</Link>
</li>
<li>
<Link
href="/globex/portal/settings/domains"
data-nav-link="/globex/portal/settings/domains"
>
Navigate: globex/portal/settings/domains
</Link>
</li>
</ul>
<ul>
<li>
<LinkAccordion href="/acme/dashboard">
Team project: acme/dashboard
</LinkAccordion>
</li>
<li>
<LinkAccordion href="/globex/portal">
Team project: globex/portal
</LinkAccordion>
</li>
</ul>
<RevalidateControls />
</div>
)
}