Skip to content

when livereload-url is specified, the development server is not started. #5124

@jackzhp

Description

@jackzhp

Description:
with this command "ionic capacitor run android -l --external --host=192.168.7.78 --port=8021" the development server will be started. everything goes well. app will use http://192.168.7.78:8021/ to access the web app.
but with this command "ionic capacitor run android -l --external --host=192.168.7.78 --port=8021 --livereload-url=http://192.168.7.78:8021", the development serve does not start.

why do I want to specify host & port & the url? for whatever reason, my reality is that the android is connected to a "different" network, and there is some mapping, so even the livereload-url=https://x.y.z/(different IP, DNS or not, and even https), it will be mapped to http://192.168.7.78:8021.

Steps to Reproduce:
so simple, so need big effort.

Output:
so simple, no need

My ionic info:

Other Information:

To fix:
https://github.com/ionic-team/ionic-cli/blob/develop/packages/%40ionic/cli/src/commands/capacitor/base.ts
inside runServe function

  let serverUrl = options['livereload-url'] ? String(options['livereload-url']) : undefined;
  if (!serverUrl) {
    const details = await runner.run(runnerOpts);    //*********
    serverUrl = `${details.protocol || 'http'}://${details.externalAddress}:${details.port}`;
  }

we just have to move the ***** line out of the if statement, then everything is Okay. If I am wrong, please inform me.

If this is the right solution, then I made a pull request 5125: #5125

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions