In Expo 52, the metro /reload endpoint has been moved to a new location. As a consequence we couldn't perform JS reloads which resulted in the app being stuck in "reloading" state.
This PR updates the way we trigger reload action. A while ago, we switched the mechanism for triggering devMenu to use /message endpoint. This endpoint is also capable of handling reload command. Here, we are swapping out the reload implementation to use the /message websocket endpoint to deliver it. This method is more portable and work across older version while also being supported by expo SDK 52 (given https://github.com/expo/expo/issues/32399 is published)
Fixes #664
How Has This Been Tested:
Use reloads and dev menu across different projects, specifically older ones like RN 73, expo-go and on Expo 52 (not yet added here as test project)
In Expo 52, the metro /reload endpoint has been moved to a new location. As a consequence we couldn't perform JS reloads which resulted in the app being stuck in "reloading" state.
This PR updates the way we trigger reload action. A while ago, we switched the mechanism for triggering devMenu to use /message endpoint. This endpoint is also capable of handling reload command. Here, we are swapping out the reload implementation to use the /message websocket endpoint to deliver it. This method is more portable and work across older version while also being supported by expo SDK 52 (given https://github.com/expo/expo/issues/32399 is published)
Fixes #664
How Has This Been Tested: