Skip to content

feat(app): playground SSR device hints + L5 Cache Components prep - #175

Merged
mkayander merged 3 commits into
mainfrom
cursor/playground-ssr-l5-prep-8f0a
Aug 23, 2026
Merged

feat(app): playground SSR device hints + L5 Cache Components prep#175
mkayander merged 3 commits into
mainfrom
cursor/playground-ssr-l5-prep-8f0a

Conversation

@mkayander

@mkayander mkayander commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

Post–L3b next steps: restore playground mobile SSR device hints on App Router and begin L5 Instant Nav / Cache Components adoption.

Playground SSR device hints (regression fix from L2)

  • Single shared App shellLocaleAppLayout at (default-locale)/layout.tsx and [lang]/layout.tsx (no sibling segment layouts).
  • Proxy sets x-dstruct-ssr-device-type on playground paths; LocaleAppLayout reads it for StateThemeProvider.
  • Proxy sets Accept-CH: Sec-CH-UA-Mobile on playground responses.

L5 Cache Components (incremental)

  • Enable cacheComponents + partialPrefetching.
  • instant = false on root + locale layouts until runtime segments are cached/Suspense-split.

Cleanup

  • Removed obsolete (marketing) route group (pages flattened under (default-locale)/ and [lang]/).

Test plan

  • pnpm test — 464 unit tests
  • pnpm lint — clean
  • pnpm build — Cache Components enabled
  • pnpm test:e2e — 18/18 (includes Accept-CH on /playground)
  • pnpm preview-smoke — all green

Next steps (post-merge)

  • Suspense-split root headers() locale read
  • Cache/Suspense-wrap session/i18n in locale layouts
  • unstable_instant + @next/playwright instant() tests
Open in Web Open in Cursor 

Restore mobile SSR theme hints on App playground routes via dedicated
playground segment layouts and proxy Accept-CH headers.

Enable cacheComponents and partialPrefetching incrementally with
instant=false on runtime segments (root headers, session/i18n layouts).
@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 8:20pm

@mkayander
mkayander marked this pull request as ready for review August 23, 2026 19:53
Restore single LocaleAppLayout at parent layouts instead of sibling
(marketing)/playground shells that remounted tRPC/query providers on nav.

Proxy sets x-dstruct-ssr-device-type on playground paths; LocaleAppLayout
reads it. Add Accept-CH e2e, parseSsrDeviceTypeHeader tests, doc fixes.
Flatten pages back under (default-locale)/ and [lang]/ now that a single
LocaleAppLayout handles all routes; the group had no layout or URL effect.
@mkayander
mkayander merged commit bfba2ca into main Aug 23, 2026
7 checks passed
github-actions Bot pushed a commit that referenced this pull request Aug 23, 2026
# [1.387.0](v1.386.0...v1.387.0) (2026-08-23)

### Features

* **app:** playground SSR device hints + L5 Cache Components prep ([#175](#175)) ([bfba2ca](bfba2ca))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.387.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