Commit Graph

2972 Commits

Author SHA1 Message Date
Davide De Rosa 46a8fb8a74 Delay presentation of imported file modal
Fixes navigation bug on iOS 14 preventing modal from dismissing
via close button.
2022-05-20 16:35:45 +02:00
Davide De Rosa 59b3c320c8 Only activate profile after valid configuration 2022-05-20 11:58:28 +02:00
Davide De Rosa d6866e8e95 Fix iPad multitasking condition 2022-05-20 11:58:25 +02:00
Davide De Rosa fe4ca51820 Clear lastError in VPNManager.reconnect() 2022-05-19 11:30:22 +02:00
Davide De Rosa 9735b9ab14 Use consistent case in assets 2022-05-19 10:33:36 +02:00
Davide De Rosa c88dfc28c4 Simplify a few things of CopySavingButton
- Make saving handler more readable

- Drop unnecessary protocol
2022-05-18 14:10:11 +02:00
Davide De Rosa ddce671c62 Move theme extensions to non-reusable 2022-05-18 11:33:29 +02:00
Davide De Rosa b1d77cccbc Attempt beta release 2022-05-18 11:18:57 +02:00
Davide De Rosa 6bb46ef8b4 Enable macOS in "Public Beta" job 2022-05-18 11:17:39 +02:00
Davide De Rosa 4455f66d10 Detect TestFlight on macOS
Move function to Utils.
2022-05-18 11:16:31 +02:00
Davide De Rosa cdf4010f09 Pass GITHUB_TOKEN to workflows env
Workflows failing to push changes. Could this fix it?
2022-05-17 23:16:52 +02:00
Davide De Rosa 160338e62a Add credits in Mac about 2022-05-17 19:57:19 +02:00
Davide De Rosa ec1b167e41 Restore Mac in private beta 2022-05-17 19:36:23 +02:00
Davide De Rosa 4c2a471b9f Attempt beta release 2022-05-17 19:34:13 +02:00
Davide De Rosa 4edecf123b Fix missing accent color in CI
Finally? Basically Xcode build settings were referring to new
color name "AccentColor", while color set in repository was
still "accentColor".

Went unnoticed because Mac filesystem is case-insensitive, which
is why Git never committed the name change in the first place.
2022-05-17 19:34:00 +02:00
Davide De Rosa 0113695daa Attempt beta release 2022-05-17 16:55:00 +02:00
Davide De Rosa 6c798c8b19 Bump build 2022-05-17 16:43:14 +02:00
Davide De Rosa 115f54edbd Bump CI to macOS 12
Features Xcode 13.3.1, consistent with local development.

Maybe works around accent color bug.
2022-05-17 16:42:37 +02:00
Davide De Rosa 05f3457249 Fix some Mac specific code in Core
- Improve network conditionals in on-demand rules

- Restore native version of DebugLog

- Restore correct code to fetch current SSID
2022-05-17 12:24:28 +02:00
Davide De Rosa 7196aeab0d Trust Ethernet on Mac 2022-05-16 11:19:33 +02:00
Davide De Rosa f5e01f9768 Wrap/refine a few OS conditionals 2022-05-16 11:19:18 +02:00
Davide De Rosa 16d618df0e Show info menu in ProfileView on iPad/Mac
Use .navigationBarTrailing to avoid artifact on Catalyst (item
relocates when first clicked).

Rename menu files too.
2022-05-16 11:18:58 +02:00
Davide De Rosa 6fddbb8bfc Decouple menus from OrganizerView
Could move .sheet() from parent View to Menu, but no luck with
.fileImporter()
2022-05-16 11:18:58 +02:00
Davide De Rosa d89130bc3a Reorganize profile menu into computed properties 2022-05-16 11:18:58 +02:00
Davide De Rosa e87ad06c5d Drop old observables from profiles list
List was being reloaded e.g. on ProductManager receipt updates,
but profile in-app eligibility is not a thing anymore.
2022-05-16 10:59:12 +02:00
Davide De Rosa 137bacb542 Add contextual profile delete
Without confirmation alert though.
2022-05-15 22:24:36 +02:00
Davide De Rosa 35ec73570e Use NEHotspotNetwork to fetch current SSID
Old method did not work on Catalyst.
2022-05-15 22:24:36 +02:00
Davide De Rosa 743facca6b Improve Catalyst appearance
- Revert to more "stable" iPad idiom

- Set accent color the proper way

- Use .tint when available

- Unify navigation style by idiom

- Retain navigation bars in sidebar/detail

- Lighten sidebar appearance

- Fix Menu style (dropdown -> button)

- Use native Picker (dropdown)

- Use switch toggles rather than checkboxes

- Replace .actionSheet with .alert

- Increase minimum row height

CAVEAT: on Mac with iPad idiom, having a Section in .sidebar
produces artifacts. Header keeps changing height for no reason.
Retain Section on iPad multitasking only to not break navigation.
2022-05-15 22:24:36 +02:00
Davide De Rosa eaaa1fe260 Move device checks to Theme
Drop unused code along the way.
2022-05-15 22:24:36 +02:00
Davide De Rosa d558edf665 Assume test build if appType == .beta 2022-05-15 21:03:32 +02:00
Davide De Rosa 6c87e0a15b Use gray for profile subtitle 2022-05-15 21:03:32 +02:00
Davide De Rosa 683a8e7d82 Attempt beta release 2022-05-05 11:07:49 +02:00
Davide De Rosa 9984c56084 Drop unnecessary async from migration code
Providers are not fetched at migration time, they only are after
opening a profile (marked non-ready until then).

Still retain Task for migration to be executed asynchronously.
2022-05-05 11:04:12 +02:00
Davide De Rosa 57f7b15aa2 Reuse base fetch request building code
Set .predicate first for consistency.
2022-05-05 10:58:25 +02:00
Davide De Rosa ae6b5c50d9 Fix duplicated infrastructures/servers
Leftover from some refactoring, was not deleting older
infrastructures before adding a new one.
2022-05-05 10:52:32 +02:00
Davide De Rosa 15a4cc8f75 Change some icons in extra menu
- Main icon

- Review icon
2022-05-05 09:58:53 +02:00
Davide De Rosa b7cccbdd0a Reorg images 2022-05-05 09:51:26 +02:00
Davide De Rosa cca2dca047 Export providers database in beta 2022-05-05 09:46:12 +02:00
Davide De Rosa abb23e8234 Fix missing animation loading non-ready profile
When there is no initial active profile.
2022-05-05 08:57:02 +02:00
Davide De Rosa 19886c2314 Drop extra comments 2022-05-04 23:57:45 +02:00
Davide De Rosa 092233b546 Attempt beta release 2022-05-04 23:16:01 +02:00
Davide De Rosa bafac12be4 Retain in beta profiles created in production
Drop filter, ability to create profiles in the first place implies
eligibility.
2022-05-04 23:15:12 +02:00
Davide De Rosa c2676cbdf6 Attempt beta release 2022-05-04 19:03:22 +02:00
Davide De Rosa 40a3c67b1c Observe updates AFTER setting active profile
App disconnects VPN on launch otherwise, because active
profile is still nil. Where was the regression introduced?

Also .dropFirst() to skip initial values, but keep in mind that
if VPN is connected and active profile was not properly persisted,
the app will show the VPN as disabled.
2022-05-04 10:34:28 +02:00
Davide De Rosa 56540485cf Fix variable in activeProfileId log message 2022-05-04 09:50:32 +02:00
Davide De Rosa 7ec6ccda6c Improve logic of setting duplicate as current
Back currentProfileId with an internal variable that allows for
more control over navigation.

Can drop pendingProfiles hack.
2022-05-04 09:50:32 +02:00
Davide De Rosa b68fb21652 Fix duplicate on iOS 14
Wrong braces in 4cb18965c9.
2022-05-04 09:12:06 +02:00
Davide De Rosa 9e9cd018eb Revert "Enable "DNS Settings" capability"
This reverts commit 75650b1f0a.
2022-05-04 09:01:27 +02:00
Davide De Rosa 92caf67876 Replace dimming with different icon 2022-05-03 19:24:46 +02:00
Davide De Rosa 4cb18965c9 Set duplicate as current inside ProfileManager
When setting duplicate as current, batch save original profile and
duplicate in a single call via profilesToSave. This is to avoid a
double call to willUpdateProfiles() when saving Core Data context.

In order to set current profile to one that has not been persisted
yet (the duplicate), we need to resort to a pendingProfiles map
where to look the duplicate up when setting currentProfileId.

Either way, iOS 14 cannot handle updating a "hot" change in a
presented NavigationLink. Changing currentProfileId binding while
in ProfileView messes up navigation completely (multiple push and
pop events). Avoid.
2022-05-03 18:35:19 +02:00