Commit Graph

321 Commits

Author SHA1 Message Date
Davide De Rosa 8d31bdc22f Fix Xcode version in CI
Xcode was 12 instead of 12.2 and therefore OpenSSL was failing on
Apple Silicon arch (MacOSX arm64).
2021-01-06 17:36:00 +01:00
Davide De Rosa 4c1fe20160 Upgrade Xcode project 2021-01-03 22:28:08 +01:00
Davide De Rosa d4b7d47498 Merge macOS app and Core into repository
Temporarily drop env and fastlane.
2021-01-03 22:28:07 +01:00
Davide De Rosa 1213212332 Move ProductManager to Core 2020-12-27 16:56:25 +01:00
Davide De Rosa 6b07e7eb9e Fix wrong deployment target (14.2 -> 12.0) 2020-11-21 19:05:29 +01:00
Davide De Rosa 2f42099bd0 Update project and deprecated APIs 2020-11-15 22:21:31 +01:00
Davide De Rosa 267119b0fd Fix overridden deployment targets 2020-11-15 17:42:21 +01:00
Davide De Rosa 4887c27816 Update TunnelKit with VPN manager 2020-06-23 09:54:39 +02:00
Davide De Rosa c033c208bd Upgrade project 2020-05-23 17:59:53 +02:00
Davide De Rosa 6159221d0b Add/update translations
Legitimate:

- es
- fr
- it
- pl
- ru
- zh-Hans
2019-12-11 12:28:03 +01:00
Davide De Rosa 28a7dcdcf7 Update providers via web service
Reload products after update. Always re-list products!

Had to fix web services in Convenience, completion handler not
invoked from main queue.
2019-11-28 11:34:01 +01:00
Davide De Rosa 97f458385c Update to API v3
- Dynamic providers
- Add index.json to API
2019-11-28 09:57:34 +01:00
Davide De Rosa 1fd2d18653 Refactor trusted networks code 2019-11-21 09:15:24 +01:00
Davide De Rosa 70783f9dda Reuse Credits from Convenience 2019-11-20 23:14:19 +01:00
Davide De Rosa 41030d2d17 Prepare Info.plist for localization 2019-11-02 12:18:44 +01:00
Davide De Rosa a9065bf9b7 Move Flags from Core to app 2019-11-02 11:18:43 +01:00
Davide De Rosa 1e6c5ba91b Design purchase screen
- Required product
- Full version
- Restore purchases
2019-11-01 16:17:30 +01:00
Davide De Rosa e99cc3669d Add stubs for purchase screen
With macro for presenting it everywhere.
2019-10-31 09:36:08 +01:00
Davide De Rosa e62aae16fc Add new in-app purchases
- Rename Donation to Product accordingly
- Infer product from provider name
2019-10-30 15:21:37 +01:00
Davide De Rosa 5f3ebfd9fe Drop VersionViewController
Reuse from Convenience.
2019-10-28 09:53:32 +01:00
Davide De Rosa e0a9fadac4 Add server network screen 2019-10-23 11:59:30 +02:00
Davide De Rosa 68da29474b Refactor import logic into HostImporter
Cover the parsing steps + passphrase. Leave name and credentials
as is.
2019-10-22 23:03:46 +02:00
Davide De Rosa 1c537727cb Enforce 64-bit archs
Work around "Too many symbol files" warning.
2019-10-11 14:37:27 +02:00
Davide De Rosa aef0201b00 Revert strip symbols (who touched it?)
Raises "Too many symbols" issue when uploading to App Store Connect.
2019-10-11 13:38:12 +02:00
Davide De Rosa 2cd6677e16 Replace with Convenience entities
- About
- Alerts
- Dialogs
- InApp
- Reviewer
- SingleOptionViewController
- StrongTableModel
2019-10-11 12:43:05 +02:00
Davide De Rosa 4e6b9b358b Revert "Temporarily use automatic signing"
This reverts commit f3a8e4ae25.
2019-09-22 20:58:23 +02:00
Davide De Rosa f3a8e4ae25 Temporarily use automatic signing 2019-09-11 10:03:48 +02:00
Davide De Rosa c9f807babd Upgrade project to Xcode 11
Disable code signing for frameworks.
2019-09-11 10:03:48 +02:00
Davide De Rosa 3c62a967c9 Use TunnelKit 2.0.3
Had to update CocoaPods 1.6.0 to 1.7.5
2019-09-07 00:14:01 +02:00
Davide De Rosa f90a84f1a4 Reuse Issue from Core 2019-09-05 22:50:56 +02:00
Davide De Rosa 3b9e3879ca Move InAppHelper to Core 2019-08-16 00:24:05 +02:00
Davide De Rosa 2c3e19eec1 Add zh-Hans to project localizations
Forgotten as usual!
2019-08-11 16:01:10 +02:00
Davide De Rosa 57c23085fb Add Settings bundle to leverage language selector
New in iOS 13.

Fixes #90
2019-07-27 10:01:59 +02:00
Davide De Rosa 2e362bf553 Reuse Core extensions
- NetworkChoice.choices()
- OpenVPN.* available options
- ConnectionProfile.clientNetworkSettings
2019-06-23 00:17:37 +02:00
Davide De Rosa 282728ae1e Move app-related strings in
Move Core strings to app target.

SwiftGen uses same bundle by default. No problem because Core
does not (and should not) any string internally.
2019-06-23 00:11:56 +02:00
Davide De Rosa 0bb5f1d9c0 Remove again spurious pt-br 2019-06-19 15:12:42 +02:00
Davide De Rosa c6e54de869 Fix strict pt localization 2019-06-13 10:19:07 +02:00
Davide De Rosa 08b3230b2c Work around Xcode breaking l10n
Localized intents are imported incorrectly, with .strings
files separate from the .intentdefinition. HARD TO BELIEVE (not
so much with such a broken IDE), when this happens, everything
breaks, including Localizable.strings. For some obscure reason,
the English strings are still reachable.

Workaround:

- Import Intents.intentdefinition
- Remove Intents.strings from project (reference only)
- Re-enable each localization for Intents.intentdefinition
- When asked, select "Use file"

See dc2de46327
2019-05-28 08:41:24 +02:00
Davide De Rosa ff57e4fd2c Remove Core test target 2019-05-28 08:41:24 +02:00
Davide De Rosa 04a00fdb98 Remove spurious macOS framework 2019-05-28 08:41:24 +02:00
Davide De Rosa ef300e07d2 Fix Swift version globally 2019-05-28 07:01:49 +02:00
Davide De Rosa 0a21237a47 Fix missing es localization
Delete stale directory.
2019-05-28 06:54:04 +02:00
Davide De Rosa 0bdfc2313b Update pods 2019-05-27 00:15:51 +02:00
Davide De Rosa 6ef7a97098 Symlink to submodules
Easier to switch to other directories.
2019-05-27 00:14:14 +02:00
Davide De Rosa 6ec7785d31 Isolate future submodules
- API
- Core

Prepend API version prefix to bundle path.
2019-05-27 00:14:14 +02:00
Davide De Rosa dc2de46327 Reimport Passepartout Resources
Normalize localized intents.
2019-05-27 00:14:13 +02:00
Davide De Rosa 84eb9d09c4 Rename Core targets
Fix import in Core umbrella header.
2019-05-27 00:13:33 +02:00
Davide De Rosa e50ed97b3f Translate es application 2019-05-27 00:06:49 +02:00
Davide De Rosa 190eab152c Translate es intents 2019-05-26 21:52:05 +02:00
Davide De Rosa 641890f4ab Integrate fr localization 2019-05-26 08:35:43 +02:00
Davide De Rosa 60b967ee3a Make provisioning ids dynamic via .xcconfig 2019-05-25 18:29:10 +02:00
Davide De Rosa 4197a33ec8 Integrate sv localization 2019-05-25 10:02:09 +02:00
Davide De Rosa 2dd8e5613a Integrate el localization
Shorten app subtitle for char limit.
2019-05-21 15:35:11 +02:00
Davide De Rosa 98f8b04f39 Integrate nl localization
Copy missing files from en-US.

Had to shorten app subtitle for char limit.
2019-05-20 14:17:45 +02:00
Davide De Rosa ef4bdcafa8 Reorder files 2019-05-17 13:07:18 +02:00
Davide De Rosa c6fbdca342 Move network settings to ad-hoc screen
Can now set gateway/DNS/proxy settings explicitly.

- Read from .ovpn (hosts only)
- Pull from server (PUSH_REPLY)
- Set manually
2019-05-01 23:00:28 +02:00
Davide De Rosa d9a0ebd923 Upgrade API to v2 (entities) 2019-04-25 21:30:43 +02:00
Davide De Rosa 24ea18b7a0 Restore pt-BR localization
Lost in some conflict...
2019-04-25 18:31:26 +02:00
Davide De Rosa 69515ee6a3 Add ru translations 2019-04-23 15:45:56 +02:00
Davide De Rosa c68d6b44cc Add de translation 2019-04-23 14:35:29 +02:00
Davide De Rosa fd9a165817 Use Locale for country names too
I hadn't thought it before!
2019-04-13 18:55:45 +02:00
Davide De Rosa cf8f0984a3 Cache pool models, do not rebuild each time
Invalidate on new infrastructure.
2019-04-11 23:38:16 +02:00
Davide De Rosa e0c8b478bb Unzip NordVPN external resources to cache 2019-04-11 19:11:08 +02:00
Davide De Rosa 35605ba89f Download resource with progress HUD 2019-04-11 19:01:59 +02:00
Davide De Rosa 4add7a695c Migrate to Swift 5
Last time was probably incomplete.
2019-04-11 16:51:12 +02:00
Davide De Rosa bb299335ad Add activity cell 2019-04-08 22:59:24 +02:00
Davide De Rosa 26453f9612 Add donation view controller 2019-04-07 15:29:10 +02:00
Davide De Rosa 895c19328e Add in-app donation identifiers 2019-04-07 15:29:10 +02:00
Davide De Rosa c542722f47 Regroup storyboard implementations 2019-04-07 08:52:16 +02:00
Davide De Rosa 920c704359 Externalize About storyboard 2019-04-07 08:52:16 +02:00
Davide De Rosa 0ba072c6dd Normalize intent localization 2019-04-06 22:46:30 +02:00
Davide De Rosa 97a72c7c02 Create PoolGroup for logical country/area grouping
When multiple nums (#) exist within a group.
2019-04-06 16:20:01 +02:00
Davide De Rosa 805737caea Translate all strings
Use "e-mail" everywhere.
2019-04-05 22:31:04 +02:00
Davide De Rosa e01f95d23b Translate intents 2019-04-05 19:49:20 +02:00
Davide De Rosa cbf6525354 Reorganize project for multiple languages 2019-04-05 19:49:20 +02:00
Davide De Rosa 7d417e14ee Add pool country flags 2019-04-05 11:59:39 +02:00
Davide De Rosa b9de756253 Move provider logos to own assets 2019-04-05 10:17:29 +02:00
Davide De Rosa f97b8447d9 Show provider logos in Organizer and Wizard 2019-04-05 00:52:36 +02:00
Davide De Rosa ab5517dcba Rename ParsingResult to Result
From ConfigurationParser in TunnelKit.
2019-04-04 19:26:08 +02:00
Davide De Rosa 921e57557d Render data count with closest unit
Set a 10% boundary (e.g. 100MB = 0.1GB).
2019-03-30 20:10:04 +01:00
Davide De Rosa 912ae63ead Convert resources to Base l10n
Could this fix the uploader issue with intents localization?
2019-03-30 19:25:06 +01:00
Davide De Rosa ae88fdfad6 Rename shortcut manager vc 2019-03-27 22:09:08 +01:00
Davide De Rosa d5b7a1e576 Show existing Siri shortcuts as first controller 2019-03-27 21:08:51 +01:00
Davide De Rosa 3eb9c6ae98 Localize Pool via country code + area 2019-03-21 22:21:42 +01:00
Davide De Rosa ed79c79df5 XXX: Restore intent definition w/o gen classes
Okay, it's causing "Invalid Siri Support" l10n warnings when
uploading to App Store Connect, but intents don't work without
this.

Back and forth from 5dd02e8 and a471161
2019-03-19 18:05:11 +01:00
Davide De Rosa a471161892 Fix again intent definition glitch 2019-03-18 23:11:41 +01:00
Davide De Rosa 220d1233af Restore intents definition in app target 2019-03-18 22:32:07 +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 1ea85ff32e Move shortcuts to separate storyboard 2019-03-18 21:18:40 +01:00
Davide De Rosa 1c103c639d Add shortcuts view controller stub 2019-03-18 20:54:47 +01:00
Davide De Rosa ebcf7da8c2 Restore valid archs (64-bit)
Suppress warnings on ASC uploads.

Introduced in e8678e4
2019-03-18 18:48:48 +01:00
Davide De Rosa 5dd02e8939 Fix glitch with intent l10n 2019-03-18 18:44:34 +01:00
Davide De Rosa 1b5070d667 Fix duplicated pods (Core + App)
Had to deintegrate and reintegrate CocoaPods.
2019-03-18 17:59:02 +01:00
Davide De Rosa 4b8d7814fc Normalize project version 2019-03-18 17:31:33 +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 c7f522f55e Create Passepartout-Core framework target
Move all sources to this target, out of Passepartout-iOS.

FIXME: TrustedNetworks uses ServiceViewController.RowType
FIXME: make iOS target depend on Core.
2019-03-18 11:19:24 +01:00
Davide De Rosa 1dc659dbe1 Localize intents definition
And drop redundant ConnectVPN intent subtitle.
2019-03-10 14:11:59 +01:00
Davide De Rosa e8678e4eea Set beta release
Update to recommended project settings.
2019-03-09 11:39:35 +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 f01027bca5 Add Siri capability 2019-03-09 08:45:48 +01:00
Davide De Rosa 9524a72f2b Work around TunnelKit/OpenSSL linking issue 2019-02-25 22:56:24 +01:00
Davide De Rosa 3f90a96744 Fix CocoaPods regression
Stick to 1.5.3 until they fix CocoaPods/CocoaPods#8333 properly.

Also, use TunnelKit with a proper OpenSSL version.

Fixes #34
2019-02-25 12:25:29 +01:00
Davide De Rosa 68b9cf0fdf Convert bundled API to a folder reference
Create intermediate directory for cached infrastructure.
2019-02-23 11:18:31 +01:00
Davide De Rosa 76c50e637d Add reviewer singleton
Prompt for rating after N events.
2018-12-10 12:47:53 +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 290cb6d25e Fix things broken by product renaming
Broken by 156f47b
2018-11-10 11:00:58 +01:00
Davide De Rosa c7cb00f679 Move ProfileKey to separate file 2018-11-06 11:16:34 +01:00
Davide De Rosa 389746180b Move PlaceholderConnectionProfile to separate file 2018-11-06 11:16:30 +01:00
Davide De Rosa 156f47bb65 Normalize product names
Remove platform suffix.
2018-11-06 11:01:44 +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 0d49d1abc8 Upgrade SwiftGen 2018-10-28 14:50:12 +01: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 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 76f2597424 Update TunnelKit and remove unused code
ConnectionProfileHolder
2018-10-26 19:05:25 +02:00
Davide De Rosa d087acd512 Migrate host configurations 2018-10-25 22:45:50 +02:00
Davide De Rosa 542a3e3721 Upgrade TunnelKit with configuration refactoring 2018-10-25 22:45:44 +02:00
Davide De Rosa 346a9490ec Save .ovpn internally associated to host profile 2018-10-23 12:57:11 +02:00
Davide De Rosa b93000819b Reuse Credits VC to add a Disclaimer 2018-10-18 10:19:08 +02:00
Davide De Rosa b9ec01945d Initial commit 2018-10-11 09:13:19 +02:00