• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

decentraland / social-service-ea / 28526773969

01 Jul 2026 02:56PM UTC coverage: 90.35% (-0.1%) from 90.449%
28526773969

Pull #425

github

LautaroPetaccio
fix: give outbound HTTP a timeout + make catalyst/registry failures observable

Undici (native fetch) applies no request timeout unless one is configured, so a stalled
upstream (catalyst / registry / archipelago) could pin a keep-alive socket and block the caller
for minutes. Transient failures were also largely invisible (the retrier was silent; the
registry threw without logging).

- components: build the fetch component with a timeout (HTTP_FETCH_TIMEOUT_MS, default 10s) and
  idempotent retries (HTTP_FETCH_ATTEMPTS, default 3) — fail fast instead of multi-minute hangs.
- components: give the catalyst client a dedicated fetcher with a single attempt (attempts: 1).
  It already runs its own retry that rotates across catalyst servers on each attempt, so the
  shared fetcher's per-host retries would otherwise multiply attempts (rotation x per-host
  retries, up to ~9 requests); rotation is now the single retry layer for catalyst.
- retrier: add an optional onRetry hook so callers can log transient failures (previously silent).
- catalyst-client: take `logs`; log each retried attempt (warn) and the final failure (error).
- registry: route getProfiles/getProfile through one fetchProfilesFromRegistry helper that logs
  the failure (network or non-ok) at the source before rethrowing.

Build, lint and full unit suite (106 suites / 1615 tests) green.
Pull Request #425: fix: give outbound HTTP a timeout + make catalyst/registry failures observable

2291 of 2685 branches covered (85.33%)

Branch coverage included in aggregate %.

14 of 20 new or added lines in 4 files covered. (70.0%)

5761 of 6227 relevant lines covered (92.52%)

79.39 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/components.ts


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc