Davide
1aa393ee02
Move feature mapping to a single file ( #726 )
...
Do not scatter sensitive data.
2024-10-11 04:17:17 +02:00
Davide
8f6192c2b6
Fix extra team prefix in keychain group ( #721 )
...
Team ID already included in .xcconfig
Fixes #720
2024-10-11 03:45:20 +02:00
Davide
9449a02b77
Add meaningful prefix to keychain entries ( #724 )
...
Hard to find in keychain, add "Passepartout: " prefix to profile name.
2024-10-11 00:31:32 +02:00
Davide
da87ca698a
Add initial support for providers ( #723 )
...
Initial integration of providers via API:
- Generic views and modifiers for provider/server selection
- Add in OpenVPNView
- Prepare in WireGuardView
Also:
- Introduce ProfileProcessor, move IAP processing there
- Move .asModuleView() to ModuleViewModifier for proper animation
- Use .themeModal() rather than .sheet()
2024-10-11 00:24:06 +02:00
Davide De Rosa
6d6eef43c9
Rename
2024-10-10 16:24:09 +02:00
Davide
d589f1162d
Reorganize shared objects ( #716 )
...
Mainly:
- Aggregate shared/mock entities in less scattered files
- Review package dependencies
Also:
- Decouple ProfileRepository from Core Data Repository in UtilsLibrary
(filters done by ProfileManager)
2024-10-10 16:20:36 +02:00
Davide
0aac8cd9f3
In-place NetworkExtension profiles ( #715 )
...
Profiles are being maintained in two places:
- Core Data
- NetworkExtension
Core Data is redundant for local profiles, so make NetworkExtension the
only source of truth.
2024-10-10 16:03:02 +02:00
Davide
6d479a7059
Render multiple translators in Credits ( #701 )
2024-10-09 21:42:42 +02:00
Davide
df2fc54044
Render profile UUID as quartets ( #700 )
...
Easier to read.
2024-10-09 21:40:56 +02:00
Davide De Rosa
635700c195
Revisit OpenVPN view
...
- Move pull section below
- Add IPv6 to preview
2024-10-06 19:22:45 +02:00
Davide De Rosa
7078e5c435
Unrestrict previews
2024-10-06 19:22:44 +02:00
Davide
504bcbdbd2
Refactor and move entities around ( #698 )
...
Do some housekeeping in AppLibrary/AppUI.
2024-10-06 19:19:16 +02:00
Davide
f4505d0efd
Refactor ProfileEditor to leverage ProfileType ( #689 )
...
Closes #688
2024-10-06 13:41:02 +02:00
Davide De Rosa
8b5096ab69
Make copiable text multiline by default
2024-10-05 00:17:08 +02:00
Davide De Rosa
38aa83760f
Reword on-demand
2024-10-04 21:06:03 +02:00
Davide
f66193cf78
Several fixes in ProfileManager ( #685 )
...
- [x] Search not accounted for when reloading profiles
- [x] Remote profile being saved twice
- [x] Add some logging
2024-10-04 20:58:11 +02:00
Davide
d14f22d4a1
Use gear icon for iOS About ( #684 )
...
Resolve a discrepancy between iPhone and iPad. Leave the info icon on
macOS, where Settings are separate.
2024-10-04 18:27:09 +02:00
Davide De Rosa
eea5486563
Fix crash on "Report issue"
2024-10-04 15:48:13 +02:00
Davide De Rosa
1b5e123fa6
Use .compact style in list based on size class
2024-10-04 11:39:50 +02:00
Davide De Rosa
e75c264258
Go multiline rather than truncate copiable
...
Fixes #682
2024-10-04 10:40:18 +02:00
Davide De Rosa
71149e87d3
TODO -> FIXME
2024-10-04 10:30:14 +02:00
Davide
5fb6f4f4d2
Refactor static functions/entities in Library ( #679 )
...
Reduce the impact of hidden dependencies on BundleConfiguration and
Constants.shared
Fixes #656
2024-10-04 09:58:42 +02:00
Davide De Rosa
4b0bc7f064
Reword confirm quit
2024-10-04 02:59:03 +02:00
Davide De Rosa
00bf415056
Move modules tip to +/-
2024-10-04 02:57:09 +02:00
Davide De Rosa
7070661c3b
Group row components and make icons bigger
...
Fixes #678
2024-10-04 02:52:02 +02:00
Davide De Rosa
fe8fa93230
Fix SwiftGen warning
2024-10-04 02:44:19 +02:00
Davide De Rosa
27b7e62376
Add hint about iCloud sharing
2024-10-04 00:52:25 +02:00
Davide De Rosa
b660c499af
Use static 'Profile' in editor title
2024-10-04 00:47:28 +02:00
Davide De Rosa
07703fda9c
Fix some things about IP module
...
- Reword module description to "Routing"
- Make route modal title .inline
2024-10-04 00:44:31 +02:00
Davide De Rosa
ca03d057fc
Fix iCloud icon and move to the right
2024-10-04 00:39:41 +02:00
Davide De Rosa
fc834ab367
Replace Section with .themeSection
...
Closes #676
2024-10-03 23:32:31 +02:00
Davide
211b3b83d3
Erase iCloud store from Settings ( #675 )
...
Also, fix SwiftUI not refreshing when remote profiles are updated. There
was no objectWillChange nor Published around
ProfileManager.allRemoteProfiles, and ProfileRowView was not treating it
as ObservedObject.
Closes #673
2024-10-03 23:25:51 +02:00
Davide De Rosa
bf4ec4982a
Refactor phrases
2024-10-03 19:42:52 +02:00
Davide De Rosa
73665c5436
Use extended layout in profile list
2024-10-03 18:42:37 +02:00
Davide
1491766102
Per-profile iCloud syncing ( #668 )
...
Keep two separate stores to accomplish per-profile sharing:
- Local store, where to push updates manually (save/remove/search)
- Remote iCloud store, where to pull updates from
A profile can be added/removed to/from the iCloud store so that other
devices can push/pull updates to it.
Consequently, updates to the iCloud store will NEVER cause a profile
deletion. Once removed, the profile will stay locally.
Fixes #586
Fixes #555
2024-10-03 18:41:27 +02:00
Davide De Rosa
1227df60ff
Present popover from button
2024-10-03 17:53:19 +02:00
Davide
8ad144239e
Present modules tip as popover on macOS ( #672 )
2024-10-03 17:50:19 +02:00
Davide De Rosa
429e79cd3a
Refactor theme section and some phrases
2024-10-03 17:35:57 +02:00
Davide
0917e47ea3
Granularize app features ( #671 )
...
Split .networkSettings and add .sharing for #668
2024-10-03 12:13:03 +02:00
Davide
63b0199a39
Merge Settings into About on iOS ( #670 )
...
Closes #669
2024-10-03 11:25:39 +02:00
Davide
e8d5f2477b
Prepare interactive login for paywall ( #663 )
...
See #662
2024-10-02 16:05:40 +02:00
Davide De Rosa
f602655568
Link TODOs to issues
2024-10-01 15:50:12 +02:00
Davide De Rosa
bef1d36aa4
Fix annoying singleton warning
2024-10-01 15:45:53 +02:00
Davide De Rosa
087f177bd7
Omit storage section in release
2024-10-01 09:57:45 +02:00
Davide
4b1f6e547b
Fix some on-demand behavior ( #646 )
...
Fixes #644
Fixes #645
2024-09-30 19:35:41 +02:00
Davide
0e4dd086ef
Import profiles with on-demand disabled ( #641 )
...
Make it friendly to Shortcuts automation by default.
2024-09-30 17:40:24 +02:00
Davide
aead866275
Open app with multiple files ( #640 )
...
onOpenURL cannot handle multiple URLs on macOS, whereas
NSApplicationDelegate can.
Fixes #637
2024-09-30 17:22:16 +02:00
Davide
4877c2bd20
Restrict paywall to on-demand rules ( #639 )
...
Rather than whole module.
Closes #638
2024-09-30 15:56:32 +02:00
Davide
a9fa6a2f62
Maintain one configuration per profile ( #636 )
...
Helps with automation. Install the VPN configuration before persisting a
profile, so that the 1:1 reference with OS settings is maintained.
Likewise, uninstall the VPN configuration after removing a profile.
This before-save hook also resolves a problem with multiple imports,
where multiple VPN permission alerts coalesce if no VPN configuration is
installed. Now the first import waits for the permission synchronously.
Fixes #618
2024-09-30 14:56:20 +02:00
Davide
a29495a69c
Decouple Constants from BundleConfiguration ( #635 )
...
Fixes #619
2024-09-28 19:05:47 +02:00
Davide
28a2017da2
Confirm quit on macOS ( #634 )
...
To do so, must prevent window from closing.
Fixes #223
2024-09-28 17:58:48 +02:00
Davide
5deb8ec763
Prepare for macOS settings ( #629 )
2024-09-28 12:47:33 +02:00
Davide
9e6e59276b
Associate and handle imported files ( #628 )
2024-09-28 11:43:57 +02:00
Davide
989886c434
Fix description of parsing errors on import ( #623 )
...
Fixes #607
2024-09-28 00:01:01 +02:00
Davide
fbc6ece59d
Reorganize library into AppUI ( #621 )
...
Closes #611
2024-09-26 23:13:55 +02:00