1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 01:58:05 -05:00
Commit graph

1043 commits

Author SHA1 Message Date
Satya Rohith
5b4d328624
remove stale logs
Signed-off-by: Satya Rohith <me@satyarohith.com>
2024-10-25 14:40:17 +05:30
Satya Rohith
85f39372d1
Revert "remove npm agent code"
This reverts commit 7cf82b7af4.
2024-10-25 14:39:43 +05:30
Satya Rohith
7cf82b7af4
remove npm agent code
Signed-off-by: Satya Rohith <me@satyarohith.com>
2024-10-25 14:21:58 +05:30
Yoshiya Hinosawa
8e55dab349
avoid startTls workaround 2024-10-25 17:06:01 +09:00
Yoshiya Hinosawa
2b2d9d9be2
add comment 2024-10-25 15:18:19 +09:00
Yoshiya Hinosawa
91904db2a7
remove unnecessary if check 2024-10-25 15:18:03 +09:00
Yoshiya Hinosawa
795c093135
fmt 2024-10-25 14:47:35 +09:00
Yoshiya Hinosawa
9c09c1d889
workaround for https request from make-fetch-happen (@npmcli/agent) 2024-10-25 14:43:54 +09:00
Yoshiya Hinosawa
d777191e33
remove workaround using linsterCount as it didn't work.
Instead use workaround reading callstack in `connect()` call and
pause the socket when it's from @npmcli/agent. This prevents the
undesirable initial read of the socket.
2024-10-25 13:06:28 +09:00
Yoshiya Hinosawa
8ece841314
support once listener 2024-10-25 01:12:59 +09:00
Yoshiya Hinosawa
c47898e2b1
A potential fix for @npmcli/agent issue
If there's no listener for reading events to socket, then
do not eagerly start reading the TcpConn.
2024-10-25 00:17:16 +09:00
Yoshiya Hinosawa
c1054b88b2
Merge branch 'main' into support_create_connection 2024-10-24 14:36:55 +09:00
Nathan Whitaker
27df42f659
fix(ext/node): cancel pending ipc writes on channel close (#26504)
Fixes the issue described in
https://github.com/denoland/deno/issues/23882#issuecomment-2423316362.

The parent was starting to send a message right before the process would
exit, and the channel closed in the middle of the write. Unlike with
reads, we weren't cancelling the pending writes, which resulted in a
`Broken pipe` error surfacing to the user.
2024-10-24 04:50:35 +00:00
Satya Rohith
92ed4d38db
fix(node:tls): set TLSSocket.alpnProtocol for client connections (#26476)
Towards https://github.com/denoland/deno/issues/26127
2024-10-23 07:47:43 +00:00
Yoshiya Hinosawa
285635daa6
fix(ext/node): map ERROR_INVALID_NAME to ENOENT on windows (#26475)
In libuv on windows, `ERROR_INVALID_NAME` is mapped to `ENOENT`, but it
is mapped to `EINVAL` in our compat implementation, which causes the
issue #24899.

ref:
d4ab6fbba4/src/win/error.c (L138)

closes #24899 
closes #26411
closes #23635
closes #21165
closes #19067
2024-10-23 11:28:04 +09:00
jiang1997
afb33b3c25
fix(ext/node): use primordials in ext/node/polyfills/https.ts (#26323)
Towards https://github.com/denoland/deno/issues/24236
2024-10-21 09:50:53 +02:00
Satya Rohith
f62bb6ff1b
Merge branch 'main' into support_create_connection 2024-10-20 05:52:02 +05:30
Divy Srivastava
0710af034f
perf: avoid multiple calls to runMicrotask (#26378)
Improves HTTP throughput by 8-9k rps on Linux:

this patch
```
Requests/sec: 145001.69
Transfer/sec:     20.74MB
```

main
```
Requests/sec: 137866.61
Transfer/sec:     19.72MB
```

The improvements comes from the reduced number of calls to
`op_run_microtask` per request. Returning `true` from a macrotask
callback already calls `op_run_microtask` so the extra call was
redundant.

Here's `--strace-ops` output for a single request:

main
```
[     4.667] op_http_wait                                       : CompletedAsync Async
[     4.667] op_run_microtasks                                  : Dispatched Slow
[     4.668] op_http_try_wait                                   : Dispatched Slow
[     4.668] op_http_try_wait                                   : Completed Slow
[     4.668] op_http_wait                                       : Dispatched Async
[     4.668] op_http_set_response_header                        : Dispatched Slow
[     4.668] op_http_set_response_header                        : Completed Slow
[     4.669] op_http_set_response_body_text                     : Dispatched Slow
[     4.669] op_http_set_response_body_text                     : Completed Slow
[     4.669] op_run_microtasks                                  : Completed Slow
[     4.669] op_has_tick_scheduled                              : Dispatched Slow
[     4.669] op_has_tick_scheduled                              : Completed Slow
[     4.669] op_run_microtasks                                  : Dispatched Slow
[     4.669] op_run_microtasks                                  : Completed Slow
[     4.669] op_run_microtasks                                  : Dispatched Slow
[     4.669] op_run_microtasks                                  : Completed Slow
```

this pr
```
[     3.726] op_http_wait                                       : CompletedAsync Async
[     3.727] op_run_microtasks                                  : Dispatched Slow
[     3.727] op_http_try_wait                                   : Dispatched Slow
[     3.727] op_http_try_wait                                   : Completed Slow
[     3.727] op_http_wait                                       : Dispatched Async
[     3.727] op_http_set_response_header                        : Dispatched Slow
[     3.728] op_http_set_response_header                        : Completed Slow
[     3.728] op_http_set_response_body_text                     : Dispatched Slow
[     3.728] op_http_set_response_body_text                     : Completed Slow
[     3.728] op_run_microtasks                                  : Completed Slow
[     3.728] op_run_microtasks                                  : Dispatched Slow
[     3.728] op_run_microtasks                                  : Completed Slow
```
2024-10-19 08:42:59 +05:30
Leo Kettmeir
6c4ef11f04
refactor(ext/fetch): use concrete error types (#26220) 2024-10-19 01:20:58 +00:00
Nathan Whitaker
d48434e91f
fix(ext/node): stub HTTPParser internal binding (#26401)
Fixes https://github.com/denoland/deno/issues/26394.
2024-10-18 21:39:32 +00:00
Nathan Whitaker
1bccf45ecb
fix(ext/node): properly map reparse point error in readlink (#26375) 2024-10-18 10:11:06 -07:00
Satya Rohith
f32d070c12
enable websocket tests 2024-10-18 16:18:15 +05:30
Yoshiya Hinosawa
765c481cb8
Merge branch 'main' into support_create_connection 2024-10-18 16:17:15 +09:00
denobot
3ae10a01e0
chore: forward v2.0.2 release commit to main (#26376)
This is the release commit being forwarded back to main for 2.0.2

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-18 03:12:49 +02:00
Bartek Iwańczuk
8f3eb9d0e7
fix(ext/node): add null check for kStreamBaseField (#26368)
It's not guaranteed that `kStreamBaseField` is not undefined, so
added a check for it.

Closes https://github.com/denoland/deno/issues/26363
2024-10-17 22:57:05 +00:00
Nathan Whitaker
9fde5cb5e0
fix(node/fs): copyFile with COPYFILE_EXCL should not throw if the destination doesn't exist (#26360)
Fixes #26313.

We were checking for the NotFound error, but still calling the callback
with the error / throwing.
2024-10-17 19:51:15 +00:00
Satya Rohith
996eec1276
remove stale code 2024-10-18 00:08:14 +05:30
Satya Rohith
a3c6964bd9
fix flow control 2024-10-17 23:44:16 +05:30
Satya Rohith
8c0f6b02c2
chore: make race condition more visible by removing op_node_http_wait_for_connection 2024-10-17 20:53:49 +05:30
Yoshiya Hinosawa
d6af2c918c
Merge branch 'main' into support_create_connection
Signed-off-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-10-17 22:18:36 +09:00
Yoshiya Hinosawa
781eb00dfe
fix race condition of _bodyWriter creation and end() call 2024-10-17 22:12:07 +09:00
Nathan Whitaker
a61ba3c699
fix(net): don't try to set nodelay on upgrade streams (#26342)
Fixes https://github.com/denoland/deno/issues/26341.

We try to call `op_set_nodelay` on an `UpgradeStream`, which doesn't
support that operation.
2024-10-17 03:56:57 +00:00
Yoshiya Hinosawa
33a852ea2b
fix lint errors 2024-10-17 12:33:11 +09:00
Yoshiya Hinosawa
50e66dacfa
fmt 2024-10-17 12:23:04 +09:00
Yoshiya Hinosawa
4915f342b0
remove debugs 2024-10-17 12:15:27 +09:00
Yoshiya Hinosawa
16be0202ca
Merge branch 'main' into support_create_connection
Signed-off-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-10-17 12:00:57 +09:00
Nathan Whitaker
167f674c7c
fix: don't warn on ignored signals on windows (#26332)
Closes #26183.

The warnings are super noisy and not actionable for the user
2024-10-16 19:58:11 -07:00
Nathan Whitaker
458d6278d2
fix(node/http): normalize header names in ServerResponse (#26339)
Fixes https://github.com/denoland/deno/issues/26115.

We weren't normalizing the headers to lower case, so code that attempted
to delete the `Content-Length` header (but used a different case) wasn't
actually removing the header.
2024-10-17 00:42:15 +00:00
denobot
3385d1252e
chore: forward v2.0.1 release commit to main (#26338)
This is the release commit being forwarded back to main for 2.0.1

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-10-16 23:48:42 +00:00
Satya Rohith
be6a1baa06
Merge remote-tracking branch 'upstream/main' into support_create_connection 2024-10-17 01:32:10 +05:30
Nathan Whitaker
f7dba52133
fix(child_process): map node --no-warnings flag to --quiet (#26288)
Closes https://github.com/denoland/deno/issues/25899
2024-10-16 18:25:25 +00:00
Yoshiya Hinosawa
d59599fc18
fix(ext/node): fix dns.lookup result ordering (#26264)
partially unblocks #25470

This PR aligns the resolution of `localhost` hostname to Node.js
behavior.

In Node.js `dns.lookup("localhost", (_, addr) => console.log(addr))`
prints ipv6 address `::1`, but it prints ipv4 address `127.0.0.1` in
Deno. That difference causes some errors in the work of enabling
`createConnection` option in `http.request` (#25470). This PR fixes the
issue by aligning `dns.lookup` behavior to Node.js.

This PR also changes the following behaviors (resolving TODOs):
- `http.createServer` now listens on ipv6 address `[::]` by default on
linux/mac
- `net.createServer` now listens on ipv6 address `[::]` by default on
linux/mac

These changes are also alignments to Node.js behaviors.
2024-10-16 20:58:44 +09:00
Divy Srivastava
21fa953f32
fix(ext/node): timingSafeEqual account for AB byteOffset (#26292)
Fixes https://github.com/denoland/deno/issues/26276
2024-10-16 14:27:28 +05:30
Kenta Moriuchi
7211028f1e
fix(ext/node): use primordials in ext/node/polyfills/internal/buffer.mjs (#24993)
Towards #24236
2024-10-15 20:32:27 +02:00
Toby Ealden
c5a7f98d82
fix(ext/node): handle http2 server ending stream (#26235)
Closes #24845
2024-10-15 23:35:10 +05:30
Satya Rohith
881fe46d3f
fix double request initiation 2024-10-15 16:46:09 +05:30
Divy Srivastava
c7153838ec
fix(ext/node): implement TCP.setNoDelay (#26263)
Fixes https://github.com/denoland/deno/issues/26177

The significant delay was caused by Nagel's algorithm + delayed ACKs in
Linux kernels. Here's the [kernel
patch](https://lwn.net/Articles/502585/) which added 40ms
`tcp_default_delack_min`

```
$ deno run -A pg-bench.mjs # main
Tue Oct 15 2024 12:27:22 GMT+0530 (India Standard Time): 42ms

$ target/release/deno run -A pg-bench.mjs # this patch
Tue Oct 15 2024 12:28:02 GMT+0530 (India Standard Time): 1ms
```

```js
import { Buffer } from "node:buffer";

import pg from 'pg'
const { Client } = pg
const client = new Client({
    connectionString: 'postgresql://postgres:postgres@127.0.0.1:5432/postgres'
})
await client.connect()

async function fetch() {
    const startPerf = performance.now();
    const res = await client.query(`select
        $1::int as int,
        $2 as string,
        $3::timestamp with time zone as timestamp,
        $4 as null,
        $5::bool as boolean,
        $6::bytea as bytea,
        $7::jsonb as json
      `, [
        1337,
        'wat',
        new Date().toISOString(),
        null,
        false,
        Buffer.from('awesome'),
        JSON.stringify([{ some: 'json' }, { array: 'object' }])
    ])
    console.log(`${new Date()}: ${Math.round(performance.now() - startPerf)}ms`)
}

for(;;) await fetch();
```
2024-10-15 14:47:12 +05:30
Satya Rohith
d19c5a73e1
wip 2024-10-14 19:28:59 +05:30
Satya Rohith
3c9ac413c7
https post request work 2024-10-14 19:28:53 +05:30
Divy Srivastava
dfbf03eee7
perf: use fast calls for microtask ops (#26236)
Updates deno_core to 0.312.0
2024-10-14 12:31:51 +00:00