diff --git a/.claude/skills/typescript-lsp/SKILL.md b/.claude/skills/typescript-lsp/SKILL.md index 803294d5f..31f864791 100644 --- a/.claude/skills/typescript-lsp/SKILL.md +++ b/.claude/skills/typescript-lsp/SKILL.md @@ -19,6 +19,9 @@ description: > `npm install` (see the `setup` skill) it is available via `npx` and uses the workspace-local `typescript` (6.x) compiler, matching CI exactly. +The server (6.x) requires Node.js >= 22.22.2, newer than the repository's +Node 20 minimum; on Node 20 `npm install` only warns, but the server isn't supported there. + ## Starting the server From the repo root: diff --git a/.github/workflows/bench-skill-rowbinary.yml b/.github/workflows/bench-skill-rowbinary.yml index e6640a320..b34a2bd88 100644 --- a/.github/workflows/bench-skill-rowbinary.yml +++ b/.github/workflows/bench-skill-rowbinary.yml @@ -64,8 +64,8 @@ jobs: grep -m1 'model name' /proc/cpuinfo || true # The server may still be starting; poll briefly so the version is captured. for _ in $(seq 1 30); do - chv=$(curl -s 'http://localhost:8123/?query=SELECT%20version()') - [ -n "$chv" ] && break + if chv=$(curl -sf 'http://localhost:8123/?query=SELECT%20version()') && [ -n "$chv" ]; then break; fi + chv= sleep 1 done echo "ClickHouse: ${chv:-}" diff --git a/packages/client-node/__tests__/integration/node_abort_queued_request.test.ts b/packages/client-node/__tests__/integration/node_abort_queued_request.test.ts index ee8133bdd..4a1f1669c 100644 --- a/packages/client-node/__tests__/integration/node_abort_queued_request.test.ts +++ b/packages/client-node/__tests__/integration/node_abort_queued_request.test.ts @@ -6,7 +6,7 @@ import type { ClickHouseClient } from "@clickhouse/client-common"; import type { ClickHouseClientConfigOptions } from "@clickhouse/client"; import type Stream from "stream"; -// The server answers "SELECT " after milliseconds. +// The server answers "SELECT " after milliseconds, capped at 5 seconds. describe("[Node.js] Aborting a request queued for a socket", () => { let server: http.Server | undefined; let client: ClickHouseClient | undefined; @@ -25,7 +25,8 @@ describe("[Node.js] Aborting a request queued for a socket", () => { let body = ""; req.on("data", (chunk) => (body += chunk)); req.on("end", () => { - const delay = Number(/SELECT (\d+)/.exec(body)?.[1] ?? 0); + const requested = Number(/SELECT (\d+)/.exec(body)?.[1] ?? 0); + const delay = requested <= 5000 ? requested : 5000; setTimeout(() => { res.write("Ok."); res.end();