Commit Graph

8 Commits

Author SHA1 Message Date
Davide
4d970b6ac7
Rework in-app purchases and paywalls (#1156)
Fixes #1153
2025-02-10 00:27:42 +01:00
Davide
ce77b4fc6a
Improve the UX of profile editing and management (#1149)
Restart from the v2 flow most users are familiar with.

- Restore the global v2 accent
- Restore the per-profile toggles
- Single tap to edit a profile
- Reuse the same chevron for profile and module navigation
- Improve the iCloud/TV section and rename it to "Synchronization"
- Drop the misleading moon icon from the "Keep alive on sleep" toggle
- Drop the marginal "Enable"/"Disable" action from context menus
- Drop the grid cell highlighting, now marginal with toggles
- Drop the complexity of `nextProfileId`

Ultimately, rework `TunnelToggleButton` into `TunnelToggle` for better
reuse across all platforms.

Things left to improve:

- The duplication of the active profile on top has not changed, but the
toggles may make it more visually apparent
- The "Inactive" subtitle in disabled profiles is there for balance as
it keeps rows and cells of the same height, but it serves no real
purpose
- Access to secondary actions (e.g. provider server, credentials)
- Use of TipKit for less intuitive flows (e.g. context menus, building a
profile from scratch)

Fixes #1111
2025-02-08 11:57:14 +01:00
Davide
0132aa79cc
Delay profile verifications (#1135)
Fixes #1070
2025-02-03 01:18:39 +01:00
Davide
5752b3a8d0
Fix misaligned reveal button in secure fields
Fixes #1116
2025-01-29 01:44:42 +01:00
Davide
bd9f8d63a5
Improve debug logs and move methods to library (#1076)
- Move availableLogs() / purgeLogs() to library
- Append and rotate logs by size (500k)
- Add marker between app/tunnel launches
- Purge logs on each save (3 days)
- Unify debug log content view across platforms
    - macOS: Table + inspect full line
    - iOS/tvOS: Use List
    - Scroll to bottom onLoad()
2025-01-19 00:42:58 +01:00
Davide
a6e44872e9
Select country by typing on macOS
Fixes #1062
2025-01-19 00:18:12 +01:00
Davide
4e43c14cc6
Update copyright 2025-01-15 20:22:52 +01:00
Davide
1942b82ebb
Rework App+Kit as monorepository (#1055)
Simplify development and maintenance immensely by making this a
monorepository:

- Convert PassepartoutKit and VPN bindings to local packages
  - OpenVPN/OpenSSL
  - WireGuard/Go
- Make PassepartoutKit available via
  - Source submodule for production (private)
- [Binary XCFramework for
development](https://github.com/passepartoutvpn/passepartoutkit)
 - Add PassepartoutKit Demo in root
   - Deploy package later
2025-01-13 12:26:53 +01:00