Davide De Rosa
4173c7aa6c
Externalize complex bindings ( #329 )
...
Some bindings are too convoluted, move them out of initializers.
2023-07-17 21:44:18 +02:00
Davide De Rosa
0804c6b38e
Attempt release
2023-07-06 18:47:35 +01:00
Davide De Rosa
773d5705f1
Upgrade GitHub Actions
2023-07-06 18:46:01 +01:00
Davide De Rosa
33af87206a
Throw error on reinstate()/connect() ( #328 )
...
Errors here were just being ignored, thus preventing error alert from
appearing.
2023-07-06 19:45:43 +02:00
Davide De Rosa
a7ea010d4e
Extend error handler to modals ( #327 )
2023-07-06 19:29:10 +02:00
Davide De Rosa
1935d9e92c
Attempt release
2023-07-06 11:10:10 +01:00
Davide De Rosa
fac06f58db
Use versioned TunnelKit
2023-07-06 11:09:59 +01:00
Davide De Rosa
cf43e1cd7b
Attempt release
2023-07-06 11:05:27 +01:00
Davide De Rosa
addbf8ab5f
Update TunnelKit with keychain fix
2023-07-06 11:05:14 +01:00
Davide De Rosa
b5d230f0b9
Attempt release
...
Use TunnelKit 6.1.0
2023-07-05 17:16:09 +01:00
Davide De Rosa
f0e3b2fa9c
Improve release workflow ( #326 )
2023-07-05 18:07:47 +02:00
Davide De Rosa
98e5e4cdde
Share common protocols across localized strings ( #324 )
2023-07-05 17:18:33 +02:00
Davide De Rosa
bf70c7c59a
Reorganize app folders ( #323 )
2023-07-04 22:29:43 +02:00
Davide De Rosa
bd6340ce77
Split reusable views into extensions ( #322 )
...
Like in #321
2023-07-03 17:37:16 +02:00
Davide De Rosa
d7ebcb23ba
Split views into extensions ( #321 )
...
Nothing but moving code around to reorganize views into the following
sections (MARK):
- Properties/Body
- Subviews
- Actions
2023-07-03 16:54:43 +02:00
Davide De Rosa
7198150f00
Refactor alerts to use latest API ( #320 )
2023-07-03 16:41:49 +02:00
Davide De Rosa
de7e574fec
Do some housekeeping
...
- Upgrade Xcode project
- Fix Twitter link in README
2023-07-03 12:30:26 +01:00
Davide De Rosa
e960943302
Revert "Move VPNProtocolType serialization to Data layer" ( #319 )
...
Reverts passepartoutvpn/passepartout-apple#318
`Codable` compliance at the domain layer (`Profile` etc.) makes this
change in serialization destructive.
2023-07-03 11:18:12 +02:00
Davide De Rosa
ddf3dc313f
Move VPNProtocolType serialization to Data layer ( #318 )
...
It's crucial that the data layer has full control over how entities are
(de)serialized.
Do not leave this choice up to the domain layer by defining an enum as a
raw value type, because any change in the enum raw value would literally
be a disaster, i.e. _any_ serialized data would break instantly.
2023-07-02 13:27:46 +02:00
Davide De Rosa
278efaf347
Refactor domain errors ( #310 )
2023-07-02 12:51:50 +02:00
Davide De Rosa
3a06d6c984
Do not use spaces in filenames
2023-06-18 10:05:10 +02:00
Davide De Rosa
7030ad40c2
Do not observe shared entities if uninterested ( #313 )
...
`@ObservedObject` is unnecessary in cases where manager operation is
unidirectional.
2023-06-18 10:05:10 +02:00
Davide De Rosa
ddab76326d
Replace deprecated .windows with .connectedScenes ( #316 )
2023-06-17 21:40:09 +02:00
Davide De Rosa
fb47def4ed
Avoid inline format for non-descriptive strings ( #302 )
2023-05-28 11:57:35 +02:00
Davide De Rosa
b89328b5c3
Only show 'Reconnect' on active profile ( #311 )
...
It doesn't make sense anywhere else.
2023-05-28 11:23:07 +02:00
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