The onionwrapper library throws IOExceptions for control port commands that fail. In particular it throws TorNotRunningException if the Tor process has been killed, which can happen on some Oppo/OnePlus/Realme phones. OnionShare doesn't catch these exceptions, so they crash the app. We should handle them gracefully.
Also let's open a ticket upstream for Kotlin to support checked exceptions. ;-)
The onionwrapper library throws IOExceptions for control port commands that fail. In particular it throws TorNotRunningException if the Tor process has been killed, which can happen on some Oppo/OnePlus/Realme phones. OnionShare doesn't catch these exceptions, so they crash the app. We should handle them gracefully.
Also let's open a ticket upstream for Kotlin to support checked exceptions. ;-)