Skip to content

feat(app): locale migration L3b — retire internal-marketing pilot - #174

Merged
mkayander merged 2 commits into
mainfrom
cursor/locale-migration-l3b-8f0a
Aug 23, 2026
Merged

feat(app): locale migration L3b — retire internal-marketing pilot#174
mkayander merged 2 commits into
mainfrom
cursor/locale-migration-l3b-8f0a

Conversation

@mkayander

@mkayander mkayander commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

Retires the /internal-marketing/* App Router pilot now that L1/L2 public routes are live.

  • 308 redirects in next.config.mjs:
    • /internal-marketing/en/
    • /internal-marketing/en/:path*/:path*
    • /internal-marketing/:locale/:locale
    • /internal-marketing/:locale/:path*/:locale/:path*
    • /en/ and /en/:path*/:path* (SEO dedupe)
  • Deleted src/app/internal-marketing/ (9 files)
  • Updated proxy.ts, playgroundRoute.ts, e2e, previewSmoke.ts, docs

Review follow-ups (commit a4d81fba)

  • parsePlaygroundPathname: /en/playground now normalizes to /playground via playgroundBasePathForLocale
  • app-locale-routes.spec.ts: scoped to non-default locales (/de/*); en cases covered by L2/L3b
  • L3b e2e: asserts 308 status with maxRedirects: 0
  • Stale pilot wording cleaned up in Instant-Navigations-TODO.md

Test plan

  • pnpm test — 457 unit tests pass
  • pnpm lint — ESLint + tsc clean
  • pnpm build — production build succeeds
  • pnpm test:e2e17/17 pass (includes 308 redirect assertion)
  • pnpm preview-smoke — legacy URLs redirect then 200

Walkthrough

internal-marketing/en redirects to home

internal-marketing/de/daily redirects to /de/daily

Next steps (post-merge)

  • L5: enable cacheComponents / Instant Nav flags (blocked on root headers())
  • Optional: deduplicate (default-locale)/ vs [lang]/ page modules
  • Optional: restore SSR device hints on App playground routes

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Add 308 redirects from /internal-marketing/* and /en/* to public App
routes, delete the noindex pilot tree, and update proxy, playgroundRoute,
e2e, and preview-smoke accordingly.
Use playgroundBasePathForLocale for /en/playground parsing, scope
app-locale-routes e2e to non-default locales, assert 308 redirect status,
and update stale pilot TODO wording.
@vercel

vercel Bot commented Aug 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dstruct Ready Ready Preview Aug 23, 2026 6:27pm

@mkayander
mkayander marked this pull request as ready for review August 23, 2026 18:35
@mkayander
mkayander merged commit 3adfd15 into main Aug 23, 2026
7 checks passed
github-actions Bot pushed a commit that referenced this pull request Aug 23, 2026
# [1.386.0](v1.385.0...v1.386.0) (2026-08-23)

### Features

* **app:** locale migration L3b — retire internal-marketing pilot ([#174](#174)) ([3adfd15](3adfd15))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.386.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants