fix(cloudflare): handle aborted response body in miniflare worker proxy - #1457
Merged
Conversation
Client disconnects mid-response were emitting an unhandled stream 'error' that killed the alchemy dev process. Swallow the abort on the body Readable so the proxy tears down the response instead. Co-authored-by: Cursor <cursoragent@cursor.com>
commit: |
…proxy Use a slow streaming worker and destroy connections on first body byte so the race reproduces reliably under Node, including on fast machines where early AbortController aborts often miss the pipe window. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
🚀 Website Preview DeployedYour website preview is ready! Preview URL: https://c6c43011-alchemy-website.alchemy-run.workers.dev This preview was built from commit d778276 🤖 This comment will be updated automatically when you push new commits to this PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
'error'listener on the Miniflare response body stream so a client disconnect mid-response destroys the Node response instead of crashing the process with an unhandled'error'event.alchemy devdeaths during aborted fetches (e.g. Playwright navigation/teardown).alchemy; fix lands inalchemy-async).Test plan
alchemy devwith a worker that returns a slow/streaming responseMade with Cursor