Roopesh Chander
4cb775c72f
macOS: Log view: Allow resizing horizontally
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-06-04 15:48:42 +05:30
Roopesh Chander and Jason A. Donenfeld
714d6a41bd
macOS: Dismiss modals correctly
...
Previously, the presented vc were leaking when discarding edits
or when closing the log view controller.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-31 17:29:29 +02:00
Roopesh Chander and Jason A. Donenfeld
9b92a8f933
macOS: Update app icon
...
Reduce the size and add a drop shadow
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-31 17:29:29 +02:00
Roopesh Chander
5e9780ef8f
iOS: Should be able to re-show tunnel detail
...
Fixes a bug introduced in the refactoring in
commit 7322fb084087774e8b58e347902f6d7036cbde5c
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-27 15:36:39 +05:30
Roopesh Chander
9faf814e8b
macOS: Tunnel detail: No need to update runtime info on tunnelSaved()
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-27 14:43:41 +05:30
Roopesh Chander
30da10a0e9
macOS: Start refreshing runtime info in viewWillAppear(), not init()
...
Because when the window is closed and reopened, we should start
refreshing runtime info again.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-27 14:38:17 +05:30
Roopesh Chander
a18614d6b3
macOS: Fix residual menu highlight on reopen
...
If we close the window with Cmd+W or Cmd+Q and then re-launch the app,
the main menu shows residual highlight from the close action. This
commit fixes that.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-26 00:12:47 +05:30
Roopesh Chander
c30d491edc
iOS: Should be able to call showTunnelDetail multiple times
...
And the detail views should not stack up.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-26 00:12:42 +05:30
Roopesh Chander and Jason A. Donenfeld
88c80d6694
iOS: Refactor showing of the tunnel detail
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-25 13:24:01 +02:00
Roopesh Chander and Jason A. Donenfeld
393718dfaf
iOS: Show Home screen quick actions for recent tunnels
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-25 13:24:01 +02:00
Roopesh Chander and Jason A. Donenfeld
f852b6f919
iOS: Keep track of most-recently-activated tunnels
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-25 13:24:01 +02:00
Roopesh Chander
8926434682
macOS: Workaround for unresponsive main menu when launched from Xcode
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-22 19:52:21 +05:30
Roopesh Chander
493c7b102e
macOS: Ignore bogus reopen because of login item helper
...
The bogus reopen occurs because the SMLoginItemSetEnabled actually runs
the helper app immediately. The helper app attempts to launch the main
app, causing a reopen Apple event (rapp) to be sent.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-22 19:52:21 +05:30
Roopesh Chander
717bc8a26f
macOS: Workaround for unresponsive main menu after reopen
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-22 19:52:12 +05:30
Roopesh Chander
e582155a10
macOS: Ensure window is shown on app reopening
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-22 15:19:57 +05:30
Roopesh Chander
70d19691a7
macOS: Simplify detecting the type of an Apple event
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:28 +05:30
Roopesh Chander
40b1f0bac8
macOS: Don't show manage window when launched at login
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:28 +05:30
Roopesh Chander
52ac9b82c2
macOS: Login item: Get helper app version from xcconfig
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
fc1fdbbcdb
macOS: Login item: Fix Info.plist path
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
300268daa0
macOS: Show Manage Tunnels window on startup
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
9bf304a9ac
macOS: Minor refactor of StatusMenuWindowDelegate
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
586a592b68
macOS: Disable 'Delete Selected' when nothing is selected
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
c0526d2efb
macOS: Some menu item titles are automatically inferred
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
fdbd4f875e
macOS: Use title-style capitalization for menu items
...
As per https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
4a037cc706
macOS: Make it clear that status menu Quit quits the app
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
5190fc2249
macOS: Quit in main menu shall just close the window
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
3f25d54dcc
macOS: Get back removing tunnel using the Delete key
...
This now works only when the list view has focus
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
f9880907a2
macOS: Both list and detail main menu items should be always enabled
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
404fa741e8
macOS: swiftlint: Suppress incorrect warnings
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
6e1f03e41c
macOS: Set a main menu for the app
...
The main menu would be shown only when the manage tunnels window
is visible.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
6d8965e97d
macOS: Remove custom key event handling
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
5e5481b69b
macOS: Show app in dock when showing the manage tunnels window
...
This way, the app can participate in Cmd+Tab
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-20 16:42:27 +05:30
Roopesh Chander
69b33c0fad
macOS: Edit view: Save on Cmd+S
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-12 15:45:26 +05:30
Roopesh Chander
167e4f0bf2
macOS: Edit view: Dismiss on Esc
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-12 13:23:52 +05:30
Roopesh Chander
6e3b28852a
macOS: Log view: Dismiss on Esc
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-05-12 13:21:42 +05:30
Roopesh Chander
5914e868ab
iOS: Log view: Improve the look
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-28 14:29:22 +05:30
Roopesh Chander
76894fba68
Xcode: Use dwarf for debug and dwarf-with-dsym for release
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-21 18:22:31 +05:30
Roopesh Chander
89a564ce62
Swift 5 migration: Make use of Result type
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-21 17:51:42 +05:30
Roopesh Chander
178fe86d36
macOS: Detect when updating from the App Store
...
And show an alert when tunnels are active during updation -- that
might cause the update to not work correctly.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-21 15:43:10 +05:30
Roopesh Chander
98ebd55208
Log view: Don't use a global array to store log entries
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-10 17:57:36 +05:30
Roopesh Chander
83d0d34411
macOS: Log view: Stop updating the log once the log view is dismissed
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-10 15:42:39 +05:30
Roopesh Chander
cef3957875
Swift 5 migration: Handle changes in Data's pointer interface
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-09 11:25:04 +05:30
Roopesh Chander
d9e88c51bd
Swift 5 migration: Fix switch warnings
...
We now get a warning when switching over enums from system
frameworks even when we handle all public cases because
there can be future cases that aren't handled.
When such a future case is introduced, we'll get a warning.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-09 11:25:04 +05:30
Roopesh Chander
90eb45e287
Xcode: Move to Swift 5.0
...
No code changes were necessary
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-07 16:42:36 +05:30
Roopesh Chander
9f3d86723a
macOS: Minor fix to export panel texts
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-06 17:59:42 +05:30
Roopesh Chander
11063d0f88
macOS: Tunnels list: Suppress alert buttons when removing tunnels is in progress
...
Also refactor the deletion alert into a separate helper class
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-06 17:53:41 +05:30
Roopesh Chander
557ee4390b
TunnelsManager: When setting a config, also set isAvailable cache
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-06 00:26:06 +05:30
Roopesh Chander
9ce42d152d
macOS: Tunnels list: Show the confirmation alert till removal completes
...
Fix tunnel selection during deletion
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-06 00:08:45 +05:30
Roopesh Chander
4c1b2e1258
TunnelsManager: Fix comparing tunnels with tunnelProviders in reload()
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-05 13:43:08 +05:30
Roopesh Chander
3bd611aa7c
TunnelsManager: Cache isTunnelConfigurationAvailableInKeychain
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-05 13:29:17 +05:30
Roopesh Chander
adbe0b065e
macOS: Attempt to remove keychain item only if verified
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-04 15:29:25 +05:30
Roopesh Chander
6015661beb
macOS: Simplify reusing of the detail VC when applicable
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-04 12:24:32 +05:30
Roopesh Chander
6e6a6b88fb
macOS: Hide other-user tunnels in the status menu
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-03 19:18:53 +05:30
Roopesh Chander
9690365dd4
macOS: Better handling of tunnels created by another user
...
Previously, the tunnels just got deleted.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-03 19:04:12 +05:30
Roopesh Chander
0299c3929e
iOS: Log view: Make log text selectable
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-01 23:29:15 +05:30
Roopesh Chander
0043233872
macOS: Log view: Fix autoscroll to end of log
...
Looks like the tableview doesn't know how much to scroll to get to the
end when we use usesAutomaticRowHeights. So we wait for the tableview
to realize its frame has changed and then scroll to the bottom of the
frame explicitly.
Also, we keep track of whether the scroll view is scrolled to the end or
not every time scrolling happens, not just when we add log entries to
the table.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-04-01 23:07:48 +05:30
Roopesh Chander
a74dd24578
macOS: Bring app to front before 'exiting with an active tunnel' alert
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-29 00:17:37 +05:30
Roopesh Chander
dd9506ecee
macOS: If a sheet is being shown, ignore quit and bring window to front
...
Otherwise, the 'exiting with an active tunnel' alert could get queued up
to be shown after the current sheet is dismissed.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-29 00:17:37 +05:30
Roopesh Chander
f83f159f97
macOS: Log view: No need to disable Close button
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-28 19:32:58 +05:30
Roopesh Chander
6175de0438
iOS: Ability to view the log
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-28 19:28:27 +05:30
Roopesh Chander
bd61be52e6
iOS: Xcode: Minor project rearrangement
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-28 14:10:42 +05:30
Roopesh Chander
909f88be70
macOS: Ability to view the log
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-28 13:57:06 +05:30
Roopesh Chander
b7c3bd0d8c
Add LogViewHelper
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-27 17:55:52 +05:30
Roopesh Chander
4237ab4a6f
macOS: Syntax highlighter: Free spans array
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-22 17:53:34 +05:30
Roopesh Chander
0fcaf6debb
macOS: Hide exclude private IPs when PrivateKey / PublicKey is missing
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-22 16:00:45 +05:30
Roopesh Chander
dbd5ea1ff0
macOS: Syntax highlighter: Swift can bridge c strings automatically
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-22 15:31:02 +05:30
Roopesh Chander
9afe230c10
macOS: On Add new, Exclude Private IPs should remain hidden
...
because there aren't any peers in the bootstrapped config.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-22 15:15:26 +05:30
Roopesh Chander
4bdfbb518e
Xcode: iOS: Remove armv7 as 'Required device capabilities'
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-20 14:23:56 +05:30
Roopesh Chander and Jason A. Donenfeld
5f8843e247
iOS: Delete confirmation prompt should be a question
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-19 21:23:46 +01:00
Roopesh Chander and Jason A. Donenfeld
7a3f65fd2f
macOS: Add 'Deactivate' status menu item
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-19 21:23:46 +01:00
Roopesh Chander and Jason A. Donenfeld
fc163fc9ff
iOS: Consolidate all showConfirmationAlert()s into one place
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 14:54:05 -06:00
Roopesh Chander and Jason A. Donenfeld
adc5a7cac2
iOS: Tunnels list: Ability to remove multiple tunnels at a time
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 14:54:05 -06:00
Roopesh Chander and Jason A. Donenfeld
0dd22ca45a
iOS: Tunnel edit: Add missing enum values
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 14:54:05 -06:00
Roopesh Chander
bca9fead5e
macOS: ButtonedDetailViewController: Set min dimensions
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-19 01:28:52 +05:30
Roopesh Chander
121d223229
macOS: Tunnels list: Double-click to activate / deactivate
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 12:03:41 +05:30
Roopesh Chander
439fb6bbac
macOS: Tunnels list: Don't allow empty selection
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 12:03:41 +05:30
Roopesh Chander and Jason A. Donenfeld
9c8231dcf7
on-demand: macOS: Remove unused class ControlRow
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
0440c4a33a
on-demand: macOS: Integrate Ethernet and Wi-Fi controls in one row
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
01be43aa7a
on-demand: View model should account for isActivateOnDemandEnabled
...
This is needed to correctly handle NETunnelProviderManager's
isOnDemandEnabled property getting changed outside of the app.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
e29c6900e5
on-demand: macOS: Disable SSIDs field when adding a tunnel
...
It shouldn't be editable when the VPN prompt is shown.
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
a334c25aff
on-demand: iOS: Disable selection in SSID detail table view
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
f56b2ad968
on-demand: macOS: Remove unused class PopupRow
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
503ac6c8a2
on-demand: macOS: Auto-complete SSIDs based on currently connected SSID
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
5f30e021ef
on-demand: iOS: Change wording for add-SSIDs rows
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
d748382fce
on-demand: "Only selected SSIDs" -> "Only these SSIDs"
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:56 +01:00
Roopesh Chander and Jason A. Donenfeld
63299a2752
on-demand: macOS: Tunnel detail: List SSIDs
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
b7f8f74b56
on-demand: iOS: Only n SSIDs / Except m SSIDs
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
8e5a9215de
on-demand: iOS: Show list of SSIDs in a separate screen
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
64925cab89
on-demand: iOS: SSIDs view: Always show the selected SSIDs section
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
062b4d4b16
on-demand: Remove ActivateOnDemandSetting type
...
The ActivateOnDemandOption type shall be used instead
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
d9bdc61fb9
on-demand: TunnelViewModel: Remove unused on-demand-related methods
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
0ae8d25134
on-demand: macOS: Tunnel detail: Show SSID info
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
574d8433b3
on-demand: iOS: Update on-demand info shown in tunnel edit view
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
bd339e2876
on-demand: ActivateOnDemandViewModel: Uniquify SSIDs list
...
And if SSIDs list is empty, fall back to .anySSID option
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
fff75adfe1
on-demand: macOS: Support SSIDs in on demand activation
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
01604dd8d1
on-demand: iOS: Tunnel detail: Show SSID info
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
bdeb89a9e5
on-demand: iOS: Add ability to add current SSID
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
36dc252512
on-demand: iOS: Xcode: Add ability to access current SSID
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
5941bf181c
on-demand: iOS: Support for SSIDs
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00
Roopesh Chander and Jason A. Donenfeld
7a450089c0
on-demand: Introducing ActivateOnDemandViewModel
...
Signed-off-by: Roopesh Chander <roop@roopc.net >
2019-03-18 06:46:55 +01:00