Skip to content

helper: Bound internet checks so a DNS hang is not INTERNET_CHECK_FAIL - #4178

Draft
joaoantoniocardoso wants to merge 4 commits into
bluerobotics:masterfrom
joaoantoniocardoso:fix/helper-internet-check-timeout
Draft

helper: Bound internet checks so a DNS hang is not INTERNET_CHECK_FAIL#4178
joaoantoniocardoso wants to merge 4 commits into
bluerobotics:masterfrom
joaoantoniocardoso:fix/helper-internet-check-timeout

Conversation

@joaoantoniocardoso

@joaoantoniocardoso joaoantoniocardoso commented Aug 18, 2026

Copy link
Copy Markdown
Member

Summary

  • Helper waited for every website probe, including DNS lookups that ignore the 5s socket timeout. That latency matches the frontend's 10s Axios deadline, so a single lost UDP query to 8.8.8.8 showed INTERNET_CHECK_FAIL while ICMP still worked.
  • Internet checks now return within 4s (partial results if a name is still resolving), run off the event loop, and use HEAD. Service scans skip Zenoh 7117/7447. In-flight temporary_cache calls coalesce. The UI keeps the last verdict until three polls in a row fail.

Fixes #4176

Test plan

  • Open BlueOS with working internet: globe tooltip is online, notifications stay empty
  • GET /helper/latest/check_internet_access returns in well under 10s even if one hostname is slow to resolve
  • Helper logs no longer show 1s timeouts on Zenoh 7447
  • A single timed-out poll does not clear has_internet or raise INTERNET_CHECK_FAIL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: INTERNET_CHECK_FAIL 10s timeout despite working internet (slowest-probe wait = Axios deadline)

1 participant