Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Zip importing: importFromFile should take a completionHandler | Roopesh Chander | 2018-12-12 | 2 | -7/+13 |
| | | | | | | | Deletion of the being-imported file should be done in the completionHandler. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | ErrorPresenter: Support onPresented for showErrorAlert(title:,message:) | Roopesh Chander | 2018-12-12 | 1 | -3/+4 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | State restoration: Don't create duplicate mainVC and tunnelsListVC | Roopesh Chander | 2018-12-11 | 1 | -6/+1 |
| | | | | | | | | | | | | | | | | | | | This creates a duplicate tunnels manager, leading to problems tracking tunnel statuses. To reproduce the bug that this commit fixes, you can do the following: 1. Remove all tunnels 2. Run in Xcode 3. Import zip with ~10 tunnels 4. Stop app in Xcode 5. Run in Xcode 6. Turn on 1st tunnel, after it's on, turn off Turn on 2nd tunnel, after it's on, turn off ... After 6-8 tunnels, the spinner doesn't show up, indicating that the status is not being tracked. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Remove the feature of waiting for another tunnel to deactivate | Roopesh Chander | 2018-12-11 | 2 | -4/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Allow turning off the status switch of a waiting tunnel | Roopesh Chander | 2018-12-11 | 2 | -2/+2 |
| | | | | | | It just means the waiting should be cancelled Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: alertText() can be nil | Roopesh Chander | 2018-12-11 | 1 | -1/+1 |
| | | | | | | Indicating that no alert is to be shown for that error. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels list: Fix AutoLayout error during deletion of a tunnel | Roopesh Chander | 2018-12-10 | 1 | -2/+6 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Dynamic Type support | Roopesh Chander | 2018-12-10 | 1 | -2/+6 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel edit: Dynamic Type support | Roopesh Chander | 2018-12-10 | 1 | -6/+56 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel detail: Dynamic Type support | Roopesh Chander | 2018-12-10 | 2 | -6/+57 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels list: Dynamic Type support for the add button at the center | Roopesh Chander | 2018-12-09 | 1 | -0/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels list: Dynamic Type support for the table view | Roopesh Chander | 2018-12-09 | 1 | -6/+12 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Export log: Perform file operations in a background thread | Roopesh Chander | 2018-12-08 | 1 | -26/+31 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | On-Demand: TunnelViewModel: Make activate-on-demand methods static | Roopesh Chander | 2018-12-08 | 1 | -2/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | On-Demand: Move detail text to TunnelViewModel | Roopesh Chander | 2018-12-08 | 1 | -20/+1 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Make strings consistent | Jason A. Donenfeld | 2018-12-07 | 2 | -4/+4 |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | State restoration: Restore tunnel detail view | Roopesh Chander | 2018-12-07 | 4 | -1/+72 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Main VC: No need to refresh statuses if the tunnelsManager isn't initialized yet | Roopesh Chander | 2018-12-07 | 1 | -4/+0 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels list: Deselect rows correctly | Roopesh Chander | 2018-12-07 | 1 | -1/+7 |
| | | | | | | Do it like UITableViewController.clearsSelectionOnViewWillAppear would. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Exporting configs as zip should open document picker | Roopesh Chander | 2018-12-07 | 1 | -5/+3 |
| | | | | | | | | Because: - Exporting UI should be consistent with importing UI - UIActivityVC takes a long time to open Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Use ErrorPresenter.showErrorAlert() instead of per-VC showErrorAlert() methods | Roopesh Chander | 2018-12-07 | 4 | -38/+9 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Use WireGuardAppError and WireGuardResult throughout the app | Roopesh Chander | 2018-12-07 | 2 | -31/+5 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Introduce a WireGuardAppError protocol to manage errors | Roopesh Chander | 2018-12-07 | 1 | -28/+2 |
| | | | | | | The alert strings shall be located next to where the errors are declared. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error handling: Cleanup Tunnels Manager errors | Roopesh Chander | 2018-12-07 | 4 | -31/+45 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Error presenter: Always handle the passed error | Roopesh Chander | 2018-12-07 | 1 | -4/+3 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel detail: Cell status switch should be toggled only after the alert presentation completes | Roopesh Chander | 2018-12-07 | 1 | -4/+5 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Refactoring: Consolidate file deletion into a separate function | Roopesh Chander | 2018-12-07 | 2 | -17/+6 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Add timestamp to exported log | Roopesh Chander | 2018-12-04 | 1 | -1/+8 |
| | | | | | | And remove the exported log afterwards. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Refactor out VPN-handling stuff from tunnels list VC to the main VC | Roopesh Chander | 2018-12-03 | 3 | -64/+86 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: Error out when tunnel activation fails because there's no internet | Roopesh Chander | 2018-12-03 | 2 | -1/+14 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Settings: Export log file | Roopesh Chander | 2018-12-02 | 1 | -3/+52 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | It's 'WiFi', not 'Wifi' | Roopesh Chander | 2018-11-28 | 2 | -6/+6 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Exporting: Export to zip in a background thread | Roopesh Chander | 2018-11-15 | 1 | -10/+10 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Exporting: Refactor out zip exporting into a separate class | Roopesh Chander | 2018-11-15 | 2 | -21/+17 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Exporting: No need to check for duplicate names - we disallow it at creation time itself | Roopesh Chander | 2018-11-15 | 1 | -9/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Importing: Import from zip in a background thread | Roopesh Chander | 2018-11-15 | 1 | -12/+10 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Importing: Refactor out zip importing into a separate class | Roopesh Chander | 2018-11-14 | 2 | -43/+17 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel detail: Show VPN-on-demand information | Roopesh Chander | 2018-11-12 | 1 | -2/+67 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled property | Roopesh Chander | 2018-11-12 | 1 | -2/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel edit: Update for VPN-on-demand changes | Roopesh Chander | 2018-11-12 | 1 | -14/+26 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel edit, Tunnel view model: UI for providing On-Demand activation options | Roopesh Chander | 2018-11-11 | 1 | -6/+109 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: When activating while another tunnel is active, deactivate the other tunnel | Roopesh Chander | 2018-11-10 | 2 | -15/+2 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | TunnelsManager: startDeactivation() need not take a completion handler | Roopesh Chander | 2018-11-10 | 2 | -6/+2 |
| | | | | | | Because the completion handler pattern doesn't fit in this case. Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: There are no DNS errors to handle in the app now | Roopesh Chander | 2018-11-10 | 1 | -2/+0 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | VPN: Refresh tunnel statuses when app gets to the foreground | Roopesh Chander | 2018-11-09 | 2 | -0/+14 |
| | | | | | | Because the tunnel could've be activated from iOS Settings now Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Remove unused code | Roopesh Chander | 2018-11-09 | 2 | -24/+0 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | NE: When there's an error starting the tunnel, show it to the user using displayMessage() | Roopesh Chander | 2018-11-09 | 1 | -0/+1 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Move logic to extension: .resolvingEndpointDomains is not longer a valid status | Roopesh Chander | 2018-11-08 | 2 | -4/+0 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | Tunnel edit: While preparing for reuse, should make onValueBeingEdited nil as well | Roopesh Chander | 2018-11-08 | 1 | -0/+1 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> | ||||
* | iPad: Ensure we set sourceRect for all cases where we use sourceView | Roopesh Chander | 2018-11-07 | 3 | -1/+3 |
| | | | | Signed-off-by: Roopesh Chander <roop@roopc.net> |