Commit Graph

46 Commits

Author SHA1 Message Date
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
2d32e099b7
Rename repositories 2024-10-04 02:43:18 +02:00
Davide
edb4d127e9
Delete remote profiles on local removal (#677)
Remote profiles were never deleted. Now, when removing a profile:

- The profile is deleted from the local store
- The profile is deleted from the remote store
- Other synced devices receive the update and delete the profile from
their remote store
- However, they retain a local copy of the profile
- The copy doesn't appear as "Shared on iCloud" anymore
2024-10-04 01:26:52 +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
372e30cf68
Import remote profiles serially (#674)
Follow the same approach as #636, because if no profiles are formerly
installed the first import will trigger a VPN permission alert. Weird
things may happen in that case if profiles are imported in parallel.
2024-10-03 22:25:59 +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
3ab80cd076
Fix incorrect VPN status in some cases (#661)
Regression following #636
2024-10-02 13:40:44 +02:00
Davide
3fbf803518
Ignore unmappable Core Data entities (#660)
But implement .discard for testing.
2024-10-02 13:35:49 +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
51dbc3f246
Add App Intents extension stub (#655)
Just the Xcode metadata, no actual content.
2024-10-01 10:17:20 +02:00
Davide De Rosa
087f177bd7
Omit storage section in release 2024-10-01 09:57:45 +02:00
Davide De Rosa
2191d2c946
Update library 2024-10-01 08:04:42 +02:00
Davide De Rosa
635708695e
Retain last used profile beyond disconnection
Fixes #650
Fixes #651
2024-10-01 00:08:36 +02:00
Davide De Rosa
51cb1d2d38
Fix library about previous commit 2024-09-30 21:08: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
Davide
4124ff5cae
Lock app with FaceID (#609)
Restore feature as-is from v2.

Closes #606
2024-09-25 19:32:07 +02:00
Davide
a665670cf7
Add job for public beta deployment (#600)
Closes #599
2024-09-24 11:17:52 +02:00
Davide
6cc86e8668
Import v3 code (#597)
Closes #565
2024-09-23 15:02:26 +02:00