feedback7: asset downloads on a Node that cannot proxy fetch() warn and go direct instead of stopping (follow-up to PR #289)
- With HTTP(S)_PROXY set, Node 22.0–22.20 / 23 cannot route the built-in fetch through it; the port of #289 made fetch-assets (and so setup) fail there. Before 0.2.2 those downloads went direct, and a proxy variable left over from another tool must not stop a player's first start: restartForEnvProxy now logs the reason and returns false (go on in this process), guardDefaultFetch warns once and fetches. A Node that can proxy (≥ 22.21 / ≥ 24) still restarts once with NODE_USE_ENV_PROXY=1 and never fetches around the proxy. - restartForEnvProxy takes an injectable `version` for the test. Tests: assets-env-proxy 9 / 9 (a new case for the old-Node path).
This commit is contained in:
1 parent
deff184c9f
commit
c8b8df6581
4 files changed
+46
-17
No files matched your search
@@ -9,7 +9,8 @@
|
||||
// first (when enabled), then the original URL and jsDelivr fallback. The proxy gets one short attempt
|
||||
// per file and shares a run-wide circuit breaker with the index/font fetchers.
|
||||
// - HTTP(S)_PROXY: the default fetch uses it only when this process was started
|
||||
// with NODE_USE_ENV_PROXY=1 (Node >=22.21 or >=24). Otherwise it fails closed
|
||||
// with NODE_USE_ENV_PROXY=1 (Node >=22.21 or >=24); on such a Node started
|
||||
// without it, it fails closed; an older Node warns and connects directly
|
||||
// (tools/assets/env-proxy.mjs). Pass fetchImpl to bypass that, as tests do.
|
||||
// - Idempotent: an existing file is kept when its size matches the ledger entry
|
||||
// of a previous download or the expected byte count from research, or (when
|
||||
|
||||
Reference in new issue
Block a user