-
Notifications
You must be signed in to change notification settings - Fork 153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: shorebird updater operation timed out during preview #2878
Comments
If the request is timing out, that is likely due to a network connectivity issue on your device. Is it possible your ISP/government is blocking https://cdn.shorebird.cloud? And, just to be sure, your device has internet connectivity? |
Hmm, we have at least one very large customer in Kazakhstan, so I would expect Shorebird to work. It is concerning that csn.shorebird.cloud is not reachable from your computer. Does traceroute or curl -I tell you any more? Here is from my machine:
|
I'm not sure what to say. It looks like the packets are routing through 2day.kz (which I presume is your ISP?) and then never successfully coming back out into cloudflare or other addresses that respond to traceroute packets. We're certainly not trying to block kazakhstan and I don't see any reported outages related to kazakhstan on Cloudflare, so I'm not quite sure where the disruption is coming from. |
The ISP I'm using is called Beeline. I'll contact them tomorrow. Another ISP I tried is called Telecom Community. |
The community post to cloudflare suggested that sometimes ISPs block all of cloudflare (or a range of cloudflare ip addresses) when trying to block a single (unrelated) site. You could also use
|
|
Are any of those ip addresses reachable via ping or traceroute? e.g. for me:
|
Here are the first 3 IPs from my
|
I'm not sure. That would suggest that you can reach the 3rd IP but not the first two. Which would mean that either cdn.shorebird.cloud is advertising the wrong IPs in your region, or something is blocking your connection to the first two. It's possible that cdn.shorebird.cloud would resolve to a different set of IPs from a different computer (e.g. that your computer is caching the resolution). You could try using a different DNS server e.g. 1.1.1.1 (cloudflare) or 8.8.8.8 (google) cdn.shorebird.cloud is hosted by cloudflare and the dns entries managed by cloudflare (dynamically per region I suspect). You could compare: Will show you the DNS response from Cloudflare's DNS host vs. Google's if you run it without an explicit "@host" it will just use your local machine/network DNS setup. e.g. on my machine:
That would tell you if somehow you're DNS cache is stale (and thus trying to connect to stale IPs is causing the issue). If they all 3 say the same IPs and they're all 3 providing partially-unreachable IPs, i would expect that the issue is with your ISP. Here are docs on dig if you're curious: https://www.ibm.com/docs/en/aix/7.1?topic=d-dig-command (it's just a command line DNS client useful for debugging possibly DNS-issues). |
They are all the same IPs:
Checking availability of some of them:
|
https://www.cloudflarestatus.com/ lists kazakhstan as "rerouted" and "partially rerouted", but I don't know what it's trying to communicate with those terms. I think the short answer is that we'd love to help, but don't currently have any alternative other than cloudflare, so if our cloudflare address is not reachable from your machine, unfortunately it won't be possible to preview from that machine. |
https://cdn.shorebird.dev/ is unreachable from my iPhone using cellular data (Safari and Brave browsers). Are users from Kazakhstan getting their app updates from Shorebird without issues? |
Sorry, that's my typo. It's cdn.shorebird.cloud (which should give you a 400 error) rather than cdn.shorebird.dev (which doesn't exist). cdn.shorebird.cloud is just the URL that is used to vend the cloud flare caching of patch artifacts. |
My team is considering to use code push in our Flutter app release process. Our app is one of the most popular in finance category in Kazakhstan. Are users from KZ getting their updates from Shorebird without issues? |
We've not done anything for our service that is specific to Kazakhstan. So what we're seeing here is seems likely to be cloudflare related. Cloudflare accounts for a sizable percentage of all internet traffic, so I would expect issues with cloudflare to be widespread though. From our side, the only options I can think of are to reach out to cloudflare, change providers, or wait. Maybe we could also see if we could try sharing a different cloudflare url, in case our specific URL was being blocked or is somehow misconfigured. 🤔 It seems unlikely we will be able to address any of these soon however. We're busy with some non-networking work at the moment. |
Ok. Thank you. It was an honor to investigate with you. Hopefully, we'll be able to use Shorebird soon. |
Hello, I also want to use CodePush, but I have encountered the same problem recently. I hope it will be solved soon. Thanks to the Shorebird team for their selfless dedication. |
@eq-devs what country are you located in? Is it the exact same error? |
Hello! I also having problems with requesting https://cdn.shorebird.cloud url.
My country is Kyrgyz Republic. Update: |
from Kazakhstan |
@bryanoltman this appears to be a widespread and critical issue in our region. |
Bryan is currently out of the office (and Felix and I are unfortunately quite busy with other issues atm). If I'm understanding correctly what is happening is that Kazakhstan ISP(s) are blocking some Cloudflare IPs, but not all so
Is there a site we can use for testing Kazakhstan reachability? e.g. https://ping.chinaz.com/cdn.shorebird.cloud is a tool we use for testing site-reachability from within China. |
The above is the result of testing with this tool. |
@urmatt is in Kyrgyzstan and they have the same issue, @eseidel These services indicate that |
My guess is that the operator has not intentionally blocked Shorebird CDN, so much as they've blocked a range of Cloudflare IP addresses, and our service happens to use some of those same entry-points. Cloudflare and Google (do not assign unique addresses for each service using them, rather they have a pool of addresses they use for most/all services). In attempting to block some other service that uses Cloudflare, the operator has also ended up blocking a variety of other services, including ours. Probably what we eventually need to do is to teach our tooling how to fallback to a separate CDN (e.g. our google services directly) if cloudflare is unreachable. |
Yes we need it |
Does this mean that all users of apps with shorebird are not getting updates if they are located in Kazakhstan, Kyrgyzstan and Russia? |
App ID: c68e2245-86ae-4859-bd1d-6b870ee9173b
Description
Shorebird preview shows an old version because updater operation timed out.
Steps To Reproduce
Expected Behavior
The patch is downloaded and the minor change is visible.
Additional Context
The text was updated successfully, but these errors were encountered: