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

Port is hard coded to 8081 on iOS, Android templates #9145

Open
jdmarshall opened this Issue Aug 1, 2016 · 36 comments

Comments

@jdmarshall

jdmarshall commented Aug 1, 2016

The documentation on working around port conflict issues is no longer valid

https://facebook.github.io/react-native/docs/troubleshooting.html

Mentions the command line and the URL in AppDelegate.m (which has changed to a function call now)
but does not mention that

node_modules/react-native/React/React.xcodeproj/project.pbxproj

has 8081 hard-coded

Also, to be perfectly blunt, telling people to kill their virus scanner is negligent behavior. We need a solution that doesn't involve asking people to turn off safety features their organization mandated that they use. Especially when you have a company name attached to that advice.

@hramos

This comment has been minimized.

Show comment
Hide comment
@hramos

hramos Aug 1, 2016

Contributor

Terminating the process that is using the port is one alternative that is provided, followed with instructions to use a different port which would be a better solution.

Can you edit https://github.com/facebook/react-native/blob/master/docs/Troubleshooting.md with the latest instructions and submit a PR?

Contributor

hramos commented Aug 1, 2016

Terminating the process that is using the port is one alternative that is provided, followed with instructions to use a different port which would be a better solution.

Can you edit https://github.com/facebook/react-native/blob/master/docs/Troubleshooting.md with the latest instructions and submit a PR?

@jdmarshall

This comment has been minimized.

Show comment
Hide comment
@jdmarshall

jdmarshall Aug 1, 2016

I can't, because I can't get it to work. Short of searching the entire node_modules directory for instances of 8081 and changing them, because there are new spots that were hard coded after these instructions were written, and there is no obvious way to override them

jdmarshall commented Aug 1, 2016

I can't, because I can't get it to work. Short of searching the entire node_modules directory for instances of 8081 and changing them, because there are new spots that were hard coded after these instructions were written, and there is no obvious way to override them

@jdmarshall

This comment has been minimized.

Show comment
Hide comment
@jdmarshall

jdmarshall Aug 1, 2016

react-native/local-cli/server/server.js

Takes an override, but at least most of these below seem to ignore it:

react-native/React/Base/RCTBundleURLProvider.m
react-native/Libraries/WebSocket/RCTWebSocketExecutor.m
react-native/React/React.xcodeproj/project.pbxproj

The others I could probably sort out, despite not being an Objective C programmer, but the last one seems to be new and I don't have the foggiest how to pass in the port as a parameter:

react-native/React/React.xcodeproj/project.pbxproj

shellScript = "if nc -w 5 -z localhost 8081 ; then...

jdmarshall commented Aug 1, 2016

react-native/local-cli/server/server.js

Takes an override, but at least most of these below seem to ignore it:

react-native/React/Base/RCTBundleURLProvider.m
react-native/Libraries/WebSocket/RCTWebSocketExecutor.m
react-native/React/React.xcodeproj/project.pbxproj

The others I could probably sort out, despite not being an Objective C programmer, but the last one seems to be new and I don't have the foggiest how to pass in the port as a parameter:

react-native/React/React.xcodeproj/project.pbxproj

shellScript = "if nc -w 5 -z localhost 8081 ; then...

@perkola

This comment has been minimized.

Show comment
Hide comment
@perkola

perkola Aug 2, 2016

These files below also seem to have port 8081 hard-coded in some places.

react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java
react-native/packager/react-packager/src/Server/__tests__/Server-test.js
react-native/local-cli/util/isPackagerRunning.js
react-native/Libraries/Image/__tests__/resolveAssetSource-test.js

perkola commented Aug 2, 2016

These files below also seem to have port 8081 hard-coded in some places.

react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java
react-native/packager/react-packager/src/Server/__tests__/Server-test.js
react-native/local-cli/util/isPackagerRunning.js
react-native/Libraries/Image/__tests__/resolveAssetSource-test.js

@hramos hramos added the Documentation label Aug 2, 2016

@hramos hramos self-assigned this Aug 2, 2016

@perkola

This comment has been minimized.

Show comment
Hide comment
@perkola

perkola Aug 3, 2016

Does this classify as a bug? Or how do i set a custom port that actually works?

perkola commented Aug 3, 2016

Does this classify as a bug? Or how do i set a custom port that actually works?

@mkonicek mkonicek closed this Aug 3, 2016

@mkonicek mkonicek reopened this Aug 3, 2016

@perkola

This comment has been minimized.

Show comment
Hide comment
@perkola

perkola Aug 4, 2016

Bump. This seems to be a problem with Android as well. Starting the packager on a different port with react-native start --port 8082 worked on v.0.26.* but no longer works on v.0.30.0.

perkola commented Aug 4, 2016

Bump. This seems to be a problem with Android as well. Starting the packager on a different port with react-native start --port 8082 worked on v.0.26.* but no longer works on v.0.30.0.

@MichaelCereda

This comment has been minimized.

Show comment
Hide comment
@MichaelCereda

MichaelCereda Oct 31, 2016

This bug should be treated with with high priority, port 8081 is used by some process like McAfee.
Changing the default port should be easy and painless.

MichaelCereda commented Oct 31, 2016

This bug should be treated with with high priority, port 8081 is used by some process like McAfee.
Changing the default port should be easy and painless.

@satya164

This comment has been minimized.

Show comment
Hide comment
@satya164

satya164 Oct 31, 2016

Collaborator

@MichaelCereda If this is a high priority issue for you, consider sending a PR to fix it.

Collaborator

satya164 commented Oct 31, 2016

@MichaelCereda If this is a high priority issue for you, consider sending a PR to fix it.

@jdmarshall

This comment has been minimized.

Show comment
Hide comment
@jdmarshall

jdmarshall Oct 31, 2016

I have some deep philosophical problems with suggesting that a feature that mostly affects new users should be fixed in a PR by those new users.

By all means, let's get esoteric feature requests to file their own PRs. But it comes off as flippant when it's a feature brand new users run into before they even decide if they want to be part of the ecosystem.

(It's especially grating when that bug is a port conflict. Is this 1996 or 2016?)

jdmarshall commented Oct 31, 2016

I have some deep philosophical problems with suggesting that a feature that mostly affects new users should be fixed in a PR by those new users.

By all means, let's get esoteric feature requests to file their own PRs. But it comes off as flippant when it's a feature brand new users run into before they even decide if they want to be part of the ecosystem.

(It's especially grating when that bug is a port conflict. Is this 1996 or 2016?)

@MichaelCereda

This comment has been minimized.

Show comment
Hide comment
@MichaelCereda

MichaelCereda Nov 1, 2016

By now the fastest solution is to kill the process (in my case McAfee) and face the web like a real man.
I always find interesting those type of comments because I have hard time understand if they are a sort of life coaching aimed at the self improvement or mere trolling.

As @jdmarshall said, I think that is an high priority fix because it discourages new users to adopt react-native that is a framework that I personally love.
Submitting a PR it's possible but at the same time would require centralize the port number under one configuration file., the problem with this approach is that RN currently uses 3 different environments that should in many ways be independent from external files (that's why the port number has always been hard-coded in at least 2 places).
The only problem is my opinion that the port RN is using is the 8081 that is one of the most common ever and the risk of conflict is high.
I'll try to find a solution but suggestions from the team will be highly appreciated.

MichaelCereda commented Nov 1, 2016

By now the fastest solution is to kill the process (in my case McAfee) and face the web like a real man.
I always find interesting those type of comments because I have hard time understand if they are a sort of life coaching aimed at the self improvement or mere trolling.

As @jdmarshall said, I think that is an high priority fix because it discourages new users to adopt react-native that is a framework that I personally love.
Submitting a PR it's possible but at the same time would require centralize the port number under one configuration file., the problem with this approach is that RN currently uses 3 different environments that should in many ways be independent from external files (that's why the port number has always been hard-coded in at least 2 places).
The only problem is my opinion that the port RN is using is the 8081 that is one of the most common ever and the risk of conflict is high.
I'll try to find a solution but suggestions from the team will be highly appreciated.

@hramos hramos removed the Documentation label Nov 1, 2016

@hramos

This comment has been minimized.

Show comment
Hide comment
@hramos

hramos Nov 1, 2016

Contributor

I was one of the people who suggested opening a PR back in August. I did not mean any ill intent with that suggestion. Certain small issues related to the documentation can be addressed faster by editing the file that contains incorrect information. As it happens, in this case, this may not actually be a documentation issue as I first suspected.

Let's see if we can agree on what the issue is here. There are at least two places where the port needs to be configured: the packager, and a client app (iOS or Android, or both).

The instructions for changing the port on the packager seem quite clear and I'd be surprised if the packager is ignoring this flag. So that leaves each of the platforms currently supported by React Native:

[x] Packager
[ ] iOS
[ ] Android

According to @jdmarshall, the RN template in iOS has the port hard coded to 8081. @perkola claims that the same is the case in Android. Can you both confirm that is the case? This will help me route the issue to the right people and/or get work started on a PR.

Contributor

hramos commented Nov 1, 2016

I was one of the people who suggested opening a PR back in August. I did not mean any ill intent with that suggestion. Certain small issues related to the documentation can be addressed faster by editing the file that contains incorrect information. As it happens, in this case, this may not actually be a documentation issue as I first suspected.

Let's see if we can agree on what the issue is here. There are at least two places where the port needs to be configured: the packager, and a client app (iOS or Android, or both).

The instructions for changing the port on the packager seem quite clear and I'd be surprised if the packager is ignoring this flag. So that leaves each of the platforms currently supported by React Native:

[x] Packager
[ ] iOS
[ ] Android

According to @jdmarshall, the RN template in iOS has the port hard coded to 8081. @perkola claims that the same is the case in Android. Can you both confirm that is the case? This will help me route the issue to the right people and/or get work started on a PR.

@satya164

This comment has been minimized.

Show comment
Hide comment
@satya164

satya164 Nov 1, 2016

Collaborator

I have some deep philosophical problems with suggesting that a feature that mostly affects new users should be fixed in a PR by those new users.

I hope you understand that there are 790 issues filed in the repo right now. Every one of them is important to the user filed them, and they want to get it fixed as soon as possible.

If I'm working on the code, which issues do you think I'll fix first? They will be the ones that affect me. It's not because I don't care about this issue, it's because their are higher priority bugs for me which affect me in production.

This is an open source project and the best part is that we can fix things ourselves without having to wait for the core team to prioritise it. And you're by no means a new user since you've filed the issue since 3 months back.

Collaborator

satya164 commented Nov 1, 2016

I have some deep philosophical problems with suggesting that a feature that mostly affects new users should be fixed in a PR by those new users.

I hope you understand that there are 790 issues filed in the repo right now. Every one of them is important to the user filed them, and they want to get it fixed as soon as possible.

If I'm working on the code, which issues do you think I'll fix first? They will be the ones that affect me. It's not because I don't care about this issue, it's because their are higher priority bugs for me which affect me in production.

This is an open source project and the best part is that we can fix things ourselves without having to wait for the core team to prioritise it. And you're by no means a new user since you've filed the issue since 3 months back.

@hramos hramos changed the title from Documentation for changing default port no longer works to Port is hard coded on iOS, Android templates Apr 27, 2017

@hramos

This comment has been minimized.

Show comment
Hide comment
@hramos

hramos Apr 27, 2017

Contributor

I've removed some stale docs in #13687. Next step would be to update the iOS/Android projects to allow the port to be configured easily without updating the source code.

Contributor

hramos commented Apr 27, 2017

I've removed some stale docs in #13687. Next step would be to update the iOS/Android projects to allow the port to be configured easily without updating the source code.

@eddiewang

This comment has been minimized.

Show comment
Hide comment
@eddiewang

eddiewang May 12, 2017

@hramos is there documentation that show how exactly to go about manually updating the ports in iOS?

eddiewang commented May 12, 2017

@hramos is there documentation that show how exactly to go about manually updating the ports in iOS?

@hramos

This comment has been minimized.

Show comment
Hide comment
@hramos

hramos May 15, 2017

Contributor

No, there isn't as I removed the stale docs.

Contributor

hramos commented May 15, 2017

No, there isn't as I removed the stale docs.

@hramos hramos changed the title from Port is hard coded on iOS, Android templates to Port is hard coded to 8081 on iOS, Android templates May 22, 2017

@hramos

This comment has been minimized.

Show comment
Hide comment
@hramos

hramos May 22, 2017

Contributor

I've taken another look at this and there seems like more work is needed in the tooling. For example, react-native run-ios and react-native run-android will both attempt to launch a new packager on port 8081, even if one is already running on port 8088 (or any other port of your choosing). This can result in an error if 8081 is already in use by another process, preventing you from launching the app.

Contributor

hramos commented May 22, 2017

I've taken another look at this and there seems like more work is needed in the tooling. For example, react-native run-ios and react-native run-android will both attempt to launch a new packager on port 8081, even if one is already running on port 8088 (or any other port of your choosing). This can result in an error if 8081 is already in use by another process, preventing you from launching the app.

@hramos

This comment has been minimized.

Show comment
Hide comment
@hramos

hramos Jul 26, 2017

Contributor

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!

If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

  • Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
  • If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
  • Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

Contributor

hramos commented Jul 26, 2017

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!

If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

  • Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
  • If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
  • Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

@jalada

This comment has been minimized.

Show comment
Hide comment
@jalada

jalada Sep 6, 2017

Regardless of support the port being changed, on my machine I was running Apache on port 8081 and any react-native command was hanging for about 3 minutes before doing anything, and even then most didn't give an error.

Could the CLI tool check to see if 8081 is in use & if it's actually the packager or not?

jalada commented Sep 6, 2017

Regardless of support the port being changed, on my machine I was running Apache on port 8081 and any react-native command was hanging for about 3 minutes before doing anything, and even then most didn't give an error.

Could the CLI tool check to see if 8081 is in use & if it's actually the packager or not?

@chtrinh

This comment has been minimized.

Show comment
Hide comment
@chtrinh

chtrinh Sep 6, 2017

@hramos: partial fixed with for android (accepted PR #15316)

chtrinh commented Sep 6, 2017

@hramos: partial fixed with for android (accepted PR #15316)

@robwalkerco

This comment has been minimized.

Show comment
Hide comment
@robwalkerco

robwalkerco Sep 11, 2017

I'm also encountering this issue when multiple developers are trying to work with React Native on the same local network, which was a little unexpected.
Currently having to have each developer work on a seperate network (their phone hotspots) to get around this!

robwalkerco commented Sep 11, 2017

I'm also encountering this issue when multiple developers are trying to work with React Native on the same local network, which was a little unexpected.
Currently having to have each developer work on a seperate network (their phone hotspots) to get around this!

@DaKaZ

This comment has been minimized.

Show comment
Hide comment
@DaKaZ

DaKaZ Oct 2, 2017

@chtrinh I just submitted PR #16172 which extends your #15316 PR by checking for and launching the packager on the requested port. It also adds the --port option to run-ios so that both environments can benefit from this. Would love any comments or suggestions and/or testing.

Thanks :)

DaKaZ commented Oct 2, 2017

@chtrinh I just submitted PR #16172 which extends your #15316 PR by checking for and launching the packager on the requested port. It also adds the --port option to run-ios so that both environments can benefit from this. Would love any comments or suggestions and/or testing.

Thanks :)

facebook-github-bot added a commit that referenced this issue Jan 5, 2018

adds --port option to `react-native run-ios` as well as patches port …
Summary:
The pull request adds the `--port` option to `run-ios` allowing a developer to build and launch a react-native app using a single command line like this:
```
react-native run-ios --port 8088
```

It defaults to the current port 8081.

This pull request fixes issue #9145 and issue #14113.

This patch also extends `run-android` to properly test and launch the packager with the specified port, extending the work done in PR:  ##15316

1. Create a new react-native app, or simply clone this branch and then update your version of react-native using `yarn add file:./path/to/this/fork/of/react-native`
2. run `react-native run-ios --port 8088`
3. watch the packager start on the desired port (8088 in this case) and watch your app in your simulator connect to the packager and launch the app.
Closes #16172

Differential Revision: D6612534

Pulled By: shergin

fbshipit-source-id: 50af449f5e4c32fb76ba95f4cb7bf179e35526d5

mathiasbynens added a commit to mathiasbynens/react-native that referenced this issue Jan 13, 2018

adds --port option to `react-native run-ios` as well as patches port …
Summary:
The pull request adds the `--port` option to `run-ios` allowing a developer to build and launch a react-native app using a single command line like this:
```
react-native run-ios --port 8088
```

It defaults to the current port 8081.

This pull request fixes issue facebook#9145 and issue facebook#14113.

This patch also extends `run-android` to properly test and launch the packager with the specified port, extending the work done in PR:  #facebook#15316

1. Create a new react-native app, or simply clone this branch and then update your version of react-native using `yarn add file:./path/to/this/fork/of/react-native`
2. run `react-native run-ios --port 8088`
3. watch the packager start on the desired port (8088 in this case) and watch your app in your simulator connect to the packager and launch the app.
Closes facebook#16172

Differential Revision: D6612534

Pulled By: shergin

fbshipit-source-id: 50af449f5e4c32fb76ba95f4cb7bf179e35526d5
@tangkunyin

This comment has been minimized.

Show comment
Hide comment
@tangkunyin

tangkunyin Jan 18, 2018

@jdmarshall May be we can use this react-native-port-patcher

It's very convenient for me.

tangkunyin commented Jan 18, 2018

@jdmarshall May be we can use this react-native-port-patcher

It's very convenient for me.

@DaKaZ

This comment has been minimized.

Show comment
Hide comment
@DaKaZ

DaKaZ Jan 18, 2018

@tangkunyin my PR for adding --port was merged a few weeks ago, should be in the 0.53 release :)

DaKaZ commented Jan 18, 2018

@tangkunyin my PR for adding --port was merged a few weeks ago, should be in the 0.53 release :)

@noumantahir

This comment has been minimized.

Show comment
Hide comment
@noumantahir

noumantahir Jan 23, 2018

These are the files where I had to tweak port number to make it work on a different port

  1. node_modules/react-native/local-cli/server/server.js
  2. XCode -> [App]/Libraries/React.xcodeproj/React/Base/RCTBundleURLProvider.m
  3. XCode -> [App]/Libraries/React.xcodeproj/React/Base/RCTBridgeDelegate.m
  4. XCode -> [App]/Libraries/React.xcodeproj/React/DevSupport/RCTInspectorDevServerHelper.mm
  5. XCode -> [App]/Libraries/RCTWebSocket.xcodeproj/RCTWebSocketExecutor.m

Afterwards, running simple react-native run-ios without specifying any extra argument ran the package and app on my selected port. I am using "react-native": "0.52.0"

noumantahir commented Jan 23, 2018

These are the files where I had to tweak port number to make it work on a different port

  1. node_modules/react-native/local-cli/server/server.js
  2. XCode -> [App]/Libraries/React.xcodeproj/React/Base/RCTBundleURLProvider.m
  3. XCode -> [App]/Libraries/React.xcodeproj/React/Base/RCTBridgeDelegate.m
  4. XCode -> [App]/Libraries/React.xcodeproj/React/DevSupport/RCTInspectorDevServerHelper.mm
  5. XCode -> [App]/Libraries/RCTWebSocket.xcodeproj/RCTWebSocketExecutor.m

Afterwards, running simple react-native run-ios without specifying any extra argument ran the package and app on my selected port. I am using "react-native": "0.52.0"

@samjt

This comment has been minimized.

Show comment
Hide comment
@samjt

samjt Aug 13, 2018

This appears to be fixed as far as I can tell in RN 0.56, at least for iOS.
You don't need to manually edit the ports in all/any of the files.

It's possible to export the port as an environmental variable for Metro to use.
export RCT_METRO_PORT=9000; react-native run-ios
followed by
react-native start --port 9000
will generate a build that uses port 9000 and then start Metro on port 9000

I'm currently running two copies of Metro bundler side by side, one for a Storybook development app and another for the actual app I'm building.

samjt commented Aug 13, 2018

This appears to be fixed as far as I can tell in RN 0.56, at least for iOS.
You don't need to manually edit the ports in all/any of the files.

It's possible to export the port as an environmental variable for Metro to use.
export RCT_METRO_PORT=9000; react-native run-ios
followed by
react-native start --port 9000
will generate a build that uses port 9000 and then start Metro on port 9000

I'm currently running two copies of Metro bundler side by side, one for a Storybook development app and another for the actual app I'm building.

@samjt

This comment has been minimized.

Show comment
Hide comment
@samjt

samjt Aug 14, 2018

As a follow up, I haven't checked the Android project files, but if you see something like:
$RCT_METRO_PORT || 8081 or process.env.RCT_METRO_PORT || 8081 in the Android source files, the same thing will work there too.

Finally, if you really want to change the port permanently for all projects, you should add the line
export RCT_METRO_PORT=9000
to your .bashrc or .bash_profile file in your home folder.

samjt commented Aug 14, 2018

As a follow up, I haven't checked the Android project files, but if you see something like:
$RCT_METRO_PORT || 8081 or process.env.RCT_METRO_PORT || 8081 in the Android source files, the same thing will work there too.

Finally, if you really want to change the port permanently for all projects, you should add the line
export RCT_METRO_PORT=9000
to your .bashrc or .bash_profile file in your home folder.

@liranh85

This comment has been minimized.

Show comment
Hide comment
@liranh85

liranh85 Aug 19, 2018

Following @DaKaZ 's pull request (thanks for that btw!), I can now (finally) change the port as simply as react-native run-ios --port 8082 - I've tested it, and can confirm this works.

@samjt , I'm not sure why you wrote (6 days ago) that we need to first export the new port for this to work. My understanding was that you can export the new port if you don't want to always have to specify it in the run-ios/run-android command, but if you do specify it, it doesn't require exporting it.

liranh85 commented Aug 19, 2018

Following @DaKaZ 's pull request (thanks for that btw!), I can now (finally) change the port as simply as react-native run-ios --port 8082 - I've tested it, and can confirm this works.

@samjt , I'm not sure why you wrote (6 days ago) that we need to first export the new port for this to work. My understanding was that you can export the new port if you don't want to always have to specify it in the run-ios/run-android command, but if you do specify it, it doesn't require exporting it.

@samjt

This comment has been minimized.

Show comment
Hide comment
@samjt

samjt Aug 20, 2018

It's probably because I was using Storybook, but i couldn't get the port argument to work with react-native run-ios

samjt commented Aug 20, 2018

It's probably because I was using Storybook, but i couldn't get the port argument to work with react-native run-ios

@osdiab

This comment has been minimized.

Show comment
Hide comment
@osdiab

osdiab Aug 31, 2018

Separately, the lack of configurability is a problem to me because I often work in public networks like those at cafes, which often don't allow for peer-to-peer connections on the network. As a result my phone can't access the bundler url and always uses pre-bundled files... very slow and annoying! Android is fine since you can tunnel with adb, but idk how to do that with iOS. And I can't use something like ngrok to open a tunnel since changing it from localhost:8081 to an arbitrary URL is neither straightforward nor documented.

Right now looking into setting up a VPN solely for this purpose, but it'd be nice to have a legitimate story for my use case.

osdiab commented Aug 31, 2018

Separately, the lack of configurability is a problem to me because I often work in public networks like those at cafes, which often don't allow for peer-to-peer connections on the network. As a result my phone can't access the bundler url and always uses pre-bundled files... very slow and annoying! Android is fine since you can tunnel with adb, but idk how to do that with iOS. And I can't use something like ngrok to open a tunnel since changing it from localhost:8081 to an arbitrary URL is neither straightforward nor documented.

Right now looking into setting up a VPN solely for this purpose, but it'd be nice to have a legitimate story for my use case.

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