Davide De Rosa
3a59ac7684
Invoke VPNManager methods with a Profile object ( #309 )
...
The VPNConfiguration parameter is opaque and tightly coupled to
TunnelKit. Connecting to a Profile makes infinitely more sense, beyond
simplifying the VPNManager class. Configuration building is fully
delegated to the strategy (as it has to be).
- VPNManager takes Profile and produces VPNConfigurationParameters
- VPNManagerStrategy takes VPNConfigurationParameters (abstract)
- TunnelKitVPNManagerStrategy takes VPNConfigurationParameters and
produces TunnelKitVPNConfiguration internally
2023-05-28 09:56:51 +02:00
Davide De Rosa
36cad41529
Fix IPv4/6 address validation ( #308 )
2023-05-27 21:34:31 +02:00
Davide De Rosa
d05cf7140c
Fail gracefully when refreshing infrastructure ( #307 )
2023-05-27 13:52:57 +02:00
Davide De Rosa
a78a7b18b5
Encapsulate *Persistence responsibilities ( #305 )
...
Do not leave the choice of a repository context up to the library
consumer. Instead, provide a specific factory (*Persistence) for each
module.
2023-05-27 12:32:53 +02:00
Davide De Rosa
efcda495bc
Address logging issues ( #304 )
...
* Make specific message levels a default extension
* Define Loggable protocol
* Keep track of message originator metadata
* Fix tracing of Core Data logs
* Log query on entity not found
2023-05-27 12:14:04 +02:00
Davide De Rosa
7ccb10febc
Rethink library architecture ( #301 )
2023-05-24 18:19:47 +02:00
Davide De Rosa
b4ad8dea0d
Do some code clean up
...
- Use guard in validators
- Rename URL.openURL() to URL.open()
- Sort imports (SwiftLint)
- Drop unused VPNProtocolType.allTypes
- Drop unused imports
2023-05-21 11:48:03 +02:00
Davide De Rosa
1051a8dc52
Revisit domain name validators ( #297 )
...
- Allow TLDs longer than 6 characters
- Allow wildcards in proxy bypass domains
2023-05-01 11:44:41 +02:00
Davide De Rosa
4f294467a7
[ci skip] Set release date
2023-04-27 13:17:18 +02:00
Davide De Rosa
40330cc87a
Attempt beta release
2023-04-18 18:15:39 +02:00
Davide De Rosa
1fd38790e4
Attempt beta release
2023-04-18 17:24:47 +02:00
Davide De Rosa
2a54d59a80
Roll back broken TunnelKit .killSwitch flag ( #294 )
2023-04-18 17:22:45 +02:00
Dmytro Chyrkin
1cb5821f9d
Small fixes for Ukrainian translation ( #288 )
2023-04-12 09:05:39 +02:00
Davide De Rosa
d9dc319342
Update CHANGELOG
2023-04-08 11:59:39 +02:00
Davide De Rosa
574f9a05b5
Show app version in Mac menu ( #286 )
2023-04-08 11:57:42 +02:00
Davide De Rosa
50b4806275
Remove nonsense Mac menus ( #285 )
2023-04-08 11:56:17 +02:00
Davide De Rosa
8f27690aca
Add randomize server feature to CHANGELOG
2023-04-07 12:09:26 +02:00
Davide De Rosa
fc68c674a5
Address issues with release notes in workflow ( #284 )
...
* In release workflow, infer release notes from CHANGELOG
* Retain links in GitHub release notes
2023-04-07 12:08:55 +02:00
Davide De Rosa
8693a0084b
[ci skip] Set release date
2023-04-07 09:27:52 +02:00
Davide De Rosa
0a22d1d684
Strip CHANGELOG of fix PRs
2023-04-06 12:56:32 +02:00
Davide De Rosa
7a7a815979
Attempt beta release
2023-04-06 12:51:01 +02:00
Davide De Rosa
67fc2a3cc0
Override manual DNS servers when using DoH/DoT ( #283 )
2023-04-06 12:50:39 +02:00
Davide De Rosa
aec7f8eefe
Attempt beta release
2023-04-05 16:32:50 +02:00
Davide De Rosa
e3cfdadf97
Cover screen on .inactive ( #282 )
...
* Make unlock block actor-safe
* Cover views on .inactive, lock on .background
2023-04-05 16:31:17 +02:00
Davide De Rosa
0591363b15
Refine platform-specific release notes
...
Symlink metadata to iOS, except "What's New".
2023-04-05 07:59:50 +02:00
Davide De Rosa
34e41ba93f
Attempt beta release
2023-04-04 18:59:44 +02:00
Davide De Rosa
07bd126131
Recognize IAPs other than full version on Mac ( #281 )
2023-04-04 18:59:05 +02:00
Davide De Rosa
d4d3d97081
Attempt beta release
2023-04-04 17:11:44 +02:00
Davide De Rosa
3678d01dc1
Prepare release
...
- Use versioned TunnelKit
- Update targets in README
2023-04-04 17:10:54 +02:00
Davide De Rosa
ad90a5908b
Fix truncation in provider footer
2023-04-04 17:10:54 +02:00
Davide De Rosa
7e2e4d6caa
Import missing translations ( #280 )
2023-04-04 17:07:41 +02:00
Davide De Rosa
e050c0c8df
Catch WireGuard parsing errors properly ( #279 )
...
They could be reported as OpenVPN errors.
2023-04-03 08:48:18 +02:00
Davide De Rosa
7f9ae7c3bc
Always show "Reconnect" button ( #278 )
...
Will do nothing if VPN is disabled. Suboptimal, but consistent
with Mac menu.
2023-04-01 22:46:12 +02:00
Davide De Rosa
6fd1f96e54
Use a distinct debug log per VPN protocol ( #277 )
...
Log content from different tunnels was interleaved.
Store debug logs in a protocol-specific folder.
2023-04-01 21:40:15 +02:00
Davide De Rosa
44e0ca9127
Force Mac "Catalyst" idiom in debug log ( #276 )
...
Mac Catalyst incorrectly reported as "Pad".
2023-04-01 16:24:27 +02:00
Davide De Rosa
33e0ceec04
Lock in background ( #275 )
...
There are plenty of situations where the app kind of stays in the
foreground, but goes to .inactive state. Lock screen could be
annoying in those cases.
2023-03-31 23:47:29 +02:00
Davide De Rosa
e9f11d1dbe
Attempt beta release
2023-03-25 17:07:58 +01:00
Davide De Rosa
1e0d522010
Drop #available condition on iOS 15 ( #274 )
2023-03-25 17:05:53 +01:00
Davide De Rosa
6af4bb7e0f
Resolve issues with lock screen ( #273 )
...
* Make lock screen a View extension
- Reuse in global theme (apply to all modals)
- Use a ZStack rather than replace (retain content/navigation)
- Share lock state across all LockableView
2023-03-25 16:47:08 +01:00
Davide De Rosa
76084dbd30
Attempt beta release
2023-03-20 15:07:26 +01:00
Davide De Rosa
4eb2ac5e0e
Revert interactive login ( #272 )
...
Implementation is buggy/incomplete.
See #259
2023-03-20 15:06:56 +01:00
Davide De Rosa
2d00a05c4c
Attempt beta release
2023-03-20 14:14:20 +01:00
Davide De Rosa
5f991d9cc2
Unlock app with biometrics ( #271 )
...
* Prevent app lock completely in macOS
* Add missing Face ID metadata for biometrics auth
* Ensure MainActor
* Reword option
* Fix lock logic on launch
2023-03-20 14:12:42 +01:00
Davide De Rosa
325e10845d
Option to lock app when entering background ( #270 )
2023-03-20 11:00:01 +01:00
Davide De Rosa
7346bfc65c
Add 3D Touch items ( #267 )
...
- Enable/Disable VPN
- Reconnect (if enabled)
Move lifecycle operations to SceneDelegate.
2023-03-19 20:04:31 +01:00
Davide De Rosa
4a2dec9c6a
Attempt beta release
2023-03-19 16:11:09 +01:00
Davide De Rosa
513b38584d
Upgrade SwiftLint to CI version ( #266 )
2023-03-19 16:10:40 +01:00
Davide De Rosa
4faeb85295
Attempt beta release
...
Update bundle in beta script.
2023-03-19 14:42:56 +01:00
Davide De Rosa
fbd32d8b26
Fine-tune SwiftLint ( #265 )
2023-03-19 14:41:53 +01:00
Davide De Rosa
1dda8dce98
Attempt beta release
2023-03-19 08:45:34 +01:00