[PPR] Dynamic route segment params are double encoded
Open
@wyattjoh is already working on this.
Since Mar 13, 2025.
Cache Components
- Dominant language
- JavaScript
- Stars
- 142k
- Forks
- 32.4k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 351
Description
Link to the code that reproduces this issue
https://github.com/marmalade-labs/ppr-double-encode
To Reproduce
(note: this bug only shows when deployed to Vercel, not when running locally).
Current vs. Expected behavior
I expected hello%20world to be displayed but instead we see hello%2520world. When running locally or with PPR disabled, it works as expected.
Provide environment information
Operating System:
Platform: linux
Arch: x64
Version: #1 SMP PREEMPT_DYNAMIC Fri, 04 Oct 2024 21:51:11 +0000
Available memory (MB): 62093
Available CPU cores: 16
Binaries:
Node: 22.9.0
npm: 10.8.3
Yarn: 1.22.22
pnpm: 9.12.1
Relevant Packages:
next: 15.0.0-canary.181 // Latest available version is detected (15.0.0-canary.181).
eslint-config-next: N/A
react: 19.0.0-rc-2d16326d-20240930
react-dom: 19.0.0-rc-2d16326d-20240930
typescript: 5.3.3
Next.js Config:
output: N/A
Which area(s) are affected? (Select all that apply)
Partial Prerendering (PPR)
Which stage(s) are affected? (Select all that apply)
Vercel (Deployed)
Additional context
@wyattjoh, @ztanner - thought you might find this one interesting !
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.