inspector/.github
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 0e1bc1d402 fix(server): make the pinned lookup honor Node's all:true callback shape
Addresses the round-1 Copilot review.

- createPinnedAgent: Node's net.connect runs with autoSelectFamily on
  (Node >= 20), so it calls the lookup hook with `{ all: true }` and
  requires an ARRAY of `{ address, family }`. The scalar-only callback
  failed every hostname request with ERR_INVALID_IP_ADDRESS, so /fetch
  could only reach literal-IP targets. Both callback shapes are now
  supported. Reproduced against Node 22/26 before and after.
- Tests: cover the `{ all: true }` shape for IPv4 and IPv6, and add an
  end-to-end request through the agent over the production path
  (node-fetch -> http.Agent -> net.connect) using an unresolvable
  hostname, so the request can only succeed via the pinned IP. Verified
  these three fail without the fix. Replaced the `Function`-typed casts
  with a typed pinnedLookup() helper.
- CI: run the new server suite (.github/workflows/main.yml) and add a
  root `test-server` script, so this regression coverage is enforced.
- package-lock.json: sync the server workspace manifest mirror with the
  added @types/node and vitest devDependencies.
- index.ts: drop the `agent as any` cast and its eslint-disable — the
  node-fetch RequestInit already types `agent`, and tsc is clean without
  the suppression.
- Formatting: prettier-check now passes (it failed on the two new files).

Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-19 16:59:06 -04:00
..
ISSUE_TEMPLATE [Docs] Fix broken CONTRIBUTING.md links in GitHub templates 2025-12-08 16:50:43 +09:00
workflows fix(server): make the pinned lookup honor Node's all:true callback shape 2026-08-19 16:59:06 -04:00
dependabot.yml Enable Dependabot for GitHub Actions (#1048) 2026-02-04 06:26:13 -07:00
pull_request_template.md [Docs] Fix broken CONTRIBUTING.md links in GitHub templates 2025-12-08 16:50:43 +09:00