Skip to content

[pull] canary from vercel:canary#196

Merged
pull[bot] merged 8 commits into
code:canaryfrom
vercel:canary
Jul 15, 2025
Merged

[pull] canary from vercel:canary#196
pull[bot] merged 8 commits into
code:canaryfrom
vercel:canary

Conversation

@pull

@pull pull Bot commented Jul 15, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.3)

Can you help keep this open source service alive? 💖 Please sponsor : )

styfle and others added 8 commits July 15, 2025 14:22
The stale bot comment says 2 years even though its 1.5 years (or 545
days to be precise).

The exact amount of time is not as important in this message so we can
remove it to avoid drift between the message and actual stale time.
- A Next.js starter app using [Prisma
Postgres](https://www.prisma.io/postgres) and Prisma ORM

This PR adds a new example demonstrating how to integrate Prisma ORM
with a Next.js application. The example includes:

- Setup instructions for Prisma Postgres
- Example models and queries
- Basic CRUD operations using Prisma

---------

Co-authored-by: Nikolas <nikolas.burk@gmail.com>
Co-authored-by: Alex Martin <alex.martin@vercel.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
When running the following test isolated, and not as part of the full
test suite, the owner stacks for async I/O errors were missing the
top-most stack frame that's pointing at the `fetch` call.

```
pnpm test-dev test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.test.ts -t "should show a collapsed redbox with two errors"
```

The same could be reproduced with `pnpm next dev
test/e2e/app-dir/dynamic-io-errors/fixtures/default` at
http://localhost:3000/dynamic-root, unless http://localhost:3000/static
was visited first.

The likely reason for that is that React's async I/O tracking was
recently optimized for performance reasons in react/react#33736 and
react/react#33737.

We can help React a bit with the tracking by explicitly awaiting our
`makeHangingPromise` calls. With this fix, the case from above reliably
works in isolation.
#81096)

Fixes #64910

This PR resolves an issue where a client-side navigation to the root
page fails when both `basePath` and `middleware` are active. This is
caused by an incorrect redirect loop on the `/_next/data` request.

The sequence of events is as follows:
1. Next.js enforces its `trailingSlash: false` policy by adding an
internal redirect from `{basePath}/` to `{basePath}`.
2. For middleware to be invoked correctly, a data request for the root
page is normalized to `/`.
3. The path is then re-joined with the `basePath` using
`path.posix.join(config.basePath, '/')`, which incorrectly results in
`{basePath}/`.
4. This malformed path triggers the redirect from step 1, causing the
data fetch to fail with a 308 status code and resulting in empty
`pageProps`.

This fix isolates the root path (`/`) during path normalization to
prevent an extra trailing slash from being added. By ensuring the path
resolves to `{basePath}` instead of `{basePath}/`, the redirect loop is
avoided.

The change correctly handles the root path while leaving the logic for
all other paths untouched.

---------

Co-authored-by: JJ Kasper <jj@jjsweb.site>
This auto-generated PR updates the development integration test manifest used when testing Rspack.
This auto-generated PR updates the production integration test manifest used when testing Rspack.
This ensures if using NextServer or a custom-server directly we honor
the custom config passed in correctly.
@pull pull Bot locked and limited conversation to collaborators Jul 15, 2025
@pull pull Bot added the ⤵️ pull label Jul 15, 2025
@pull pull Bot merged commit a0d1570 into code:canary Jul 15, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants