Closed nbrownus closed 1 year ago
@JohnMaguire had asked how things could be improved in the future out of band. The approach I was imagining was splitting the UI on/off toggle state and the description state a further from the IPC command readiness for both the swift and iOS side.
connecting
= ok to flip the toggleconnected
= ok to issue start command
iOS 16.5 changed the IPC behavior with the vpn process which caused the process to crash if it received an
appMessage
before it was "ready".This change no longer caches the system
completionHandler
when being asked to start by the UI, instead calling it immediately, which appears to get the vpn process in the "ready" state.This also changes when the UI side determines its safe to send an
appMessage
, this will delay the ui toggle flip from off -> on by a little bit.There is an opportunity to make the experience feel snappy like pre 16.5 days but it will require a larger lift.
Closes #131