-
Notifications
You must be signed in to change notification settings - Fork 45
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
More control is needed over visors started with skywiremob #472
Comments
@Senyoret1 |
It is in the skywiremob lib and the initial Android app uses it, but I don't know what it does. At least, as far as I know, the Android app does not really need it to exist, as long as skywiremob allows to stop the visor at any time. Also, something to take into account is that, as the initialization functions are synchronous and could take long to finish, the function for stopping the visor could be called from another thread |
@Senyoret1 yeah, I left it there, but it really just blocks until visor exits. I'll refactor a bit, and app will be able to stop visor any time. So if you don't need to block on this, I'll just remove it |
Perfect, but please make sure skywiremob has a way for the Android app to know when the visor has been stopped, as the UI needs to know that to avoid problems |
@Senyoret1 hey there. Please, check out the #447 . As long as I've tested it, visor's startup may be interrupted. So, |
@Darkren sorry for the late response. I tested the changes and worked well, thank you. I was able to stop the visor while in different states and start it again. I think the only thing missing is a way to know if the visor is running. Now that
|
@Senyoret1 hey there. I also forgot to mention one function. there's |
@Darkren thank you, the changes work well and I used them to make the most basic part of the Android app work well. The changes are in https://github.com/Darkren/skywire-mainnet/pull/1 . I have identified other changes that may be needed in skywiremob, but I still have some doubts about the details, so I will continue making changes to the Android client and file new issues if needed |
Currently there are problems for controlling the visors started with skywiremob, at least to the point needed for having a good Android frontend. Here are some things that need improvements:
Skywiremob.stopVisor()
does not completely stops the visor. After calling that function, callingSkywiremob.isVPNReady()
returnstrue
, which should not happened, as everything is supposed to be closed. Also, the console shows the[visor:shutdown]: Shutdown complete. Goodbye!
message, but after some time the console periodically showsFailed to send keepalive: failed to redial underlying connection: transport is no longer being served
, which also indicates that the visor is still active in some way. Trying to start the visor again causes errors likefailed to add skywire networker: networker already exists
to appear.It is not possible to call
Skywiremob.stopVisor()
before the visor is totally initialized. This is problematic because the initialization process is slow and the user may want to deactivate the vpn before the whole initialization process is completed. The biggest problem is when the user does not have internet connection, because that prevents the initialization process to finish.Some times more information is needed from the Visor. One example is when starting a visor without internet connection, as the initialization process may stay unresponsive for several minutes and there is no way to show progress information to the user. If it is not possible to show progress updates, being able to stop the visor at any time with skywiremob would be good, to implement a timeout in the front-end.
The problems are somewhat related and making the
Skywiremob.stopVisor()
function work well and making it possible to call that function at any time may be enough.The text was updated successfully, but these errors were encountered: