Repository navigation
Create vm service handshake for iOS without mDNS #46724
Copy link
Copy link
Closed
Labels
c: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilitycustomer: crowdAffects or could affect many people, though not necessarily a specific customer.Affects or could affect many people, though not necessarily a specific customer.dependency: dartDart team may need to help usDart team may need to help usplatform-iosiOS applications specificallyiOS applications specificallytoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.
Description
Activity
- addedtoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.
on Dec 10, 2019 - addeddependency: dartDart team may need to help usDart team may need to help usc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityplatform-iosiOS applications specificallyiOS applications specificallycustomer: crowdAffects or could affect many people, though not necessarily a specific customer.Affects or could affect many people, though not necessarily a specific customer.
on Dec 11, 2019 - added 2 commits that reference this issue
on Jan 24, 2020 - added a commit that references this issue
on Jan 28, 2020 This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.- locked as resolved and limited conversation to collaborators
on Aug 23, 2021
Metadata
Metadata
Assignees
Labels
c: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilitycustomer: crowdAffects or could affect many people, though not necessarily a specific customer.Affects or could affect many people, though not necessarily a specific customer.dependency: dartDart team may need to help usDart team may need to help usplatform-iosiOS applications specificallyiOS applications specificallytoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.
We should support connecting to an iOS application via run without requiring mDNS, which has a number of issues (tracked in #46705). We still plan to harden mDNS as much as we can, but it is likely that it won't be able to work in all circumstances.
This requires one or two updates to the vm service
The tool provides these flags to the dart VM via the launch arguments. Then, it attempts to connect to the port/path it specified. If it fails or times out during this process, it might be the case that the port was not available. If so, the tool falls back to mDNS.
Enhancements
If there was a way to ensure that a port was available before the tool specified it, then we might be able to guarantee that we almost always hit the happy path.
Caveats
This procedure won't work for attach, since the tool does not launch the application in this case it does not have a chance to provide the necessary launch arguments.
cc @dnfield @zanderso @mehmetf @bkonyi