Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: NEXT_REDIRECT error when redirecting on server after navigating via <Link>. #71555

Closed
mtansk opened this issue Oct 21, 2024 · 8 comments · Fixed by #71583
Closed

Error: NEXT_REDIRECT error when redirecting on server after navigating via <Link>. #71555

mtansk opened this issue Oct 21, 2024 · 8 comments · Fixed by #71583
Labels
bug Issue was opened via the bug report template. Developer Experience Issues related to Next.js logs, Error overlay, etc. locked Navigation Related to Next.js linking (e.g., <Link>) and navigation.

Comments

@mtansk
Copy link

mtansk commented Oct 21, 2024

Link to the code that reproduces this issue

https://github.com/mtansk/nextrederr

To Reproduce

  1. npm run dev
  2. click next "Link" component which leads to a page that performs next redirect.
  3. get browser console error and, sometimes, node console unknown url scheme error.

Current vs. Expected behavior

Expeted: redirect without an error.
Current: console error.

The error appears only when using "Link" component, "a" element works as expected.

image
image

Provide environment information

Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 10 Pro
  Available memory (MB): 16349
  Available CPU cores: 4
Binaries:
  Node: 20.12.2
  npm: N/A
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  next: 15.0.0-canary.202 // Latest available version is detected (15.0.0-canary.202).
  eslint-config-next: N/A
  react: 19.0.0-rc-65a56d0e-20241020
  react-dom: 19.0.0-rc-65a56d0e-20241020
  typescript: 5.3.3
Next.js Config:
  output: N/A

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

create-next-app, Developer Experience, Navigation

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

next dev (local)

Additional context

Error appears after RC 2. RC 1 was ok. Didn't check other canaries

@mtansk mtansk added the bug Issue was opened via the bug report template. label Oct 21, 2024
@github-actions github-actions bot added create-next-app Related to our CLI tool for quickly starting a new Next.js application. Developer Experience Issues related to Next.js logs, Error overlay, etc. Navigation Related to Next.js linking (e.g., <Link>) and navigation. labels Oct 21, 2024
@lubieowoce lubieowoce added the please add a complete reproduction Please add a complete reproduction. label Oct 21, 2024
Copy link
Contributor

We cannot recreate the issue with the provided information. Please add a reproduction in order for us to be able to investigate.

Why was this issue marked with the please add a complete reproduction label?

To be able to investigate, we need access to a reproduction to identify what triggered the issue. We prefer a link to a public GitHub repository (template for App Router, template for Pages Router), but you can also use these templates: CodeSandbox: App Router or CodeSandbox: Pages Router.

To make sure the issue is resolved as quickly as possible, please make sure that the reproduction is as minimal as possible. This means that you should remove unnecessary code, files, and dependencies that do not contribute to the issue. Ensure your reproduction does not depend on secrets, 3rd party registries, private dependencies, or any other data that cannot be made public. Avoid a reproduction including a whole monorepo (unless relevant to the issue). The easier it is to reproduce the issue, the quicker we can help.

Please test your reproduction against the latest version of Next.js (next@canary) to make sure your issue has not already been fixed.

If you cannot create a clean reproduction, another way you can help the maintainers' job is to pinpoint the canary version of next that introduced the issue. Check out our releases, and try to find the first canary release that introduced the issue. This will help us narrow down the scope of the issue, and possibly point to the PR/code change that introduced it. You can install a specific version of next by running npm install next@<version>.

I added a link, why was it still marked?

Ensure the link is pointing to a codebase that is accessible (e.g. not a private repository). "example.com", "n/a", "will add later", etc. are not acceptable links -- we need to see a public codebase. See the above section for accepted links.

What happens if I don't provide a sufficient minimal reproduction?

Issues with the please add a complete reproduction label that receives no meaningful activity (e.g. new comments with a reproduction link) are automatically closed and locked after 30 days.

If your issue has not been resolved in that time and it has been closed/locked, please open a new issue with the required reproduction.

I did not open this issue, but it is relevant to me, what can I do to help?

Anyone experiencing the same issue is welcome to provide a minimal reproduction following the above steps. Furthermore, you can upvote the issue using the 👍 reaction on the topmost comment (please do not comment "I have the same issue" without reproduction steps). Then, we can sort issues by votes to prioritize.

I think my reproduction is good enough, why aren't you looking into it quicker?

We look into every Next.js issue and constantly monitor open issues for new comments.

However, sometimes we might miss one or two due to the popularity/high traffic of the repository. We apologize, and kindly ask you to refrain from tagging core maintainers, as that will usually not result in increased priority.

Upvoting issues to show your interest will help us prioritize and address them as quickly as possible. That said, every issue is important to us, and if an issue gets closed by accident, we encourage you to open a new one linking to the old issue and we will look into it.

Useful Resources

@lubieowoce
Copy link
Member

I can reproduce this: https://github.com/lubieowoce/next-redirect-error-71555
(created my own because the code you linked is just a blank CRA app)

@lubieowoce lubieowoce removed the create-next-app Related to our CLI tool for quickly starting a new Next.js application. label Oct 21, 2024
@lubieowoce
Copy link
Member

lubieowoce commented Oct 21, 2024

Looks like this started appearing in [email protected]

(Notably, up until canary.88 we were using [email protected], but in canary.89 we switched to [email protected], so it could be caused by a react change)

@mtansk
Copy link
Author

mtansk commented Oct 21, 2024

Pushed local changes to my initial reproduction at https://github.com/mtansk/nextrederr

@elie222
Copy link

elie222 commented Oct 22, 2024

Facing same issues here: elie222/inbox-zero#249

Started happening after upgrading to Nextjs 15

@mtansk
Copy link
Author

mtansk commented Oct 22, 2024

@lubieowoce do you consider 404 and unknown scheme errors as part of this same issue?

UPDATE: 404 and scheme errors appear when using "--turbo".
Without "--turbo" I`m geeting a webpack error.

The screenshots are from my reproduction.
image

image
image

@lubieowoce
Copy link
Member

@mtansk I'm Pretty sure that those source map errors (404 & "Unknown url scheme") are unrelated. Although some of the source map 404s might be due to unexpected next internals appearing in the stack trace or something, so they'd go away when we fix this

(also i can't reproduce the ones that you're seeing in the terminal)

stipsan pushed a commit to sanity-io/next.js that referenced this issue Oct 22, 2024
)

Our patched `console.error` tries to skip internal router errors by
checking `isNextRouterError(error)`. however, if one of those happened
on the server and got replayed on the client, it gets logged differently
-- it's prefixed with the `[ Server ]` badge. this changes the position
where the actual error object is in `args` and thus messes up our
detection, so we end up printing it out (instead of hiding it like we
should)

This PR adds a check that attempts to match replayed server errors
(following [similar logic from react
devtools](https://github.com/facebook/react/blob/65a56d0e99261481c721334a3ec4561d173594cd/packages/react-devtools-shared/src/backend/flight/renderer.js#L88-L93))
and thus also filter out router errors that originated on the server


Closes vercel#71555
Copy link
Contributor

github-actions bot commented Nov 6, 2024

This closed issue has been automatically locked because it had no new activity for 2 weeks. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.

@github-actions github-actions bot added the locked label Nov 6, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue was opened via the bug report template. Developer Experience Issues related to Next.js logs, Error overlay, etc. locked Navigation Related to Next.js linking (e.g., <Link>) and navigation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants