Commit Graph

69 Commits

Author SHA1 Message Date
Davide
9449a02b77
Add meaningful prefix to keychain entries ()
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 ()
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
5c91eb4bf1
Review Constants
- Move container names out of Bundle
- Add API web services timeout
2024-10-10 19:29:38 +02:00
Davide
d589f1162d
Reorganize shared objects ()
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 ()
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
1491766102
Per-profile iCloud syncing ()
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  
Fixes 
2024-10-03 18:41:27 +02:00
Davide
0917e47ea3
Granularize app features ()
Split .networkSettings and add .sharing for 
2024-10-03 12:13:03 +02:00
Davide
e8d5f2477b
Prepare interactive login for paywall ()
See 
2024-10-02 16:05:40 +02:00
Davide
3ab80cd076
Fix incorrect VPN status in some cases ()
Regression following 
2024-10-02 13:40:44 +02:00
Davide
3fbf803518
Ignore unmappable Core Data entities ()
But implement .discard for testing.
2024-10-02 13:35:49 +02:00
Davide
51dbc3f246
Add App Intents extension stub ()
Just the Xcode metadata, no actual content.
2024-10-01 10:17:20 +02:00
Davide
a29495a69c
Decouple Constants from BundleConfiguration ()
Fixes 
2024-09-28 19:05:47 +02:00
Davide
fbc6ece59d
Reorganize library into AppUI ()
Closes 
2024-09-26 23:13:55 +02:00
Davide
6cc86e8668
Import v3 code ()
Closes 
2024-09-23 15:02:26 +02:00
Davide De Rosa
7ba9879c8c Revisit constants structure
Move some stuff back to App:

- Constants, and split library-dependent

- InApp entities and constants

Flatten global constants hierarchy.
2022-06-25 14:36:28 +02:00
Davide De Rosa
8504998bbb Reorganize app-specific shared code into AppShared 2022-06-19 14:41:26 +02:00
Davide De Rosa
02a9db057f Update TunnelKit
- Set explicit tunnel log path

- OpenSSL 1.1.1o
2022-06-19 13:33:49 +02:00
Davide De Rosa
10b4c321c8 Separate context responsibilities
- Split Core and App context

- Move .shared instantiation to extension

Context may differ by target.
2022-06-16 13:42:53 +02:00
Davide De Rosa
4aba5f46aa Rewrite app in SwiftUI 2022-04-12 15:12:45 +02:00