Davide De Rosa
f06f097f27
Add SwiftLint phase ( #262 )
2023-03-17 21:55:47 +01:00
Davide De Rosa
cecf64d871
Move Diagnostics view to Profile bottom ( #261 )
2023-03-17 21:46:53 +01:00
Davide De Rosa
2e10aab039
Extend authentication methods ( #259 )
...
* Add profile authentication method
- Persistent (default, fallback)
- Interactive (may expire through reconnections)
- TOTP (seed-based) - currently disabled
* Disable on-demand if login is interactive
* Present interactive prompt on VPN toggle
2023-03-17 16:49:35 +01:00
Davide De Rosa
6e6c212649
Move .killSwitch property to extras
2022-11-10 07:55:31 +01:00
Davide De Rosa
ba09dcffa7
Full OpenVPN XOR patch ( #245 )
2022-11-06 18:08:41 +01:00
Davide De Rosa
e2c976e58d
Attempt beta release
2022-10-31 14:18:07 +01:00
Davide De Rosa
e1a3e7992f
Update TunnelKit with .killSwitch option
...
Fixes #181
2022-10-30 11:54:52 +01:00
Davide De Rosa
aca431aac5
Run tests on PR ( #241 )
2022-10-30 11:53:53 +01:00
Davide De Rosa
dad6d820e9
Upgrade project to Xcode 14
2022-10-29 22:18:02 +02:00
Davide De Rosa
e4ec1e642d
Attempt beta release
2022-10-29 13:40:50 +02:00
Davide De Rosa
b2ec7f0422
Attempt beta release
2022-10-29 13:01:18 +02:00
Davide De Rosa
cdc05f0c10
Update TunnelKit
...
Split IP settings and routes. Now properly handling local routes.
2022-10-29 12:28:27 +02:00
Davide De Rosa
0f04bdcce3
Attempt beta release
2022-10-28 15:42:10 +02:00
Davide De Rosa
0bf1c71504
Update TunnelKit
...
- Default gateway not properly configured
2022-10-28 15:41:49 +02:00
Davide De Rosa
b431ce4f05
Attempt beta release
2022-10-27 00:43:41 +02:00
Davide De Rosa
e9b7be6334
Update TunnelKit
...
- Could encode but not decode profiles with IPv6 endpoints from
Core Data
- Improve options logging
2022-10-27 00:42:48 +02:00
Davide De Rosa
e1d8ec6066
Attempt beta release
2022-10-25 09:07:39 +02:00
Davide De Rosa
7c2d120a09
Update TunnelKit to fix 2.0.1 regressions
...
Fixes #237
2022-10-25 09:06:35 +02:00
Davide De Rosa
f6e0caaa73
Implement --remote-random-hostname
...
- Update TunnelKit
- Show in UI
2022-10-17 09:06:52 +02:00
Davide De Rosa
54dc2307e9
Attempt beta release
2022-10-16 10:09:35 +02:00
Davide De Rosa
c345265451
Attempt beta release
2022-10-16 08:36:17 +02:00
Davide De Rosa
f95e4f228d
Implement --route-nopull via TunnelKit ( #230 )
...
Use it internally to override server-pushed settings.
2022-10-13 19:09:51 +02:00
Davide De Rosa
54dc8a2556
Use MockVPN from TunnelKit
...
Rather than ad hoc strategy.
2022-10-12 22:37:40 +02:00
Davide De Rosa
1cf74d56d6
Update OpenSSL to 1.1.1q
2022-10-08 08:49:59 +02:00
Davide De Rosa
88f40525cf
Fix warning about script w/o output
2022-10-08 08:41:22 +02:00
Davide De Rosa
145c9cbcc9
Drop old script fixing frameworks bug
2022-10-05 21:58:21 +02:00
Davide De Rosa
63c3ac80b4
Attempt beta release
2022-10-04 22:37:53 +02:00
Davide De Rosa
ecb3138817
Attempt beta release
2022-09-25 08:55:15 +02:00
Davide De Rosa
496d993e3d
Attempt beta release
2022-09-23 23:07:40 +02:00
Davide De Rosa
1364d5153e
Attempt beta release
2022-09-23 22:57:36 +02:00
Davide De Rosa
be6726fbd8
Attempt beta release
2022-09-23 21:56:37 +02:00
Davide De Rosa
7fe63ba796
Use versioned TunnelKit
2022-09-23 21:54:40 +02:00
Davide De Rosa
db6f7bdf28
Revisit app metadata and screenshots
...
- Add script to import localized metadata
- Update app name, subtitle, keywords
- Update App Store description
- Replace "OpenVPN" with "VPN"
- Add .conf file extension (WireGuard)
- Drop PIA (404)
- Drop trailing notices
- Update README snapshots (Mac versions unused)
- Update App Store screenshots
- Revert to legacy launch screen (SwiftUI method stretches)
2022-09-15 17:41:22 +02:00
Davide De Rosa
38bdbc3697
Move diagnostics to settings
2022-09-12 22:58:37 +02:00
Davide De Rosa
940e0cf8c9
Attempt beta release
2022-09-05 22:35:22 +02:00
Davide De Rosa
f36d7596d0
Integrate settings with about screen
...
Move everything to SettingsView and remove invite actions.
2022-08-27 23:15:51 +02:00
Davide De Rosa
f465108a0a
Attempt beta release
2022-08-16 12:43:20 +02:00
Davide De Rosa
92ffc382cb
Reconnect VPN without disabling it
...
Retain on-demand flag to avoid leaks during reconnection.
2022-08-05 07:40:43 +02:00
Davide De Rosa
9195d426e4
Attempt beta release
2022-07-18 08:03:24 +02:00
Davide De Rosa
b26e334881
Get Mac strings from main bundle
...
Alter bundle in SwiftGen configuration file.
2022-07-18 07:55:56 +02:00
Davide De Rosa
04faf57d4c
Send app to background if started hidden
...
Sandbox had to be enabled in order to submit binary to App Store
Connect, therefore command line arguments cannot be used to tell
if the app was started by the launcher.
However, given that launcher starts app in hidden state, we can
safely assert that if the app is hidden on start, it was started
by the launcher.
See f33380b4e2
Also drop automatic signing on Mac bundle and unused utils.
2022-07-18 07:55:56 +02:00
Davide De Rosa
32e548421f
Attempt beta release
2022-07-17 14:50:05 +02:00
Davide De Rosa
781291940f
Enforce window appearance on 'Show' after closure
2022-07-16 21:24:53 +02:00
Davide De Rosa
3f4b55a003
Implement Mac bundle with system menu
...
Use bundle as a means to provide Mac APIs to Catalyst app.
In order to cross the @objc wall set by the Mac Bundle mechanism,
Swift structures cannot be used directly and must be bridged
through ObjC facades.
Create NSMenu in MVVM style and install it on app launch. Make
sure to do it in AppDelegate.applicationDidFinishLaunching(),
because doing it as early as in PassepartoutApp.init() would
crash Mac code.
Use .representedObject to own view models.
With menu in place, app can be sent to background when main window
is closed. Requires multiple documents support for app not to die
instantly.
2022-07-16 17:39:42 +02:00
Davide De Rosa
df0d40c556
Add launcher target
...
- Launch main app in background then die
- Do not launch app if already running
- Launch app binary relative to launcher location
2022-06-25 16:53:38 +02:00
Davide De Rosa
7ba9879c8c
Revisit constants structure
...
Move some stuff back to App:
- Constants, and split library-dependent
- InApp entities and constants
Flatten global constants hierarchy.
2022-06-25 14:36:28 +02:00
Davide De Rosa
3c9511cd0c
Only support Catalyst where required
...
- App
- Tunnels
2022-06-25 13:28:28 +02:00
Davide De Rosa
9a8477225e
Refactor library into domain + impl
2022-06-23 23:31:01 +02:00
Davide De Rosa
8504998bbb
Reorganize app-specific shared code into AppShared
2022-06-19 14:41:26 +02:00
Davide De Rosa
02a9db057f
Update TunnelKit
...
- Set explicit tunnel log path
- OpenSSL 1.1.1o
2022-06-19 13:33:49 +02:00
Davide De Rosa
10b4c321c8
Separate context responsibilities
...
- Split Core and App context
- Move .shared instantiation to extension
Context may differ by target.
2022-06-16 13:42:53 +02:00
Davide De Rosa
14b42fbea5
Persist managers state to generic key-value store
...
Move all persisted state out of AppManager to where it really
belongs. To do that, inject a shared KeyValueStore object into
managers that need to persist part of their state in a strongly
typed manner.
Below are persisted states:
- PersistenceManager
- persistenceAuthor
- ProfileManager
- activeProfileId
- UpgradeManager (formerly AppManager)
- didMigrateToV2 (migrate former value)
- VPNManager
- tunnelLogFormat
- masksPrivateData
A similar approach is used for app-specific preferences, by using
a strongly typed enum (AppPreference) together with SwiftUI
@AppStorage property wrapper.
Worth moving logging logic into a specific LogManager.
Finally, drop any former view dependency on AppManager, as states
are now accessed through specific managers.
2022-06-16 13:42:37 +02:00
Davide De Rosa
127ba28a8c
Run SwiftGen manually
...
Build phase may raise concerns in CI.
2022-06-16 13:42:21 +02:00
Davide De Rosa
83cdd460e4
Attempt beta release
2022-05-21 19:15:48 +02:00
Davide De Rosa
a2d4ed370e
Revisit sidebar with per-profile VPN toggles
2022-05-21 19:15:37 +02:00
Davide De Rosa
ddce671c62
Move theme extensions to non-reusable
2022-05-18 11:33:29 +02:00
Davide De Rosa
b1d77cccbc
Attempt beta release
2022-05-18 11:18:57 +02:00
Davide De Rosa
160338e62a
Add credits in Mac about
2022-05-17 19:57:19 +02:00
Davide De Rosa
4c2a471b9f
Attempt beta release
2022-05-17 19:34:13 +02:00
Davide De Rosa
6c798c8b19
Bump build
2022-05-17 16:43:14 +02:00
Davide De Rosa
16d618df0e
Show info menu in ProfileView on iPad/Mac
...
Use .navigationBarTrailing to avoid artifact on Catalyst (item
relocates when first clicked).
Rename menu files too.
2022-05-16 11:18:58 +02:00
Davide De Rosa
743facca6b
Improve Catalyst appearance
...
- Revert to more "stable" iPad idiom
- Set accent color the proper way
- Use .tint when available
- Unify navigation style by idiom
- Retain navigation bars in sidebar/detail
- Lighten sidebar appearance
- Fix Menu style (dropdown -> button)
- Use native Picker (dropdown)
- Use switch toggles rather than checkboxes
- Replace .actionSheet with .alert
- Increase minimum row height
CAVEAT: on Mac with iPad idiom, having a Section in .sidebar
produces artifacts. Header keeps changing height for no reason.
Retain Section on iPad multitasking only to not break navigation.
2022-05-15 22:24:36 +02:00
Davide De Rosa
683a8e7d82
Attempt beta release
2022-05-05 11:07:49 +02:00
Davide De Rosa
092233b546
Attempt beta release
2022-05-04 23:16:01 +02:00
Davide De Rosa
c2676cbdf6
Attempt beta release
2022-05-04 19:03:22 +02:00
Davide De Rosa
9e9cd018eb
Revert "Enable "DNS Settings" capability"
...
This reverts commit 75650b1f0a
.
2022-05-04 09:01:27 +02:00
Davide De Rosa
3c0e511e84
Split again OrganizerView and ProfilesList
...
On iOS 14, Organizer scrolls abruptly on profile selection. It
looks like this was introduced by merging ProfilesList into
OrganizerView.
Try to revert merge to split observation responsibilities.
Drop unused AppManager in +Scene along the way.
2022-05-03 14:40:41 +02:00
Davide De Rosa
75650b1f0a
Enable "DNS Settings" capability
...
Maybe fixes #182
2022-05-02 00:04:56 +02:00
Davide De Rosa
87f2ebfd9e
Attempt beta release
2022-05-01 20:44:17 +02:00
Davide De Rosa
edc7cdf045
Merge List into OrganizerView
...
- Restore wrapping Section as it seems to fix multitasking
- Hide profiles section if empty
2022-05-01 19:19:31 +02:00
Davide De Rosa
107de2d843
Update packages
2022-04-30 00:14:52 +02:00
Davide De Rosa
0047d095fb
Adjust navigation style to all devices
...
- Mac
- Drop all styles
- Tweak hide title bar
- Hide navigation bar
- Restore single section for all profiles
- Allows using NavigationLink safely
- Indirectly fixes multitasking
- Retains selection on profile activation
- Clean up presentActiveProfile
- Leave active profile in its position
- Fixes Mac flashing row selection on profile activation
- Unify profile row appearance
- Use fixed .headline font
- Add subtitles to inactive profiles
- Use padding rather than fixed row height
CAVEATS:
- Do not preselect active profile on iPad launch, as doing so
seems to present two ProfileView on top of each other, one from
MainView and one from the NavigationLink.
- Do not touch .listStyle() of master view, as it seems to break
navigation esp. in iPad multitasking.
2022-04-29 19:29:47 +02:00
Davide De Rosa
49a1f1b55c
Address VPN toggle losing sync with internal state
...
- Update TunnelKit
- Receive TunnelKit notifications on main queue
- Bind VPN toggle to VPNManager directly (implicit animations)
- Update state on VPN didFail
- Set isEnabled = false after uninstalling VPN (not notified)
2022-04-27 15:53:31 +02:00
Davide De Rosa
cd854f8ebf
Group profile actions into menus
...
- Organizer
- Duplicate
- Profile
- Rename
- Siri
- Uninstall (+ confirmation)
- Delete (+ confirmation)
2022-04-27 09:53:42 +02:00
Davide De Rosa
4a0245d757
Rename AddHostView to .NameView
...
In preparation of future additions to flow.
2022-04-26 22:44:34 +02:00
Davide De Rosa
99e48119f7
Encapsulate calculation of former products
...
Use an interface (BuildProducts) that makes understandable and
easily extensibile how some in-app products are inferred by build
number.
2022-04-26 20:55:18 +02:00
Davide De Rosa
1ff19b331f
Move VPNToggle to standalone view
2022-04-26 10:40:46 +02:00
Davide De Rosa
5c0e053e7d
Review requirements of DNS over TLS (DoT)
...
- Make DNS servers optional in TunnelKit
- Allow IP address as DoT server name
2022-04-25 22:40:09 +02:00
Davide De Rosa
6434008ebd
Make destructive buttons standalone
...
- Uninstall VPN
- Remove profile (add to ProfileView)
Create DestructiveButton with iOS 15 .role when available.
2022-04-25 16:34:22 +02:00
Davide De Rosa
deac70359f
Reorganize and fix platform-specific fastlane data
...
Reuse all iOS metadata in macOS, except the app icon.
2022-04-25 11:21:19 +02:00
Davide De Rosa
c507c739bd
Move WelcomeView to its own view
2022-04-23 10:25:31 +02:00
Davide De Rosa
d8e47cb7c0
Refactor strings and add new ones
...
- Move Localizable.strings above to share *.lproj folders
- Reorg menus into contextual/system
- Shorten titles of contextual menus
- Update sharing message with WireGuard
- Drop AlternativeTo
7 phrases left to translate into 9 languages.
2022-04-22 13:12:42 +02:00
Davide De Rosa
c9dfed676e
Move VPN status below active profile
...
Rather than on the side. Similar to old subtitle table view cell.
Restore data count as well (when available).
2022-04-22 09:52:10 +02:00
Davide De Rosa
46050e0141
Refactor ProfileView a little bit
...
- Make welcome a computed property
- Reuse first header for consistency when loading
- Convert isDeleted to better isExisting (inverted)
2022-04-21 19:11:22 +02:00
Davide De Rosa
fd7c232ecc
Unroll ProfileView toolbar items
...
Also leave them visible when disabled.
2022-04-21 19:03:14 +02:00
Davide De Rosa
d1c98006d3
Replace ReloadingContent with implicit animations
...
Infinite loop on init(), but horrible practice in general.
- DonateView
- PaywallView+Purchase
Also show a ProgressView while rows are loading.
DO NOT animate on .products value because animation won't work
if products are empty and stay empty after refresh. Instead,
observe .isRefreshingProducts.
Lastly, to avoid annoying animation when products are actually
available, do not refresh products if non-empty. They certainly
do not change during the application lifecycle.
2022-04-21 11:22:07 +02:00
Davide De Rosa
3f9ff50d0e
Optimize Catalyst for Mac
...
- Fix missing PlugIns in Catalyst build
Hence the VPN failure, there was a "iOS" filter on embed.
- Fix complaint about file access permission
Seems to need R/W when importing VPN configuration files.
2022-04-19 16:48:42 +02:00
Davide De Rosa
bf65f76401
Merge project into iOS + macOS
...
Share views with both platforms initially. Will split specific
views step by step.
2022-04-19 16:14:23 +02:00
Davide De Rosa
2af28c158d
Merge 'Views' folder
2022-04-19 10:12:52 +02:00
Davide De Rosa
ab0a2c8cb4
Reuse provider availability idea from 5d85699
2022-04-19 09:03:41 +02:00
Davide De Rosa
480738d126
Make shortcuts contextual in ProfileView
...
- Add toolbar item
- Target current profile
- Only list relevant shortcuts to profile
2022-04-19 08:41:07 +02:00
Davide De Rosa
18161ed1f1
Group Organizer modals into toolbar menus
...
- Drop status / navigation bars colors
- Restore large title on iPad
- Overlay organizer with "No profiles" when empty
- Uninstall VPN from ProfileView
2022-04-19 08:38:10 +02:00
Davide De Rosa
017182fe81
Rewrite ReloadingSection to be semantic only
...
Use Group instead of Section. Also fix elements not loading if
initially empty.
2022-04-18 19:51:28 +02:00
Davide De Rosa
d5340b0457
Fix another import issue in TunnelKit
2022-04-13 22:57:00 +02:00
Davide De Rosa
dfebb60796
Fix an import issue in TunnelKit
2022-04-13 22:41:12 +02:00
Davide De Rosa
2565b9f3d0
Lock network settings for builds >= 3000
2022-04-13 21:25:24 +02:00
Davide De Rosa
0849fe6cc7
Attempt beta release
2022-04-13 19:49:58 +02:00
Davide De Rosa
5874ce4b9d
Attempt beta release
2022-04-13 19:40:18 +02:00
Davide De Rosa
8026caa5ef
Attempt beta release
2022-04-13 11:20:21 +02:00
Davide De Rosa
c7f7dd89a1
Attempt beta release
...
Update script.
2022-04-13 10:16:43 +02:00
Davide De Rosa
1532e8808b
[ci skip] Address CI and ASC validation issues
...
- Skip tests until fixed wg-go issue
- Add golang step
- Set "Apple Development" at project level
- Set Catalyst platform for gym
- Drop TARGET env variable clashing with WireGuardKit
- Disable SwiftGen script phase
- Fix TunnelKit segfault on archive
- Xcode 13.2.1 compatibility
Fix some issues with @MainActor
Use #available instead of #unavailable
- Raise timeout from 10 to 15 minutes
- Update beta description
- Tunnel bundle ids cannot have periods
- CFBundleDisplayName required in tunnels
2022-04-13 10:00:29 +02:00
Davide De Rosa
ec3cca05ef
Fix TunnelKit package fetched locally
2022-04-12 15:25:38 +02:00
Davide De Rosa
4aba5f46aa
Rewrite app in SwiftUI
2022-04-12 15:12:45 +02:00
Davide De Rosa
a15abe94db
[ci skip] Use versioned TunnelKit
2022-02-15 08:58:03 +01:00
Davide De Rosa
8f16bf376d
Attempt beta release
...
Fix naive compile issue.
2022-02-04 14:18:01 +01:00
Davide De Rosa
e38a2598e2
Attempt beta release
2022-02-04 13:11:01 +01:00
Davide De Rosa
3c2966c836
Attempt beta release
2022-02-04 12:27:28 +01:00
Davide De Rosa
39e7146dcd
Fix TunnelKit reference
2022-02-04 12:24:43 +01:00
Davide De Rosa
31361bf0d8
Attempt beta release
2022-02-04 12:19:18 +01:00
Davide De Rosa
08008dda23
Try lower macOS target to 10.14
...
Requires TunnelKit update.
2022-02-02 19:36:23 +01:00
Davide De Rosa
72044a5e41
Fix globbing in "Run Script" phases
...
See 549cd17dbd
2022-01-07 21:55:56 +01:00
Davide De Rosa
4c673338b7
Attempt beta release
2022-01-07 19:00:33 +01:00
Davide De Rosa
d55fb5dc0f
Attempt beta release
2022-01-04 09:26:55 +01:00
Davide De Rosa
9ecb90b8f9
Handle --keepalive option
2022-01-04 09:25:13 +01:00
Davide De Rosa
549cd17dbd
Delete frameworks from all .appex
2021-12-17 14:47:45 +01:00
Davide De Rosa
05a460d55f
Attempt beta release
2021-12-08 16:11:38 +01:00
Davide De Rosa
4f9bbac178
Attempt beta release
2021-12-04 11:53:51 +01:00
Davide De Rosa
97c6a6f356
Attempt beta release
2021-12-03 15:35:44 +01:00
Davide De Rosa
2a5c231d3d
Polish release workflow ( #207 )
...
* Do run tests in beta
- Test and build app in same lane
- Run tests with swift directly
- Set timeout on build only
- Set GYM_OUTPUT_DIRECTORY inline
- Fix bad build number, broken in db075eb
- Ignore updates to CHANGELOG for testing
- Drop unnecessary exports
- Drop unnecessary test env
- Drop unused PLATFORM .env.* variable
* Work around gym issues in CI
- Set custom build paths for proper clean-up
- Disable xcpretty (seems to hang job)
* Add descriptive names to workflow
- Rename beta to release
- Add job names
* Optimize release workflow
- Use a matrix for multiplatform build
- Only preinstall platform-specific certificates
- Output app version/build early for job reuse
- Do not depend app review on public beta release
- Pull latest commits before pushing/tagging
In release, ci/* scripts require Ruby. Make version an argument
of the commit-release.sh script to fix dependency.
* Import secret to notify external testers or not
* [ci skip] Add CHANGELOG preface in local scripts
* [ci skip] Update links to release via CI
2021-12-03 15:31:19 +01:00
Davide De Rosa
82aaa0b386
Attempt beta release
2021-11-30 16:40:28 +01:00
Davide De Rosa
6d541284a5
Attempt beta release
2021-11-30 12:49:46 +01:00
Davide De Rosa
51821660d2
Commit build number with beta
...
Pick base build number from env, not project. Can now drop
fetch-depth 0 from workflow, no needs for commits count.
2021-11-29 19:06:59 +01:00
Davide De Rosa
6a9b8745ba
Update TunnelKit
2021-11-27 12:39:35 +01:00
Davide De Rosa
549fe3d95e
Commit resolved SwiftPM packages
2021-11-26 09:07:57 +01:00
Davide De Rosa
104c856e45
Fix PEM caching PR in TunnelKit
2021-11-25 12:23:28 +01:00
Davide De Rosa
46fef91f5c
Revert to TunnelKit with OpenSSL
...
- Remove extra "Frameworks" in .appex
- Restore TLS security level 0
- Disable Bitcode for OpenSSL to link properly
2021-11-24 17:03:41 +01:00
Davide De Rosa
fd529752ee
Revert iOS target to 12
...
TunnelKit only requires 12.
2021-11-18 13:10:44 +01:00
Davide De Rosa
b3de7f3a73
Bump build
2021-11-14 19:41:07 +01:00
Davide De Rosa
3ccdfc7626
Bump build
2021-11-12 10:30:25 +01:00
Davide De Rosa
8833c4dbab
Update TunnelKit with BoringSSL
...
- Optimize package granularity and imports
- Adjust targets to smaller TunnelKit components
- Raise iOS target to 13
- Drop support for TLS security level
2021-11-11 15:45:09 +01:00
Davide De Rosa
7ecbd48e18
Do some project cleanup
...
- Update bundle
- Merge old CFG_* variables
- Drop useless Metal build settings
- Fix package warning about case
2021-11-11 15:06:43 +01:00
Davide De Rosa
ae1aa1a268
Reorganize project with SwiftPM
...
- Drop CocoaPods completely
- Make PassepartoutCore a Swift package
- Enable Bitcode to fix OpenSSL linkage (iOS)
- Update CI scripts without CocoaPods
2021-11-06 11:18:55 +01:00
Davide De Rosa
28d7517497
Fix building for test targets
2021-10-10 18:34:21 +02:00
Davide De Rosa
f6af9a3fb8
Bump build number
2021-10-05 20:48:26 +02:00
Davide De Rosa
40ab30365a
Bump build
2021-10-05 08:01:13 +02:00
Davide De Rosa
ca1adb424a
Bump base build number
2021-10-01 19:42:45 +02:00
Davide De Rosa
6dc748ab87
Bump base build number
2021-10-01 10:48:56 +02:00
Davide De Rosa
b0fff93c89
Update bundle/pods
2021-09-27 18:11:58 +02:00
Davide De Rosa
d1a1b555f8
Rename to LocalProduct to avoid StoreKit clash
...
Started happening with Xcode 13.
2021-09-27 18:01:42 +02:00
Davide De Rosa
dd7f144bb3
Move VPN.shared from TunnelKit to Core
...
Start moving legacy out of inner library.
2021-09-20 20:07:30 +02:00
Davide De Rosa
5cf593ed2b
Move strings generation to Core
...
Also fix missing account guidance on iOS.
2021-08-09 10:06:09 +02:00
Davide De Rosa
0ebddc6a68
Drop unused app strings and redo SwiftGen
...
Prefix is now just L10n without strings filename.
2021-08-07 14:00:35 +02:00
Davide De Rosa
31cd5be376
Reuse generic guidance strings
...
Tell by credentials purpose (web or specific).
2021-07-30 17:58:27 +02:00
Davide De Rosa
6487d10cb9
Add missing translations
2021-04-16 16:29:20 +02:00
Davide De Rosa
394762f5d6
Restrict features with purchase screen
...
- Providers
- Trusted networks
2021-02-04 14:09:24 +01:00
Davide De Rosa
e59b6c8723
Upgrade Xcode project
2021-02-04 14:09:09 +01:00
Davide De Rosa
7d2ece0256
Share ProductManager in Core with conditionals
...
In order to share purchase review logic.
Refactor verification of product eligibility
2021-02-04 14:03:47 +01:00
Davide De Rosa
21e9f5c8cc
Integrate new in-app purchases
...
- Share iOS bundle identifier with macOS
- Remove unused macOS donations (reuse iOS if needed)
- Add platform-specific "Full version"
- Skip fetching of legacy providers IAP
2021-02-04 14:03:47 +01:00
Davide De Rosa
dd3cac40c6
Bundle macOS app with iOS
2021-02-02 21:25:59 +01:00
Davide De Rosa
5978705aa9
Enable testing on app targets
2021-01-28 19:39:32 +01:00
Davide De Rosa
8e1c2aea32
Add it macOS translation
2021-01-26 18:05:56 +01:00
Davide De Rosa
9fa40f6ec6
Share configuration l10n in Descriptible
2021-01-13 08:20:10 +01:00
Davide De Rosa
5f83313b79
Bump base build number
2021-01-06 18:01:28 +01:00
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
ed0b12cd24
Use environment for testing full version
2020-12-27 16:56:59 +01:00
Davide De Rosa
1213212332
Move ProductManager to Core
2020-12-27 16:56:25 +01:00
Davide De Rosa
6b2b3fc59f
Drop stale schemes
2020-11-23 18:15:09 +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
c51e578e53
Upgrade Xcode project
2020-02-28 17:28:18 +01: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
99da23de8e
Simulate full version through scheme arguments
2019-11-19 23:38:04 +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