vercel/next.js

[PPR][DIO] Dynamic Segment Static Shell is blank

Opened this issue ยท 1 comments

Link to the code that reproduces this issue

https://github.com/marmalade-labs/dynamicio-static-gen

To Reproduce

  1. Open a browser tab, open the inspector, and disable javascript
  2. In the address bar, enter https://dynamicio-static-gen.vercel.app/static?__nextppronly=1
  3. ๐Ÿ‘ Notice that the full page.tsx content for this route, Params: static, is included in the static shell since the slug static was specified in generateStaticParams
  4. Generate a uuid (e.g. mRgTuS from https://zelark.github.io/nano-id-cc/)
  5. In the address bar, enter https://dynamicio-static-gen.vercel.app/mRgTuS?__nextppronly=1
  6. ๐Ÿ‘Ž Notice that the page is blank:
  7. In a new tab with JavaScript enabled, go to https://dynamicio-static-gen.vercel.app/mRgTuS
  8. Wait for 5 seconds, until the content appears
  9. Go back to the tab with JavaScript disabled and refresh the page
  10. ๐Ÿ‘Ž Notice that the page is still blank:
    • Expected: See the full page content as part of the static shell, since the entire route is cacheable and was visited (i.e. it should now be the same as if the slug were included in generateStaticParams)

Current vs. Expected behavior

Current vs Expected behavior outlined above in the "To Reproduce" section

Provide environment information

Operating System:
  Platform: linux
  Arch: x64
  Version: #1 SMP PREEMPT_DYNAMIC Mon, 09 Dec 2024 14:31:57 +0000
  Available memory (MB): 62091
  Available CPU cores: 16
Binaries:
  Node: 20.18.1
  npm: 10.9.2
  Yarn: 1.22.22
  pnpm: 9.12.1
Relevant Packages:
  next: 15.1.1-canary.0 // Latest available version is detected (15.1.1-canary.0).
  eslint-config-next: N/A
  react: 19.0.0
  react-dom: 19.0.0
  typescript: 5.3.3
Next.js Config:
  output: N/A

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

dynamicIO, Partial Prerendering (PPR)

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

next start (local), Vercel (Deployed)

Additional context

No response

Still an issue in 15.1.1-canary.1