Commit Graph

77 Commits

Author SHA1 Message Date
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
2dafe9f1f2 Invert caption/logic about trusted network policy
Looks more intuitive (default ON).
2018-11-04 12:02:02 +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
1522774c98 Temporarily remove "Test connectivity"
The action does an HTTP GET to a random well-known home page
among the following:

- Google
- Facebook
- Twitter
- Instagram
- Amazon

This was acceptable for development and beta testing. Not so much
for a release. Omit the option until more transparent.
2018-11-04 10:52:43 +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
2525467fe9 Hide "Edit" in provider profiles 2018-11-03 22:23:26 +01:00
Davide De Rosa
860750332f Handle keyboard return in rename alert 2018-11-02 16:23:34 +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
c6d632ede4 Add title to configuration parameter selector 2018-10-27 22:21:20 +02: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
013eaaabd4 Don't touch refresh if can communicate w/ original 2018-10-27 12:33:30 +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
4bcb1fe2ad Convert some warnings to errors 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
dfde9c51e3 Fine-grain report attachments
- Debug log
- .ovpn profile (if any)
2018-10-27 09:42:41 +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
52cf733948 Only make host editable if original cfg available 2018-10-25 22:57:42 +02:00
Davide De Rosa
542a3e3721 Upgrade TunnelKit with configuration refactoring 2018-10-25 22:45:44 +02:00
Davide De Rosa
f1f09dde2f Rename support request to join community 2018-10-24 21:57:27 +02:00