Davide
b455701daa
Improve appearance of "Purchased"
...
- Animate load
- Handle load errors
2024-11-26 17:28:19 +01:00
Davide
aa9da8c9e0
Bump version
2024-11-26 16:52:02 +01:00
Davide
b9f3500f31
Fix regressions in L&F ( #944 )
...
- Text appearance on iOS/macOS (broken by #943 )
- Visual ambiguity in "Purchased" when no feature is eligible
- "Purchased" must be a form on macOS
2024-11-26 16:50:37 +01:00
Davide
4d84bd1dd6
Bump version
2024-11-26 16:34:35 +01:00
Davide
ed1d78d424
Add manual flow to run Xcode tests
2024-11-26 16:24:12 +01:00
Davide
40741ebf2b
Receive tests on ImmediateScheduler
2024-11-26 16:20:16 +01:00
Davide
1a6e566714
Bump version
2024-11-26 15:55:50 +01:00
Davide
80d40c3161
Improve TV settings screen ( #943 )
...
- Show detail side by side rather than navigate
- Fix scrolling in purchased view
2024-11-26 15:55:04 +01:00
Davide
e49e8881b3
Share tests timeout and set to .infinity
2024-11-26 12:33:28 +01:00
Davide
9b8ebc10a8
Bump version
2024-11-26 11:28:44 +01:00
Davide
829bde865e
Retain on-demand flag on save profile ( #942 )
...
Regressed recently in library. When a profile was "Inactive
(on-demand)", saving it would revert to "Inactive" because the
underlying manager was being disabled.
2024-11-26 11:05:02 +01:00
Davide
55dbd5cb84
Try to fix wait() in ProfileManager tests
...
In case condition is immediately met.
2024-11-26 10:33:30 +01:00
Davide
8ec6f90077
Connect on provider server selection ( #941 )
...
Unless profile is current and active, in which case AppContext does it
under the hood.
2024-11-26 10:30:30 +01:00
Davide
1c1d2502c3
Show quick profile menu rather than just edit ( #940 )
...
"Edit" is a less frequent action than "Select provider server". Offer a
common place for quick actions.
One step towards #933
2024-11-26 09:42:47 +01:00
Davide
19da40d3f8
Simplify VPNProviderServerView components ( #939 )
...
Merge former ContainerView into main view and define platform-specific
subviews:
- ContainerView (composition of content + filters)
- ContentView
- FiltersView
2024-11-26 09:20:00 +01:00
Davide
b357d985ed
Add "Refresh infrastructure" in server lists ( #938 )
...
Refactoring:
- Split Providers and VPN views
- Rename VPNProviderServerView subviews
- Reuse RefreshInfrastructureButton
Closes #929
2024-11-26 01:04:58 +01:00
Davide
8b043d8a4f
Refactor provider server views
...
- Rename ServersView to ContainerView
- Rename ServersSubview to ContentView
- Split parent extensions and content
- Move container handlers to methods suggesting logic
- Drop dup previews
2024-11-26 00:18:08 +01:00
Davide
ca54d8f41a
Perform onboarding steps on upgrade ( #936 )
...
Store the current step in a linear list of onboarding steps that can
increase with each app upgrade.
Fixes #930
Fixes #931
Fixes #932
2024-11-25 21:55:31 +01:00
Davide
7f7e591616
Add view in "About" about purchased products ( #935 )
...
Closes #897
2024-11-25 19:17:18 +01:00
Davide
07b4e786c3
Localize WireGuard errors ( #934 )
...
Fixes #894
2024-11-25 11:34:31 +01:00
Davide
7e49493d75
Improve provider servers responsiveness on iOS ( #927 )
...
Pre-compute servers by country code.
Fixes #898
2024-11-25 10:18:10 +01:00
Davide
9c93158a3d
Add missing template headers
2024-11-25 10:02:01 +01:00
Davide
4cbe954789
Add some preliminary templates for manual tests ( #926 )
...
- In-app
- Migration
- Release
- Platforms
2024-11-25 09:57:45 +01:00
Davide
f83a35e35d
Bump version
2024-11-24 21:21:18 +01:00
Davide
fa293656f4
Fix missing beta check on tvOS ( #925 )
...
Reuse the same receipt trick from iOS.
Also, fix a regression in IAPManager.fetchLevelIfNeeded() from #903 ,
where a guard after an await was dropped leading to reentrancy issues.
2024-11-24 21:19:43 +01:00
Davide
a6f132a6e6
Bump version
2024-11-24 20:31:29 +01:00
Davide
16f0047046
Raise other test timeouts
2024-11-24 20:31:17 +01:00
Davide
f0ed7af62c
Bump version
2024-11-24 20:22:00 +01:00
Davide
6615b69d44
Bump timeout in ProfileManagerTests
2024-11-24 20:21:39 +01:00
Davide
1431cc167c
Parallelize all tests
2024-11-24 20:15:10 +01:00
Davide
5fd3e3badd
Bump version
2024-11-24 20:02:21 +01:00
Davide
2aa91eedb0
Simplify paywall entities ( #923 )
...
- PaywallView is the paywall content
- PaywallModifier attaches paywall with optional confirmation
- PurchaseRequiredButton presents paywall explicitly
- PaywallReason is the compound input
Refactoring:
- PurchaseRequiredButton takes a custom view
- PurchaseAlertModifier was merged into PaywallModifier
- PurchaseButtonModifier was merged into PurchaseRequiredButton
- Modal options were packed into a single struct
Confirmation alert presented on:
- Connect to ineligible profile (AppCoordinator)
- Save ineligible profile (ProfileCoordinator)
2024-11-24 20:01:30 +01:00
Davide
064e834e23
Bump version
2024-11-24 01:06:35 +01:00
Davide
cb530d8a65
Handle TV requirements on connection ( #922 )
...
Fixes #913
2024-11-24 01:01:04 +01:00
Davide
bad9e8b58e
Add TV settings tab ( #921 )
...
Includes:
- Credits
- Donations
- Diagnostics
- Version
Had to:
- Wrap tab view into a NavigationStack for full-screen navigation
- Take out navigation titles of about subviews
- Customize donations view layout with modifier
- Fix credits and debug log to support scrolling
Closes #914
2024-11-23 23:01:11 +01:00
Davide
f13a292b4b
Refactor String identifiers ( #920 )
...
- Group all views under "views.*"
- Split global strings into actions and nouns
- Use underscores
- Clean up unused
Fixes #835
2024-11-23 20:31:22 +01:00
Davide
3e2823c2e0
Suppress module name
...
Uneditable with #909 , must hide potentially existing name.
2024-11-23 20:11:10 +01:00
Davide
2a46173169
Move more views to UILibrary ( #919 )
...
- Move about subviews to UILibrary
- Refactor about to single coordinator + platform views
- Refactor debug log to single view + content views
- Take out debug log routes from about routes
- Rename Settings* to Preferences*
- Reuse empty modifier in debug log
- Fix a visual bug in .themeTrailingValue() (extra Spacer)
Preparation for #914
2024-11-23 19:26:33 +01:00
Davide
a301806ac7
Share migrated TV profiles ( #918 )
...
Fixes #912
2024-11-23 13:33:02 +01:00
Davide
3d092d6802
Revert marker width from #917
2024-11-23 13:30:29 +01:00
Davide
13118a5e2e
Improve profiles layout on small devices ( #917 )
...
- Smaller iCloud/TV icons
- Smaller marker width
- Less spacing before info button
2024-11-22 17:05:46 +01:00
Davide
bd237c4a6f
Fix layout of multiline modules ( #916 )
...
- Align to .leading in multi-line
- Wrap profile rows into top/bottom spacers to adjust to tallest cell in
grid
See #915
2024-11-22 13:44:06 +01:00
Davide
fb0d1abc8a
Add header to Mac menu profiles list
2024-11-22 13:09:22 +01:00
Davide
4b4fca8344
Replace active modules count with a description ( #915 )
...
To get access to modules, try to avoid full Profile objects. Instead,
replace the coupled ProfileHeader occurrences with a new intermediary
ProfilePreview everywhere.
This way, a ProfileProcessor can inject the localized modules
descriptions from above with the preview() method.
2024-11-22 12:52:51 +01:00
Davide
a2f246454d
List other modules in TV active profile ( #911 )
...
Non-VPN profiles would otherwise be very shallow.
2024-11-22 10:56:37 +01:00
Davide
9b366dcaa0
Minor UI fixes ( #910 )
...
Update library with some more meaningful names for Profile accessors.
Refactor a few things about TV here and there.
2024-11-22 10:05:46 +01:00
Davide
366dc62231
Drop "Name" field from modules ( #909 )
...
Will rather add a "Notes" field to profiles. Module names feel
overwhelming.
2024-11-22 10:05:08 +01:00
Davide
72f6a1b1a1
Fix condition for #906
...
Was never disabling sharing for shared profiles.
2024-11-22 02:43:54 +01:00
Davide
0bff571d14
Polish TV profile view ( #908 )
...
- Layout with some profile details
- Add colors with adjusted brightness
- Add iOS/macOS instructions
- Add pending/sleeping markers
- Add previews
2024-11-22 02:20:41 +01:00
Davide
2636711e16
Do not disconnect active profile on remote import ( #907 )
...
Update library for this fix.
2024-11-22 01:15:51 +01:00