Commit Graph

2539 Commits

Author SHA1 Message Date
Davide De Rosa 1b704d7d4a
Decouple VPNManager from TunnelKit (#248)
* Drop VPNManager dependency on TunnelKit

* Hook .masksPrivateData to preferences updates
2022-11-10 07:42:08 +01:00
Davide De Rosa 7ed27558fc
Move refund detection inside ProductManager (#246)
* Detect refunds inside ProductManager

Compare former value and report refund event via subject.

* Hook VPN uninstallation on refund event
2022-11-06 18:51:13 +01:00
Davide De Rosa ba09dcffa7
Full OpenVPN XOR patch (#245) 2022-11-06 18:08:41 +01:00
Davide De Rosa c48e35887c Bump version 2022-11-02 22:33:26 +01:00
Davide De Rosa b1114514f0 Fix missing identity for beta tag 2022-11-01 19:00:26 +01:00
Davide De Rosa 2b083565a1 Update CHANGELOG 2022-11-01 14:21:48 +01:00
Dmitry Chirkin 07eaa54f1b
Ukrainian transaltion (#243)
Co-authored-by: Davide De Rosa <keeshux@gmail.com>
2022-11-01 14:20:09 +01:00
Davide De Rosa e2c976e58d Attempt beta release 2022-10-31 14:18:07 +01:00
Davide De Rosa dc76776fe8 Annotate public beta tags 2022-10-31 14:05:15 +01:00
Davide De Rosa baac1f59a8 Bump version 2022-10-31 08:57:05 +01:00
Davide De Rosa 899e99652e [ci skip] Set release date 2022-10-31 08:55:57 +01:00
Davide De Rosa 0d14cf1b02 Update CHANGELOG 2022-10-30 20:59:30 +01:00
Davide De Rosa 7ef32882f1
Freeze release workflow (#242)
* Freeze release workflow

- Do not pull anything from master

- Do not push release commit to master

- Only push created version tag

* Refine scripts to start new version

1. Cherry-pick hotfixes from released version

2. Bump version to new version

Normally, 1 is only made of the release commit updating CHANGELOG
with the release date.

However, if a release branch was needed to apply hotfixes to the
latest release, cherry picking will account for the whole release
branch (i.e. multiple commits).

* Ignore more paths for unit testing
2022-10-30 12:56:49 +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 22c28de641
Retain original filename as imported profile name (#240) 2022-10-30 10:22:44 +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 b2bdf23c54 Revisit pull section in OpenVPN Endpoint
- Hide from server diagnostics

- Use a better section title
2022-10-29 13:40:30 +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 a96fff2add Import new translations 2022-10-26 17:03:54 +02:00
Davide De Rosa e28bb3db9a Ack new refunds only if refunds list was altered
Fixes #238
2022-10-25 12:48:45 +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 09e4aa1eb6 Add local script to unrestrict app 2022-10-25 09:03:55 +02:00
Davide De Rosa c0cc10ab94
Restore reconnect action (#232)
* Add "Reconnect" in profile view

* Add "Reconnect" in profile context menu

* Update CHANGELOG

* Restrict "Reconnect" in context menu to iOS 16

SwiftUI does not react properly to state updates.
2022-10-17 17:36:32 +02:00
Davide De Rosa 9962401d74 Fix some issues in scripts
- Always use bash for consistent script behavior

- Replace deprecated set-output in GitHub workflows
2022-10-17 13:39:54 +02:00
Davide De Rosa c7a0a3e4b8 Drop 'non-official' from strings 2022-10-17 13:35:30 +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 0f3cc5888c Fix beta environment 2022-10-17 09:05:27 +02:00
Davide De Rosa 6c6904255d Bump version 2022-10-17 09:05:27 +02:00
Davide De Rosa c23bdc2c5e
[ci skip] Set release date 2022-10-17 06:29:20 +00:00
Davide De Rosa 54dc2307e9 Attempt beta release 2022-10-16 10:09:35 +02:00
Davide De Rosa 6a228d29c7 Use specific rounded Mac icon 2022-10-16 10:09:19 +02:00
Davide De Rosa c345265451 Attempt beta release 2022-10-16 08:36:17 +02:00
Davide De Rosa 54c53707e0
Add app log in Diagnostics screen (#234) 2022-10-16 08:33:32 +02:00
Davide De Rosa fbc17877b1 Suppress buggy Xcode warnings
@discardableResult annotations became suddenly ineffective.
2022-10-15 22:30:21 +02:00
Davide De Rosa 7f748e6d1e Reuse "Download" for pulled OpenVPN settings 2022-10-15 16:52:58 +02:00
Davide De Rosa 66a04862f9
Override Mullvad password (#233)
Set "m" as per official documentation:

https://mullvad.net/en/help/installing-mullvad-iphone-and-ipad/
2022-10-15 16:44:48 +02:00
Davide De Rosa c4ca510b72 Fix app icon inconsistencies
- iOS: Single size

- macOS: Add missing
2022-10-15 16:41:13 +02:00
Davide De Rosa 592b0801e2 Prefix server description with category 2022-10-13 23:07:31 +02:00
Davide De Rosa e0efd54cfd Update CHANGELOG 2022-10-13 19:12:37 +02:00
Davide De Rosa 6031d0119a Drop assertion on legit intents scenario 2022-10-13 19:10:45 +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 5627e6c4a9
Address UI race conditions (#229)
* Make some managers concurrency-safe

- IntentsManager: @MainActor, non-shared, continuation

- SSIDReader: @MainActor, continuation

- Reviewer: main queue, non-shared

* Review wrong use of Concurrency framework

There were background thread calls e.g. in VPNToggle, because
ProfileManager was used inside a VPNManager async call.

Annotate @MainActor wherever a Task involves UI.

* Make main managers MainActor

* Apply MainActor to Mac menus

* [ci skip] Update CHANGELOG

* Set MainActor consistently on Mac menu view models
2022-10-13 08:53:50 +02:00