Commit Graph

2978 Commits

Author SHA1 Message Date
Davide De Rosa 18b933d36e
Respect global macOS accent (#490) 2024-02-03 11:52:29 +01:00
Davide De Rosa 7f5b84c72b
Override profile list selection color (#486)
Both List and Toggle use accent color for their tint. Instead:

- Set grayish .tint on List to customize selection color
- Retain global accent in VPNToggle

Fixes #458
2024-01-27 15:59:40 +01:00
Davide De Rosa ef0ac50c62
Improve some in-app tests (#484)
A few things:

- One feature eligibility test was incorrect, namely
`test_givenFreeVersion_thenIsNotEligibleForAnyFeature`
- Eligibility tests of feature subsets must also assert ineligibility of
excluded features
- App type was not covered

Also add and test a new .fullVersionPlusTV app type including the
.appleTV feature.
2024-01-20 09:50:23 +01:00
Davide De Rosa 7b30d48ea4
Bump version 2024-01-20 00:21:14 +01:00
Davide De Rosa 24b08c4b50
Update restricted profile except expiration (#481)
TV profiles were not updated until expiration.
2024-01-19 08:39:38 +01:00
Davide De Rosa e3f4443cc0
Attempt release 2024-01-19 00:07:12 +01:00
Davide De Rosa 5fe9d7405f
Attempt release 2024-01-14 15:14:42 +01:00
Davide De Rosa 36ca3a1fcd
Update CL 2024-01-14 15:14:31 +01:00
Davide De Rosa 64d1131fdd
Update copyright
Closes #473
2024-01-14 14:36:55 +01:00
Davide De Rosa 760093368b
Drop moved template 2024-01-14 14:30:33 +01:00
Davide De Rosa 17fa7d5b42
Extend issue templates with copyright 2024-01-14 14:29:26 +01:00
Davide De Rosa d0cd953031
Drop deprecated .disconnectsIfNotMatching (#472)
Unused since trusted networks was converted to on-demand.
2024-01-14 14:20:39 +01:00
Davide De Rosa 67ede3ee82
Add PR template for copyright updates 2024-01-14 14:17:33 +01:00
Davide De Rosa cdd33c881d
Attempt release 2024-01-14 14:04:39 +01:00
Davide De Rosa 0299466a8f
Unintended sensitive data in issue reports (#471) 2024-01-14 14:01:54 +01:00
Davide De Rosa ea0fd51362
Attempt release 2024-01-11 18:18:23 +01:00
Davide De Rosa 4b909ebf8a
Attempt release 2024-01-11 17:52:31 +01:00
Davide De Rosa 3fb521a584
Split Apple TV purchase (#467)
Full version features were listed when purchasing the Apple TV feature,
and this was very misleading.
2024-01-11 17:52:05 +01:00
Davide De Rosa 917e712510
Attempt release 2024-01-11 16:47:40 +01:00
Davide De Rosa e21e11b022
Rework how purchasable products are presented (#465)
Fixes #464
2024-01-11 16:46:52 +01:00
Davide De Rosa 63cbf39a8a
Attempt release 2024-01-11 00:16:47 +01:00
Davide De Rosa 328e2bafd6
Attempt release 2024-01-11 00:15:49 +01:00
Davide De Rosa 990fde5325
On-demand not applying to wired connections (#463)
Condition is `#if os(macOS)`, but a Catalyst app is actually `os(iOS)`,
so the code adding the Ethernet rule was being ignored.
2024-01-11 00:15:06 +01:00
Davide De Rosa 92d5008d1c
Drop trailing dot in some strings 2024-01-10 20:14:20 +01:00
Davide De Rosa 07c0242cc5
Add missing PILOT_PLATFORM for TV 2024-01-10 19:10:38 +01:00
Davide De Rosa e8d8f27750
Attempt release 2024-01-10 18:51:03 +01:00
Davide De Rosa 2e989fd127
Rewrite wrong refund logic (#462)
So, if both a purchase and a refund of feature `.foobar` existed,
whatever the dates, the purchase was incorrectly discarded.

Fixes #459, fixes #461
2024-01-10 18:48:38 +01:00
Davide De Rosa 821d4c79f4
Attempt release 2024-01-09 18:18:53 +01:00
Davide De Rosa 5794229f94
Regression in purchase elegibility predicate (#460)
The cancellation predicate does not include the condition where
cancelled purchases is nil.
2024-01-09 18:17:05 +01:00
Davide De Rosa bf4dc6c920
Add tvOS build to beta/review CI jobs (#453)
_Should_ work out of the box.

Closes #450
2024-01-07 12:17:46 +01:00
Davide De Rosa dde2d22eed
Revisit submission of OpenVPN diagnostic report (#452)
Some improvements:

- Suggest replacing the template with the description of the issue
- Attach app log
- Append purchased features

Also reuse the same body for `mailto:` reports, as metadata were not
being attached in that case.

Closes #377
2024-01-07 12:11:16 +01:00
Davide De Rosa f13b4d0768
Upload tvOS build to TestFlight (#449)
Update the release workflow by adding tvOS to the matrix. The build job
should work, not 100% sure about pilot.
2024-01-06 10:55:44 +01:00
Davide De Rosa 60ed10e45e
Attempt release 2024-01-06 00:10:22 +01:00
Davide De Rosa b23e2b974e
Lock gems platform 2024-01-06 00:10:11 +01:00
Davide De Rosa 87804e89d8
Attempt release 2024-01-06 00:07:26 +01:00
Davide De Rosa 31005c84ba
Add tvOS to matrix 2024-01-06 00:06:15 +01:00
Davide De Rosa 978c74ad6e
Attempt release 2024-01-05 23:55:19 +01:00
Davide De Rosa 4836bbac18
Restore proper OpenVPN connectivity (#447) 2024-01-05 23:54:16 +01:00
Dmytro Chyrkin 0b7b82129b
fix: added missing uk translation (#445)
Co-authored-by: Davide De Rosa <keeshux@gmail.com>
2024-01-05 16:38:16 +01:00
Davide De Rosa 7295249cb8
Attempt release 2023-12-31 01:24:28 +01:00
Davide De Rosa 5c5697762b
Add minimal TV app
Closes #315
2023-12-31 01:21:38 +01:00
Davide De Rosa 47c6b02c4d
Use FeatureModel in paywall (#442)
Rather than anonymous tuples.
2023-12-23 12:38:00 +01:00
Davide De Rosa 7d7aaa8b0c
Update paywall (#441)
Group features and drop platform purchases.
2023-12-23 12:10:34 +01:00
Davide De Rosa 239d3e6853
Fix in-app eligibility in VPN (#440) 2023-12-23 07:59:23 +01:00
Davide De Rosa 4c4876c5f7
Incorrect handling of receipt purchases (#439) 2023-12-21 08:54:00 +01:00
Davide De Rosa 1551b59f21
Use async in ProductManager (#438)
Drop legacy completion handlers. Push `Task` to the views.

Also:

- Group library tests in a test plan
- Fix a broken library dependency
2023-12-21 08:09:52 +01:00
Davide De Rosa a0da930d98
Refactor and test ProductManager (#437)
Carefully drop the StoreKit and Kvitto dependencies for ProductManager
to be testable.

Rebuild test target completely to start writing meaningful tests in
general.
2023-12-20 20:43:39 +01:00
Davide De Rosa 7c42263fb1
Update README 2023-12-19 10:59:39 +01:00
Davide De Rosa 38b06b6bb5
Encrypt profiles stored to iCloud (#436)
Going forward, persist profiles encrypted to the CloudKit container.
Conversely, read from the encrypted field if any, falling back to the
plain JSON field.

WARNING: the change is NOT backward compatible, as it would defeat the
purpose. That is, once the profile is stored encrypted, the old plain
profile is erased and its content won't be readable by older versions of
the app.
2023-12-17 23:31:08 +01:00
Davide De Rosa 526ed49472
Disable nonsense tests (#435)
ATM they are not tests and are completely meaningless. Also expensive as
they hit the live GitHub API. Disable until fixed.
2023-12-17 13:02:39 +01:00