Davide De Rosa
49a1f1b55c
Address VPN toggle losing sync with internal state
...
- 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)
2022-04-27 15:53:31 +02:00
Davide De Rosa
a7258b3a94
Tag private beta after upload
2022-04-27 13:40:58 +02:00
Davide De Rosa
e77d78526b
Use non-filled icons
2022-04-27 13:40:58 +02:00
Davide De Rosa
cd854f8ebf
Group profile actions into menus
...
- Organizer
- Duplicate
- Profile
- Rename
- Siri
- Uninstall (+ confirmation)
- Delete (+ confirmation)
2022-04-27 09:53:42 +02:00
Davide De Rosa
1c047b9ce2
Retain profile name (disabled) after importing
...
Works around a crash in iPadOS 14 portrait when removing section
containing first responder (profile name TextField). It happened
when submitting profile name via keyboard rather than "Save".
2022-04-26 22:56:41 +02:00
Davide De Rosa
4a0245d757
Rename AddHostView to .NameView
...
In preparation of future additions to flow.
2022-04-26 22:44:34 +02:00
Davide De Rosa
03fdab4833
Duplicate profile from context menu
2022-04-26 22:39:47 +02:00
Davide De Rosa
1ea380312a
Update providers index on add provider appearance
2022-04-26 22:15:39 +02:00
Davide De Rosa
6bff878952
Fix repeating "Default" servers in some providers
...
Disambiguate by apiId.
2022-04-26 22:12:22 +02:00
Davide De Rosa
4b8cff1bb3
Disable padding around LongContentView
...
It should actually be an inset. Do it later.
2022-04-26 21:39:21 +02:00
Davide De Rosa
99e48119f7
Encapsulate calculation of former products
...
Use an interface (BuildProducts) that makes understandable and
easily extensibile how some in-app products are inferred by build
number.
2022-04-26 20:55:18 +02:00
Davide De Rosa
ed81e374aa
Update profile screenshot
2022-04-26 19:03:46 +02:00
Davide De Rosa
f4714dec58
Fix VPN toggle enabling despite errors
2022-04-26 19:02:12 +02:00
Davide De Rosa
e10f33717d
Test update/delete on merge provider index
2022-04-26 18:56:55 +02:00
Davide De Rosa
259a7e18ca
Fix old provider server query parameter
...
serverId was renamed to apiId.
2022-04-26 18:49:34 +02:00
Davide De Rosa
4973a19fda
Drop unused method
2022-04-26 10:59:48 +02:00
Davide De Rosa
1ff19b331f
Move VPNToggle to standalone view
2022-04-26 10:40:46 +02:00
Davide De Rosa
ccde6a30cf
Fix issues with VPN toggle
...
- Move rate limit to UI only
- Keep caption constant to "Enabled"
2022-04-25 23:12:45 +02:00
Davide De Rosa
92b9c4cd9a
Skip setting data count if unavailable
2022-04-25 22:59:20 +02:00
Davide De Rosa
58cf401883
Share prefix for validating theme methods
2022-04-25 22:44:24 +02:00
Davide De Rosa
5c0e053e7d
Review requirements of DNS over TLS (DoT)
...
- Make DNS servers optional in TunnelKit
- Allow IP address as DoT server name
2022-04-25 22:40:09 +02:00
Davide De Rosa
efb9760d6b
Redo VPN toggle properly
...
- Use local @State for appearance
- On binding set, control VPNManager
2022-04-25 16:36:07 +02:00
Davide De Rosa
6434008ebd
Make destructive buttons standalone
...
- Uninstall VPN
- Remove profile (add to ProfileView)
Create DestructiveButton with iOS 15 .role when available.
2022-04-25 16:34:22 +02:00
Davide De Rosa
ac1239daa8
Add headers to active/inactive profile sections
...
Hide inactive section if empty.
2022-04-25 16:34:13 +02:00
Davide De Rosa
339183c156
Fix phrase wording
2022-04-25 16:30:03 +02:00
Davide De Rosa
29629c5147
Use lighter font for non-active profiles
2022-04-25 15:35:21 +02:00
Davide De Rosa
84790080be
Disable autocorrection on profile name
2022-04-25 15:28:55 +02:00
Davide De Rosa
deac70359f
Reorganize and fix platform-specific fastlane data
...
Reuse all iOS metadata in macOS, except the app icon.
2022-04-25 11:21:19 +02:00
Davide De Rosa
886d0271ea
Restore 'Add' button in NetworkSettings
...
Makes it clear that added fields must be submitted in order to
be saved.
2022-04-23 15:47:02 +02:00
Davide De Rosa
c63a39081b
Notify private beta testers based on env
2022-04-23 12:26:46 +02:00
Davide De Rosa
0b1e465143
Share animation type in theme
2022-04-23 12:11:01 +02:00
Davide De Rosa
7eb2b3bd0e
Drop button accent on Organizer rows
2022-04-23 11:48:43 +02:00
Davide De Rosa
6aee88e69a
Refactor theme styles
...
- Hide colors behind styles
- Add "Style" suffix
2022-04-23 11:48:43 +02:00
Davide De Rosa
0d8121f73d
Fix missing quotes
2022-04-23 10:37:05 +02:00
Davide De Rosa
8d2494d885
Refactor private beta workflow
...
- Reword main job
- Move tweak arguments to step env
2022-04-23 10:33:54 +02:00
Davide De Rosa
10537c5a29
Fix active profile not always cleared on deletion
...
Was only cleared if deleted profile was current profile.
2022-04-23 10:25:31 +02:00
Davide De Rosa
dc66f514d9
Restore presentation conditions of active profile
...
On iPad it's already loaded in MainView().
2022-04-23 10:25:31 +02:00
Davide De Rosa
c507c739bd
Move WelcomeView to its own view
2022-04-23 10:25:31 +02:00
Davide De Rosa
8f4e4bc7c5
Skip redundant updates of current profile
2022-04-23 10:25:31 +02:00
Davide De Rosa
ad1539023e
Split VPN status and data count
2022-04-23 10:25:31 +02:00
Davide De Rosa
1083941eeb
Increase font size in Organizer
2022-04-23 10:25:31 +02:00
Davide De Rosa
4037b983cb
Move active profile on top to its own section
2022-04-23 10:25:31 +02:00
Davide De Rosa
b37ff03e4b
Refactor hidden navlinks and send behind in ZStack
2022-04-23 10:25:31 +02:00
Davide De Rosa
2432f0d97a
Rewrite ProfileView as a view of currentProfile
...
Do not load profile in View, instead:
- Load active profile on app launch
- Load selected profile on organizer selection
2022-04-23 10:25:31 +02:00
Davide De Rosa
8838e9d130
Strip a few unnecessary publishers
...
- Drop unused AppManager from OrganizerView
- Do not notify ProfileManager subscribers on activeProfileId
Saved active profile is already notified by:
- Core Data
- AppManager
2022-04-23 10:25:31 +02:00
Davide De Rosa
bb2ba19326
Fix Info.plist path in private beta workflow
2022-04-22 13:47:10 +02:00
Davide De Rosa
aeaf8122ca
Update screenshots in README
2022-04-22 13:19:12 +02:00
Davide De Rosa
d8e47cb7c0
Refactor strings and add new ones
...
- 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.
2022-04-22 13:12:42 +02:00
Davide De Rosa
322bdf2993
Serialize active profile immediately
...
Otherwise:
- Switch from former active profile A to B
- Connect to now active profile B
- Kill app
- Reopen app
- App shows connected to profile A
Because active profile was not saved immediately on switch.
Unnecessary now to also save it on background persist().
2022-04-22 10:05:28 +02:00
Davide De Rosa
7095791428
Extend styles for VPN status description
2022-04-22 09:57:13 +02:00