Skip to content

Server Action POST returns text/html PPR shell instead of RSC payload after upgrading to 16.2.0 #91662

@mariusch

Description

@mariusch

Link to the code that reproduces this issue

https://github.com/mariusch/nextjs-sa-ppr-repro

To Reproduce

  1. next.config.ts: set output: "standalone" and cacheComponents: true
  2. Create a dynamic route with a <Suspense> boundary (so PPR activates) and a Server Action
  3. next build && node .next/standalone/server.js
  4. Invoke the Server Action
  5. Response is an HTML prerender shell instead of RSC payload → client throws E394

Current vs. Expected behavior

Server Action POST response headers after upgrading 16.1.7 → 16.2.0:

Header 16.1.7 16.2.0
content-type text/x-component text/html; charset=utf-8
x-nextjs-postponed absent 1
x-nextjs-cache HIT absent

Both include x-nextjs-prerender: 1. Request includes Next-Action header in both cases.

Expected: Returns text/x-component with RSC payload.
Actual: Returns PPR HTML shell. Action executes, but client can't parse the response → E394.

Downgrading to 16.1.7 resolves it.

Provide environment information

Operating System:
  Platform: darwin
  Arch: arm64
Binaries:
  Node: 22.15.0
Relevant Packages:
  next: 16.2.0 (works on 16.1.7)
  react: 19.2.4
  react-dom: 19.2.4
  typescript: 5.9.3
Next.js Config:
  output: standalone

Which area(s) are affected? (Select all that apply)

cacheComponents, Server Actions, Partial Prerendering (PPR)

Which stage(s) are affected? (Select all that apply)

Other (Deployed), next start (local)

Additional context

Self-hosted via Docker (node:25-alpine), not Vercel. Azure Front Door in front but unchanged between versions.

Metadata

Metadata

Assignees

Labels

Cache ComponentsRelated to the `cacheComponents`, `useCache`, or `ppr` experimental flags.Server ActionsRelated to Server Actions.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions