Commit Graph

929 Commits

Author SHA1 Message Date
Roopesh Chander 1dca1022d5 macOS: Disable 'Delete Selected' when nothing is selected 2019-05-12 11:55:41 +05:30
Roopesh Chander 3a1208836c macOS: Some menu item titles are automatically inferred 2019-05-12 11:53:14 +05:30
Roopesh Chander e7512edfad macOS: Use title-style capitalization for menu items
As per https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/
2019-05-12 11:53:14 +05:30
Roopesh Chander 90166ab92c macOS: Make it clear that status menu Quit quits the app 2019-05-12 11:53:14 +05:30
Roopesh Chander cf35eaf145 macOS: Quit in main menu shall just close the window 2019-05-12 11:53:14 +05:30
Roopesh Chander 33b9ffa74b macOS: Get back removing tunnel using the Delete key
This now works only when the list view has focus
2019-05-10 01:02:17 +05:30
Roopesh Chander b0bdae8834 macOS: Both list and detail main menu items should be always enabled 2019-05-10 01:02:17 +05:30
Roopesh Chander 4f79bf7b9b macOS: Fix appearance of main menu when showing the manage window 2019-05-10 01:02:17 +05:30
Roopesh Chander b779114ccc macOS: swiftlint: Suppress incorrect warnings 2019-05-10 01:01:45 +05:30
Roopesh Chander dcf94293fd macOS: Set a main menu for the app
The main menu would be shown only when the manage tunnels window
is visible.
2019-05-10 01:01:45 +05:30
Roopesh Chander 0c7a9b7644 macOS: Remove custom key event handling 2019-05-06 11:12:47 +05:30
Roopesh Chander d3c3dcb924 macOS: Show app in dock when showing the manage tunnels window
This way, the app can participate in Cmd+Tab
2019-05-06 11:05:18 +05:30
Roopesh Chander 227ebef371 iOS: Log view: Improve the look 2019-04-28 14:29:22 +05:30
Jason A. Donenfeld bc4e6f4f11 Version bump 2019-04-23 06:49:16 +02:00
Roopesh Chander 33c3539dd2 Xcode: Use dwarf for debug and dwarf-with-dsym for release 2019-04-21 18:22:31 +05:30
Roopesh Chander 8e1bcd3c04 Swift 5 migration: Make use of Result type 2019-04-21 17:51:42 +05:30
Roopesh Chander c46e4976f3 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.
2019-04-21 15:43:10 +05:30
Jason A. Donenfeld eccd16a7ff Version bump 2019-04-12 10:32:06 +02:00
Roopesh Chander 7f4b5b4a7b Log view: Don't use a global array to store log entries 2019-04-10 17:57:36 +05:30
Roopesh Chander af9bd363bd macOS: Log view: Stop updating the log once the log view is dismissed 2019-04-10 15:42:39 +05:30
Jason A. Donenfeld 8eb3795efb Version bump 2019-04-09 10:49:48 +02:00
Roopesh Chander 43024dfcbb Swift 5 migration: Handle changes in Data's pointer interface 2019-04-09 11:25:04 +05:30
Roopesh Chander 283462dc9b 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.
2019-04-09 11:25:04 +05:30
Roopesh Chander 394833ca80 Xcode: Move to Swift 5.0
No code changes were necessary
2019-04-07 16:42:36 +05:30
Roopesh Chander 7d7b7cd5d6 macOS: Minor fix to export panel texts 2019-04-06 17:59:42 +05:30
Roopesh Chander f361b8a674 macOS: Tunnels list: Suppress alert buttons when removing tunnels is in progress
Also refactor the deletion alert into a separate helper class
2019-04-06 17:53:41 +05:30
Roopesh Chander 8bbf4e084a TunnelsManager: When setting a config, also set isAvailable cache 2019-04-06 00:26:06 +05:30
Roopesh Chander 1507a97e11 macOS: Tunnels list: Show the confirmation alert till removal completes
Fix tunnel selection during deletion
2019-04-06 00:08:45 +05:30
Roopesh Chander 740350bed5 TunnelsManager: Fix comparing tunnels with tunnelProviders in reload() 2019-04-05 13:43:08 +05:30
Roopesh Chander 3a10eb0748 TunnelsManager: Cache isTunnelConfigurationAvailableInKeychain 2019-04-05 13:29:17 +05:30
Roopesh Chander d8d18fcb3d macOS: Attempt to remove keychain item only if verified 2019-04-04 15:29:25 +05:30
Roopesh Chander ae553ff316 macOS: Simplify reusing of the detail VC when applicable 2019-04-04 12:24:32 +05:30
Roopesh Chander c8ac2c1995 macOS: Hide other-user tunnels in the status menu 2019-04-03 19:18:53 +05:30
Roopesh Chander fb4dca6018 macOS: Better handling of tunnels created by another user
Previously, the tunnels just got deleted.
2019-04-03 19:04:12 +05:30
Roopesh Chander fc7cf7f4de iOS: Log view: Make log text selectable 2019-04-01 23:29:15 +05:30
Roopesh Chander c62f0f0f6d 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.
2019-04-01 23:07:48 +05:30
Roopesh Chander d04ce0e15f macOS: Bring app to front before 'exiting with an active tunnel' alert 2019-03-29 00:17:37 +05:30
Roopesh Chander b5025b51cd 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.
2019-03-29 00:17:37 +05:30
Roopesh Chander d3f5c82081 macOS: Log view: No need to disable Close button 2019-03-28 19:32:58 +05:30
Roopesh Chander f36f7e456c iOS: Ability to view the log 2019-03-28 19:28:27 +05:30
Roopesh Chander 16b9f191d9 iOS: Xcode: Minor project rearrangement 2019-03-28 14:10:42 +05:30
Roopesh Chander cccb42ddae macOS: Ability to view the log 2019-03-28 13:57:06 +05:30
Roopesh Chander 368be1354e Add LogViewHelper 2019-03-27 17:55:52 +05:30
Roopesh Chander 4e73e7b2e0 macOS: Syntax highlighter: Free spans array 2019-03-22 17:53:34 +05:30
Roopesh Chander 4629414981 macOS: Hide exclude private IPs when PrivateKey / PublicKey is missing 2019-03-22 16:00:45 +05:30
Roopesh Chander ae4a728428 macOS: Syntax highlighter: Swift can bridge c strings automatically 2019-03-22 15:31:02 +05:30
Roopesh Chander 7754f81dca macOS: On Add new, Exclude Private IPs should remain hidden
because there aren't any peers in the bootstrapped config.
2019-03-22 15:15:26 +05:30
Roopesh Chander 2abe092818 Xcode: iOS: Remove armv7 as 'Required device capabilities' 2019-03-20 14:23:56 +05:30
Jason A. Donenfeld f71ee2277f macOS: Privacy notice is provided by system dialogs
So it really doesn't make sense to add our own. This causes several
popups when trying to add a tunnel, which is madness.
2019-03-20 04:24:23 +01:00
Jason A. Donenfeld 10f58df9f3 macOS: Login item: Add a simple login item 2019-03-19 21:15:38 -06:00