You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a long-running request is fired, the server will complete it regardless of client behavior, e.g.: client hangup.
The expected behavior
An API for server actions to obtain a reference to an AbortController (or similar API) for the request, perhaps via async local context.
An API for clients to signal cancellation of a server action, perhaps via an additional return value on startTransition, perhaps as part of the transition APIs. If a transition is explicitly created, there should be a mechanism to cancel it.
The text was updated successfully, but these errors were encountered:
hey,
To achieve the expected behavior, you would need to implement a mechanism on the server-side to handle this. One common approach is to use a unique token for each request. The client sends this token with each request, and if the client disconnects, it sends a cancellation request with the same token. The server then checks for cancellation requests with the same token before and during the processing of the request.
React version: 18.2.0
Steps To Reproduce
Link to code example: https://codesandbox.io/p/devbox/next-14-0-3-forked-7q86s7?file=%2Fapp%2Factions.ts%3A4%2C18&workspaceId=958ee911-ec8f-4ca3-9ce1-668005ecaeb8
The current behavior
When a long-running request is fired, the server will complete it regardless of client behavior, e.g.: client hangup.
The expected behavior
An API for server actions to obtain a reference to an AbortController (or similar API) for the request, perhaps via async local context.
An API for clients to signal cancellation of a server action, perhaps via an additional return value on
startTransition
, perhaps as part of the transition APIs. If a transition is explicitly created, there should be a mechanism to cancel it.The text was updated successfully, but these errors were encountered: