Skip to content

nightly: fix: relax Hex connectivity timeout (#858)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Aug 08:35
423be25
Increase the `hex.pm` DNS lookup timeout in `Forge.Internet` from 250 ms
to a bounded multi-second value (5 seconds), retaining the existing
boolean contract and avoiding changes to the two production consumers in
`Engine.Build.Project` and `Engine.Mix`. Expert gates Hex and dependency
installation on `Forge.Internet.connected_to_internet?/0`, which
resolves `hex.pm` with a 250 ms timeout.

When `hex.pm` resolves successfully, `connected_to_internet?/0` calls
`:inet_res.getbyname/3` with the 5-second bound and returns `true`,
allowing the existing dependency setup path to run; When DNS returns an
error such as `:timeout` or `:nxdomain`, `connected_to_internet?/0`
returns `false` without raising, preserving the existing offline warning
behavior.

Fixes #538

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>