fix(http): stop unhandled rejections from the fetch cleanup path (#3566)

* fix(http): stop unhandled rejections from the fetch cleanup path

The request/body cleanup commands are fired as floating promises, and the
Rust side releases a resource only once: fetch_cancel_body is
resources_table.close(rid)?, and fetch_read_body also closes the rid at
end-of-body. So every release after the first rejects with BadResourceId
into a promise nobody is listening to.

Make dropBody idempotent and let both cleanup calls handle their own
rejection.

* chore: add changefile

* chore(http): rebuild api-iife.js
This commit is contained in:
Den Ilin
2026-09-03 21:00:34 +03:00
committed by GitHub
parent 845d8989cb
commit a21555ddd2
3 changed files with 17 additions and 6 deletions
@@ -0,0 +1,6 @@
---
"http": patch
"http-js": patch
---
Fix unhandled promise rejections on every `fetch` teardown: the request/body cleanup commands were fired as floating promises, and releasing an already-released resource rejects with `The resource id N is invalid.`. `dropBody` is now idempotent and both cleanup calls handle their own rejection.