summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2022-03-29chore(wasm): Don't await on the argument to `handleWasmStreaming` (#14000)Andreu Botella
`handleWasmStreaming` is the function that provides the binding with the `fetch` API needed for `WebAssembly.instantiateStreaming()` and `WebAssembly.compileStreaming()`. When I implemented it in #11200, I thought V8 was calling these functions with the argument of the `WebAssembly` streaming functions, without doing any resolving, and so `handleWasmStreaming` awaits for the parameter to resolve. However, as discovered in https://github.com/denoland/deno/issues/13917#issuecomment-1065805565, V8 does in fact resolve the parameter if it's a promise (and handles rejections arising from that). This change removes the `async` IIFE inside `handleWasmStreaming`, letting initial errors be handled synchronously (which will however not throw synchronously from the `WebAssembly` namespace functions). Awaiting is still necessary for reading the bytes of the response, though, and so there is an `async` IIFE for that.
2022-03-28fix(ext/fetch): extend deprecated fetch() overload with `string | Request` ↵Nayeem Rahman
(#14134)
2022-03-25chore: forward v1.20.3 release commit to main (#14121)Luca Casonato
2022-03-25chore: update rusqlite (#14117)Rafael Ávila de Espíndola
2022-03-25fix(ext/ffi): enforce unstable check on ops (#14115)Luca Casonato
2022-03-25fix: deprecate URL as the first arg of fetch (#14113)Yoshiya Hinosawa
2022-03-25chore(ext): fix typo in ext/webgpu, ext/fetch (#14106)apeltop
2022-03-241.20.2Kitson Kelly
2022-03-23perf(http): avoid Set.has() when closing connection resource (#14085)Divy Srivastava
2022-03-23feat(unstable): add ref/unref to Listener (#13961)Yoshiya Hinosawa
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-23perf(http): avoid checking promise every request (#14079)Divy Srivastava
2022-03-22fix(ext/fetch): Connect async error stack with user code (#13899)Nayeem Rahman
2022-03-22feat: upgrade to swc_ecmascript 0.137.0 (#14067)David Sherret
2022-03-22fix(fetch): Fix uncaught rejection panic with ↵Andreu Botella
`WebAssembly.instantiateStreaming` (#13925) When an exception is thrown during the processing of streaming WebAssembly, `op_wasm_streaming_abort` is called. This op calls into V8, which synchronously rejects the promise and calls into the promise rejection handler, if applicable. But calling an op borrows the isolate's `JsRuntimeState` for the duration of the op, which means it is borrowed when V8 calls into `promise_reject_callback`, which tries to borrow it again, panicking. This change changes `op_wasm_streaming_abort` from an op to a binding (`Deno.core.abortWasmStreaming`). Although that binding must borrow the `JsRuntimeState` in order to access the `WasmStreamingResource` stored in the `OpTable`, it also takes ownership of that `WasmStreamingResource` instance, which means it can drop any borrows of the `JsRuntimeState` before calling into V8.
2022-03-21perf(http): avoid per header alloc (#14051)Aaron O'Mullan
2022-03-20cleanup(web, fetch): dedupe minesniff / "extract a MIME type" algorithm (#14044)Andreu Botella
Closes #14002
2022-03-20fix(ext/console): fix error with a Proxy of a Map (#14032)Jason
2022-03-19feat(ext/net): Deno.upgradeHttp handles unix connections (#13987)Bartek Iwańczuk
2022-03-19refactor: cleanup assert() & AssertionError definitions (#13859)Leo Kettmeir
2022-03-19chore(core,ext): minor JS optimisations (#13950)Aapo Alasuutari
2022-03-16v1.20.1Ryan Dahl
2022-03-17fix: cargo publish fails without absolute paths (#13993)Ryan Dahl
This reverts commit 4e3ed37037a2aa1edeac260dc3463a81d9cf9b88. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-16v1.20.0Ryan Dahl
2022-03-16feat(unstable): Add Deno.upgradeHttp API (#13618)Bert Belder
This commit adds "Deno.upgradeHttp" API, which allows to "hijack" connection and switch protocols, to eg. implement WebSocket required for Node compat. Co-authored-by: crowlkats <crowlkats@toaxl.com> Co-authored-by: Ryan Dahl <ry@tinyclouds.org> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-16perf(web): optimize Blob.text and Blob.arrayBuffer (#13981)Divy Srivastava
2022-03-16feat(ext/fetch): Allow Response status 101 (#13969)Ryan Dahl
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-16perf(web): use DOMString for BlobParts (#13979)Divy Srivastava
2022-03-16chore(ext/webidl): change spec link (#13960)木杉
2022-03-16feat(ops): optional OpState (#13954)Aaron O'Mullan
2022-03-16perf(web): Optimize `TextDecoder` by adding a new `U16String` type (#13923)Andreu Botella
2022-03-15cleanup(core): OpPair => OpDecl (#13952)Aaron O'Mullan
2022-03-14fix: upgrade reqwest to 0.11.10 (#13951)wspsxing
2022-03-14feat(ops): custom arity (#13949)Aaron O'Mullan
Also cleanup & drop ignored wildcard op-args
2022-03-14feat(ext/web): Add `AbortSignal.timeout()` (#13687)Andreu Botella
2022-03-14fix(core): Don't override structured clone error messages from V8 (#13942)Andreu Botella
In the implementation of structured serialization in `Deno.core.serialize`, whenever there is a serialization error, an exception will be thrown with the message "Failed to serialize response", even though V8 provides a message to use in such cases. This change instead throws an exception with the V8-provided message, if there is one.
2022-03-14feat(core): codegen ops (#13861)Divy Srivastava
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14chore: improve build times for `ext/` changes (#13927)Divy Srivastava
2022-03-11fix(ext/crypto): handle JWK import with "use" (#13912)Filip Skokan
2022-03-11fix(ext/crypto): use EcKeyImportParams dictionary (#13894)Filip Skokan
2022-03-10v1.19.3Yoshiya Hinosawa
2022-03-09chore(ext/crypto): remove old todos (#13887)Divy Srivastava
2022-03-07chore: bump deno_http to 0.33.0 (#13867)Satya Rohith
2022-03-07fix(ext/http): drop content-length header on compression (#13866)Satya Rohith
2022-03-07chore: bump deno_http to 0.32.0 (#13850)Satya Rohith
2022-03-05perf(ext/web): optimize atob/btoa (#13841)Aaron O'Mullan
Follow up to #13839, optimizing `base64_roundtrip` ~20x (~125ms => ~6.5ms)
2022-03-05feat(ext/net): Use socket2 crate to create TcpListener (#13808)Gianluca Oldani
2022-03-05chore: update deps (#13821)Satya Rohith
2022-03-04feat(net): add Deno.UnixConn interface (#13787)Bartek Iwańczuk
2022-03-04feat(ext/http): auto-compression of fixed response bodies (#13769)Kitson Kelly
Co-authored-by: Ryan Dahl <ry@tinyclouds.org> Co-authored-by: Satya Rohith <me@satyarohith.com> Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2022-03-03chore: bump crate version for 1.19.2 (#13824)Satya Rohith