Open roblen45 opened 9 months ago
There is no redirect()
calls in the reproduction. To investigate, I added redirect("/other")
to the redirectToOtherPage
action, but I could not reproduce the issue you are describing. Can you make sure the reproduction reflects the issue description?
Are you maybe able to pinpoint if this is a regression (did this work in a previous version, if so what's the last one that worked)?
We cannot recreate the issue with the provided information. Please add a reproduction in order for us to be able to investigate.
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>
.
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.
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.
Anyone experiencing the same issue is welcome to provide a minimal reproduction following the above steps. Furthermore, you can upvote the issue using the :+1: 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.
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.
Sorry for that. I added the redirect to the server action.
The next version is: 13.5.4-canary.4
I think, it is normal behaviour of Server Actions. They get executed on server. Thats why loading screen is not displayed. Maybe I am wrong.
Link to the code that reproduces this issue
https://github.com/5minds/redirect_timeout_in_server_actions
To Reproduce
Current vs. Expected behavior
When a server action redirects to a new server component with a long running async method call, the client hangs for a few minutes until the redirect get a timeout exception:
Internal error: Error: The render was aborted by the server without a reason. at eQ (/Users/XXX/src/5Minds/redirect_timeout_in_server_actions/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.dev.js:68:94611) at Object.cancel (/Users/XXX/src/5Minds/redirect_timeout_in_server_actions/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.dev.js:68:108428) at readableByteStreamControllerCancelSteps (node:internal/webstreams/readablestream:2576:37) at ReadableByteStreamController.[kCancel] (node:internal/webstreams/readablestream:1135:12) at ensureIsPromise (node:internal/webstreams/util:174:19) at readableStreamCancel (node:internal/webstreams/readablestream:1552:5) at node:internal/webstreams/readablestream:1389:15 at complete (node:internal/webstreams/readablestream:1279:9) at shutdownWithAnAction (node:internal/webstreams/readablestream:1275:5) at node:internal/webstreams/readablestream:1388:14 at processTicksAndRejections (node:internal/process/task_queues:96:5)
I would expect that the loading page is shown until the long running method finished.
Verify canary release
Provide environment information
Which area(s) are affected? (Select all that apply)
App Router, TypeScript (plugin, built-in types)
Additional context
No response
NEXT-1668