feat: status check for internet connection #552
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently the code is ready for merge, we need to decide what and how should we handle tracking internet connection updates.
The approach I have implemented below is,
Open Questions that need discussion:
The advantages of the first is that it's cheap and we can ping dozens of servers as once, to ensure we have little to no false positive. But ICMP doesn't represent that webservers are also working, and in certain cases it may not reflect the applications ability to connect to internet.
The advantages of the second is even though it's heavier but we can in general verify that internet over TCP/HTTP is definitely available but will have the risk of not representing availability of registries.
The advantages third is it's very accurate, but it's also comes with the risk of causing rate limiting over registries or over burdening the registries(imagine if someone adds their own registries without realizing they might be bombarded by requests just for connectivity check).