On iOS 14, Organizer scrolls abruptly on profile selection. It
looks like this was introduced by merging ProfilesList into
OrganizerView.
Try to revert merge to split observation responsibilities.
Drop unused AppManager in +Scene along the way.
- Mac
- Drop all styles
- Tweak hide title bar
- Hide navigation bar
- Restore single section for all profiles
- Allows using NavigationLink safely
- Indirectly fixes multitasking
- Retains selection on profile activation
- Clean up presentActiveProfile
- Leave active profile in its position
- Fixes Mac flashing row selection on profile activation
- Unify profile row appearance
- Use fixed .headline font
- Add subtitles to inactive profiles
- Use padding rather than fixed row height
CAVEATS:
- Do not preselect active profile on iPad launch, as doing so
seems to present two ProfileView on top of each other, one from
MainView and one from the NavigationLink.
- Do not touch .listStyle() of master view, as it seems to break
navigation esp. in iPad multitasking.
- Update TunnelKit
- Receive TunnelKit notifications on main queue
- Bind VPN toggle to VPNManager directly (implicit animations)
- Update state on VPN didFail
- Set isEnabled = false after uninstalling VPN (not notified)
- Move Localizable.strings above to share *.lproj folders
- Reorg menus into contextual/system
- Shorten titles of contextual menus
- Update sharing message with WireGuard
- Drop AlternativeTo
7 phrases left to translate into 9 languages.
Infinite loop on init(), but horrible practice in general.
- DonateView
- PaywallView+Purchase
Also show a ProgressView while rows are loading.
DO NOT animate on .products value because animation won't work
if products are empty and stay empty after refresh. Instead,
observe .isRefreshingProducts.
Lastly, to avoid annoying animation when products are actually
available, do not refresh products if non-empty. They certainly
do not change during the application lifecycle.
- Fix missing PlugIns in Catalyst build
Hence the VPN failure, there was a "iOS" filter on embed.
- Fix complaint about file access permission
Seems to need R/W when importing VPN configuration files.
- Drop status / navigation bars colors
- Restore large title on iPad
- Overlay organizer with "No profiles" when empty
- Uninstall VPN from ProfileView
- Skip tests until fixed wg-go issue
- Add golang step
- Set "Apple Development" at project level
- Set Catalyst platform for gym
- Drop TARGET env variable clashing with WireGuardKit
- Disable SwiftGen script phase
- Fix TunnelKit segfault on archive
- Xcode 13.2.1 compatibility
Fix some issues with @MainActor
Use #available instead of #unavailable
- Raise timeout from 10 to 15 minutes
- Update beta description
- Tunnel bundle ids cannot have periods
- CFBundleDisplayName required in tunnels
* Do run tests in beta
- Test and build app in same lane
- Run tests with swift directly
- Set timeout on build only
- Set GYM_OUTPUT_DIRECTORY inline
- Fix bad build number, broken in db075eb
- Ignore updates to CHANGELOG for testing
- Drop unnecessary exports
- Drop unnecessary test env
- Drop unused PLATFORM .env.* variable
* Work around gym issues in CI
- Set custom build paths for proper clean-up
- Disable xcpretty (seems to hang job)
* Add descriptive names to workflow
- Rename beta to release
- Add job names
* Optimize release workflow
- Use a matrix for multiplatform build
- Only preinstall platform-specific certificates
- Output app version/build early for job reuse
- Do not depend app review on public beta release
- Pull latest commits before pushing/tagging
In release, ci/* scripts require Ruby. Make version an argument
of the commit-release.sh script to fix dependency.
* Import secret to notify external testers or not
* [ci skip] Add CHANGELOG preface in local scripts
* [ci skip] Update links to release via CI
- Optimize package granularity and imports
- Adjust targets to smaller TunnelKit components
- Raise iOS target to 13
- Drop support for TLS security level
- Drop CocoaPods completely
- Make PassepartoutCore a Swift package
- Enable Bitcode to fix OpenSSL linkage (iOS)
- Update CI scripts without CocoaPods