Davide De Rosa
d24295295a
Drop unnecessary downcast
2019-03-27 23:03:19 +01:00
Davide De Rosa
77658e5cc6
Show shortcut add on viewDidAppear
2019-03-27 22:36:23 +01:00
Davide De Rosa
c9d170768a
Create shortcuts from manager
...
Delegate Intents callbacks to a single place.
2019-03-27 22:22:32 +01:00
Davide De Rosa
ae88fdfad6
Rename shortcut manager vc
2019-03-27 22:09:08 +01:00
Davide De Rosa
d29aafe08e
Propagate addShortcut delegation in ConnectTo
2019-03-27 21:08:51 +01:00
Davide De Rosa
05ba654b2f
Reload in the background on edit
2019-03-27 21:08:51 +01:00
Davide De Rosa
f0d0eb5ed3
Sort shortcuts by phrase
2019-03-27 21:08:51 +01:00
Davide De Rosa
5ee18071b0
Add shortcut and delegate to manager
2019-03-27 21:08:51 +01:00
Davide De Rosa
0d619ffd62
Pack Siri controllers to simplify @available
2019-03-27 21:08:51 +01:00
Davide De Rosa
e1638d1c73
Link add shortcut to manager
2019-03-27 21:08:51 +01:00
Davide De Rosa
d5b7a1e576
Show existing Siri shortcuts as first controller
2019-03-27 21:08:51 +01:00
Davide De Rosa
b459495e90
Reuse controller title
2019-03-27 21:08:36 +01:00
Davide De Rosa
f3e6c34bd1
Customize block on passphrase input cancellation
...
Do not delete .ovpn file when importing from iTunes.
2019-03-25 20:33:17 +01:00
Davide De Rosa
8f0e28e315
Forward input passphrase to parser
2019-03-25 20:33:17 +01:00
Davide De Rosa
dc81356b31
Retry import after passphrase input
...
Isolate .ovpn parsing routines.
- AppDelegate (external URL)
- ImportedHosts
Only delete URL if error is not encryption passphrase.
2019-03-25 20:33:07 +01:00
Davide De Rosa
8a855bf538
Show app version in About cell
2019-03-22 19:29:15 +01:00
Davide De Rosa
fdc3869d29
Move baseVPNConfiguration to TransientStore
...
Simplifies configuration update.
2019-03-22 19:09:52 +01:00
Davide De Rosa
15f23dd448
Retain Pool.name internally but show .localizedName
...
Use name from API if available (XXX: not localized).
Make it private to avoid unintended use in app.
2019-03-21 22:21:42 +01:00
Davide De Rosa
af51911536
Replace Cancel with X to exit shortcuts
...
Misleading!
2019-03-19 18:01:15 +01:00
Davide De Rosa
63d74b6feb
Reorganize shortcut sections
2019-03-19 18:01:15 +01:00
Davide De Rosa
c0be33dacc
Add descriptive footer to Siri section
2019-03-19 18:01:15 +01:00
Davide De Rosa
03c8e43ce7
Tweak intent donations
...
- Activate -> EnableVPN
- Connect -> ConnectVPN/MoveToLocation
- Disconnect -> DisableVPN
2019-03-19 18:01:15 +01:00
Davide De Rosa
88a1e39a6e
Add a Done button to exit connect shortcuts
2019-03-18 22:40:06 +01:00
Davide De Rosa
15602f7dc9
Pick profile/location for connection intent
...
- Host: ConnectVPN intent
- Provider: requires Pool selection
2019-03-18 22:13:36 +01:00
Davide De Rosa
98160fdccb
Split shortcuts into VPN and Trust
2019-03-18 21:00:07 +01:00
Davide De Rosa
8f3d2f0b15
Add basic cells for any possible shortcut
2019-03-18 20:54:47 +01:00
Davide De Rosa
1c103c639d
Add shortcuts view controller stub
2019-03-18 20:54:47 +01:00
Davide De Rosa
c3e6e1ecd5
Move intents to Core target
...
Suppress responses for consistency.
2019-03-18 17:06:35 +01:00
Davide De Rosa
5237aa3916
Import Core framework into iOS target
2019-03-18 11:52:19 +01:00
Davide De Rosa
9dcd6de873
Always donate a MoveTo when provider
2019-03-10 14:13:30 +01:00
Davide De Rosa
7a21338042
Update copyright
2019-03-09 11:44:44 +01:00
Davide De Rosa
5d2450b985
Donate interactions
...
- Connect on add profile (covers first profile)
- Connect on activate profile
- Disable on connect to VPN
- Trust on add current Wi-Fi
- Trust on cellular network
- MoveTo on first connected location (if provider)
- MoveTo on location change (if provider)
2019-03-09 11:23:50 +01:00
Davide De Rosa
2e4d2162ac
Define custom intents
...
- Connect
- Disable
- (Un)Trust current network
- (Un)Trust cellular network
- Move to location
2019-03-09 11:23:47 +01:00
Davide De Rosa
5ccdece72b
Do not reload views on profile renaming
...
Use explicit accessor, implicit didSet is worrisome.
Fixes #37
2019-03-08 12:57:51 +01:00
Davide De Rosa
ccf7a68ba8
Show raw debug log in beta
2019-03-07 23:00:14 +01:00
Davide De Rosa
9441a31fd1
Add button to test app termination
...
Might help reproducing #19
2019-03-06 17:46:06 +01:00
Davide De Rosa
fedea91087
Add FAQ in About
2019-02-03 22:08:24 +01:00
Davide De Rosa
afcb45c614
Cache fetched license content
...
And show an error message when unable to fetch license URL.
2018-12-04 10:45:12 +01:00
Davide De Rosa
534f1e2094
Show activity indicator while loading license
2018-12-04 10:34:38 +01:00
Davide De Rosa
8270c20179
Fetch license content via URL
2018-12-04 10:33:19 +01:00
Davide De Rosa
a486cb4265
List licenses/notices in full table
2018-12-04 10:33:19 +01:00
Davide De Rosa
3d5c2bb8f5
Move .ovpn parser to TunnelKit
2018-11-10 11:39:36 +01:00
Davide De Rosa
c7cb00f679
Move ProfileKey to separate file
2018-11-06 11:16:34 +01:00
Davide De Rosa
e7d2dde972
Add/remove profile to/from filesystem immediately
...
Save unnecessary serialization of unaffected profiles.
2018-11-04 15:06:53 +01:00
Davide De Rosa
bc0568cc38
Do not re-save profiles on (de)activate
...
Only service JSON is affected.
2018-11-04 14:55:25 +01:00
Davide De Rosa
c1065751b6
Add method to parse configuration from [String]
...
With an optional original URL. Helps testing. Take the chance to
also disambiguate method overloads.
2018-11-04 11:45:19 +01:00
Davide De Rosa
9e7c4960e5
Update GitHub URL in license preamble
2018-11-04 10:53:16 +01:00
Davide De Rosa
76a3e48242
Make serialize() the very first call in delegate
2018-11-04 10:49:40 +01:00
Davide De Rosa
3f5d23a34c
Drop redundant table/model updates on remove
...
Already done in commit row, and also breaks animation.
2018-11-04 10:49:40 +01:00
Davide De Rosa
8e445e90b3
Move profile reactions to delegate
...
- Activation
- Removal
2018-11-04 10:49:40 +01:00
Davide De Rosa
b051f8118f
Add "Edit" item to rename host profile
...
Disabled in network profiles. Reuse same title style/constraints
and message strings in host wizard.
For consistency, rename activate() to activateProfile(). And it's
not even an IBAction.
2018-11-02 15:52:36 +01:00
Davide De Rosa
3f1e98f8ac
Delegate profile management from ConnectionService
...
Makes much more sense than dumb wizard notifications. Organizer is
already a ConnectionServiceDelegate.
2018-11-02 15:20:37 +01:00
Davide De Rosa
88124f5588
Replace source section with web section
2018-10-30 20:44:58 +01:00
Davide De Rosa
2564f2446d
Show disclaimer from website
2018-10-29 21:25:22 +01:00
Davide De Rosa
fe85677e68
Add privacy policy
2018-10-29 21:25:08 +01:00
Davide De Rosa
17ebaccbad
Add title to version screen
2018-10-29 21:25:08 +01:00
Davide De Rosa
fec2f02df5
Move Credits inside Version
2018-10-29 21:25:06 +01:00
Davide De Rosa
cced9b018f
Fix provider name ordering
...
Define intrinsecally with Comparable.
2018-10-29 17:48:17 +01:00
Davide De Rosa
3d62728a95
Fix detail replacement in compact mode
...
Do not push created profile onto presented profile or any other
screen deeper inside (e.g. Parameters).
2018-10-27 22:17:53 +02:00
Davide De Rosa
06ecd3367f
Overwrite pending profile when reimporting
...
- Overwrite title field
- Remove old .ovpn
useSuggestedTitle() is only called on load, it will never
overwrite user input unless there's a new import.
2018-10-27 20:41:47 +02:00
Davide De Rosa
326c5b823d
Observe wizard creation via notifications
...
Flow is too scattered to safely maintain delegation.
2018-10-27 20:11:26 +02:00
Davide De Rosa
b7dc72a5e9
Sort hosts ignoring case
2018-10-27 16:56:41 +02:00
Davide De Rosa
33849c8ec8
Retain credentials of replaced host profile
2018-10-27 16:00:34 +02:00
Davide De Rosa
ad063965da
Retain back button in import flow
2018-10-27 15:01:51 +02:00
Davide De Rosa
0f43255676
Show warning alert before continuing import
...
Fixes #16
2018-10-27 15:01:51 +02:00
Davide De Rosa
42c94c3a14
Delete openURL .ovpn on Cancel
2018-10-27 13:35:21 +02:00
Davide De Rosa
9f951fc68b
Delete .ovpn after import
2018-10-27 13:35:21 +02:00
Davide De Rosa
4098a15172
Allow deletion of imported profiles
2018-10-27 12:43:26 +02:00
Davide De Rosa
5dcc9ff970
Sort imported profiles alphabetically
2018-10-27 12:43:26 +02:00
Davide De Rosa
7b7804091b
Deselect profile row on parsing error
2018-10-27 12:43:26 +02:00
Davide De Rosa
663764177a
Forward wizard delegate after import
...
Necessary to delegate adding to organizer.
2018-10-27 12:43:26 +02:00
Davide De Rosa
0e7c0b6388
List imported .ovpn if any, fall back to alert
...
Use .formSheet presentation (iPad).
2018-10-27 12:43:26 +02:00
Davide De Rosa
25523b5f61
Add stubs for imported hosts
2018-10-27 12:43:26 +02:00
Davide De Rosa
8c1e6d00ca
Parse .ovpn file outside of wizard context
2018-10-27 12:33:17 +02:00
Davide De Rosa
422c4da09c
Move ParsedFile out of WizardHostVC
2018-10-27 12:08:44 +02:00
Davide De Rosa
0d14349bca
Move filename charset to extensions
2018-10-27 12:08:44 +02:00
Davide De Rosa
4b075bcc95
Improve alerts on configuration import error
...
Issue reporting is currently disabled because un unparsed .ovpn
may contain sensitive data.
2018-10-27 09:43:57 +02:00
Davide De Rosa
821393af70
Refactor configurations in service extension
...
Reuse same directories of ConnectionService for storing
configuration files.
2018-10-27 09:42:41 +02:00
Davide De Rosa
52ec2bebd5
Restrict charset for host profile title
...
It's used now as a filename. Remember to also normalize pre-filled
title from imported filename by replacing illegal characters.
2018-10-26 18:57:07 +02:00
Davide De Rosa
b5347e04b2
Move Context to ConnectionProfile
...
Fix an id conflict in credentials.
2018-10-26 18:57:07 +02:00
Davide De Rosa
78abb8c764
Refactor service to use external profile JSONs
...
- Store only profile key/metadata into service.
- Map profiles by (context, id), context being either provider
or host.
- Initialize cache with a placeholder profile, lazily load full
profile (e.g. after opening profile).
- Only serialize non-placeholder profiles (opened once).
- Do not load full profiles for organizer listing
WARNING: always load active profile as non-placeholder.
2018-10-26 18:30:37 +02:00
Davide De Rosa
8e1b67d151
Infer profile id uniqueness by context
...
Drop "(provider|host)." prefix, reuse as title.
2018-10-26 17:37:52 +02:00
Davide De Rosa
f1f09dde2f
Rename support request to join community
2018-10-24 21:57:27 +02:00
Davide De Rosa
d781d9c8e0
Add share section with generic activity
...
To invite a friend.
2018-10-23 12:59:06 +02:00
Davide De Rosa
39c053bd54
Add tweet cell to About
2018-10-23 12:59:06 +02:00
Davide De Rosa
4bd339d456
Remove "Report issue" from About
...
Will bind report to current profile.
2018-10-23 12:59:06 +02:00
Davide De Rosa
0f374fa8c9
Rename "Submit debug log" to "Report issue"
2018-10-23 12:59:06 +02:00
Davide De Rosa
346a9490ec
Save .ovpn internally associated to host profile
2018-10-23 12:57:11 +02:00
Davide De Rosa
23e27535c6
Split support requests
...
- Generic support on Reddit
- Debug log via email
2018-10-18 16:40:58 +02:00
Davide De Rosa
b93000819b
Reuse Credits VC to add a Disclaimer
2018-10-18 10:19:08 +02:00
Davide De Rosa
62d1c2d882
Add promoting alert for subreddit
2018-10-18 10:04:23 +02:00
Davide De Rosa
b6d430f106
Add link to Reddit
2018-10-18 09:37:18 +02:00
Davide De Rosa
f3df03de9b
Disclose organizer profiles
...
Use text instead of checkmark to mark active profile. Allows
restoring disclosure indicator.
2018-10-17 23:58:49 +02:00
Davide De Rosa
5c0738b136
Apply accent color to accessory checkmarks
2018-10-15 00:11:46 +02:00
Davide De Rosa
b9ec01945d
Initial commit
2018-10-11 09:13:19 +02:00