Expo Start takes ages

Please provide the following:

  1. SDK Version: “sdkVersion”: “35.0.0”
  2. Platforms(Android/iOS/web/all): all
  3. Global Expo-cli Version: 3.2.3
  4. Global Yarn Version: 1.19.0
  5. Global Node Version: 12.11.1

Since Yesterday 8th of October, Whenever i ‘expo start’ it takes at least 1 minute to Tunnel start, then whenever i scan the barcode on my ios, it shows the opening project screen and 'This is taking much longer than it should, You might want to check your internet connectivity" Putting in mind that i tried installing the latest version of expo-cli, yarn and nodejs
can’t seem to find any relevent solution to the problem on the internet
This problem is all over the place my colleagues and I are facing

Hey @khm56,

Have there been any changes to your workplace’s network? When running expo start on the latest cli version, it takes ~10 seconds for the tunnel to be active for me. You could also try downgrading to a prior version to see if that affects start-up time at all.

Cheers,
Adam

Hey @adamjnav,

Regarding the network, no changes that i know of, and I’m running in to this issue at home too so I dont think it’s a network issue (maybe network config issue our laptops), Tried downgrading but no luck with that.

Thanks
Khalid

Hmmm. Can you try running rm -rf .expo in your project’s directory and then starting the project with expo start -c to clear your cache?

same problem here. It takes a long time to start the tunnel after starting the metro bundler.

did you follow @adamjnav’s suggestion above and did it not help?

you can opt out of using the tunnel if you want by running expo start --lan or expo start --localhost. you can try manually setting up the tunnel using https://ngrok.com and see if that helps – this is what we do behind the scenes for you.

Hello, we have been facing the same issue here. We assume it’s an issue with the country we live in is blocking expo apis? (is this a DNS? ISP? issue?)
Also this includes using the Notifications.getExpoPushTokenAsync() to generate PushTokens, which is managed by expo apis. (please correct me if I am wrong?)
this always returns an “Unhandled promise rejection: Error: The request timed out”. we haven’t faced that issue until recently.
The only work around we have found for this is to use a VPN connection, one to run expo and another connection on the devices to get a push token as well.
Is there any way to resolve this or figure out who to talk to for this?

@adamjnav @notbrent This is also affecting ‘expo publish’ and 'expo login, whenever i use ‘expo publish’ it takes too long and then says “Client network socket disconnected before secure TLS connection was established” and “Fetching the user profile failed” (or even sometimes “getaddrinfo ENOTFOUND exp.host” even though our project isn’t ejected from expo). It then prompts me to log in to expo which i try but then again takes too long and then just says the same messages and exits. Same thing happens with ‘expo login’. Using a vpn fixes most of the issues but it’s not a really convenient workaround. It’s really affecting our workflow and slowing us down. It might be a problem with the region since khm56 and shorookoptimizekw and I are located in Kuwait.

Do you by any chance have different DNS settings when using a VPN vs. when not using a VPN? Are you using a proxy server?

No, we haven’t messed with any DNS settings and we’re not using a proxy server. Everything just stopped working as expected since last week.

I’m not suggesting you changed any DNS settings, but are DNS requests sent to the same DNS servers when you’re not using a VPN as when you are using a VPN?

@wodin I’m not sure about your question but I checked the case and the DNS servers are different while using VPN, and the without the VPN it is always the same one.

Ok. How long does it take to run nslookup expo.io and nslookup ngrok.com with and without the VPN active?

the response is immediate

Ok. I think it might help to use a packet sniffer like Wireshark to find out what part of the process is slow.