This is a big one.. oops.
Main changes:
- Make ping monitor more robust and global, with ping target overrides of the default cloudflare fallback target per tunnel (for full tunnels, otherwise we ping the internal tun ip)
- Include ping restart recovery to prevent tun being down if dns failures happen after a bounce
- Ping monitoring itself remains per tunnel and works without auto tunnel active, but moves the restart feature back to be managed by and integrated with auto tunnel to prevent inconsistencies and conflicts
- Ping statistics can be optionally included to be displayed with tun statistics
- Adds the beginnings of monitoring logs for handshake and data packet failures for userspace tuns (to be incorporated with restarts/tun status later)
- Improve tun error notifications, adds ping restart notifications
- Major refactor of auto tunnel logic to make it more modular and extensible for new auto tunnel conditions
- A bunch of other stuff..
increase auto tunnel delay to 3 seconds
optimize stats job by killing it when app is backgrounded
fix tunnel launch from background
add restart of services and tunnels after update
Fixes a bug where mobile data tunneling was not working properly in certain scenarios.
Fixes an issue where the new floating action button was not working correctly on AndroidTV.
Improved local logging.
Additional refactors and optimizations.
Fixes regression where tunnel is stuck in on state after x amount of toggles. Closes#163
Adds obfuscation of potentially sensitive data from logs.
Closes#160
Adds hiding of FAB on scroll to allow users to toggle tunnels when they have many tunnel configs.
Closes#161
Added tunnel settings feature where users can configure a tunnel to be used on certain SSID or with mobile data.
Closes#50
Added feature where if a tunnel was active when phone restarted, the app will start that tunnel on boot.
Removed automatic auto-tunnel toggling/override from the tunnel tile and app shortcuts as it can cause undesirable behavior.
Added second tile to control auto-tunneling pause/resume state from a tile.
Added two additional static shortcuts to be able to control auto-tunneling pause/resume state from shortcuts.
Fixed bug where crashes can happen from serializing and deserializing tunnel configs by removing the need for serialization of tunnel configs.
Refactored logic of watcher and tunnel service to make state more predictable.
#127
Fixed bug where rapidly toggling tunnels can cause crashes.
Closes#145
Improved how tunnels are manually toggled from one to another.
Improved logic/storage around primary tunnel behavior.
Fixes issue where info level logs were not populating on release builds.
Increase allowed name length displayed in UI.
Closes#143
Fixes bug where androidTV could crash in certain situations.
Bump versions.
Updated screenshots.