fix(firms): retry over IPv4 when every address fails to connect

Node's network-family auto-selection gives each resolved address a short
attempt timeout. On hosts where IPv6 is unreachable, a slow IPv4 handshake
is abandoned for the IPv6 address, which fails at once, and the request
reports only `fetch failed`. Retry such failures once with a single IPv4
connection within the same deadline, and log the per-address connection
errors (never the keyed URL). Node 26 wraps the AggregateError one level
deeper, so both shapes are recognised.

Fixes #68
This commit is contained in:
Jeff Blakely committed 2026-10-12 11:53:33 -04:00
1 parent 8b8ccc9a81
commit 166aef58db
4 files changed
+245 -6

No files matched your search

+5
View File
@@ -1,5 +1,10 @@
# Changelog
- FIRMS fire data loads on hosts where IPv6 is unreachable and IPv4 is slow to
connect: a request whose every address fails to connect retries once over
IPv4, and FIRMS warnings name the underlying connection errors instead of
only `fetch failed`.
- Treat explicitly current, complete empty vessel coverage as a successful update,
clearing obsolete contacts while retaining stale or incomplete snapshots.