Commit Graph

48 Commits

Author SHA1 Message Date
Davide De Rosa
40330cc87a Attempt beta release 2023-04-18 18:15:39 +02:00
Davide De Rosa
1fd38790e4 Attempt beta release 2023-04-18 17:24:47 +02:00
Davide De Rosa
574f9a05b5
Show app version in Mac menu (#286) 2023-04-08 11:57:42 +02:00
Davide De Rosa
7a7a815979 Attempt beta release 2023-04-06 12:51:01 +02:00
Davide De Rosa
aec7f8eefe Attempt beta release 2023-04-05 16:32:50 +02:00
Davide De Rosa
34e41ba93f Attempt beta release 2023-04-04 18:59:44 +02:00
Davide De Rosa
d4d3d97081 Attempt beta release 2023-04-04 17:11:44 +02:00
Davide De Rosa
e9f11d1dbe Attempt beta release 2023-03-25 17:07:58 +01:00
Davide De Rosa
76084dbd30 Attempt beta release 2023-03-20 15:07:26 +01:00
Davide De Rosa
2d00a05c4c Attempt beta release 2023-03-20 14:14:20 +01:00
Davide De Rosa
4a2dec9c6a Attempt beta release 2023-03-19 16:11:09 +01:00
Davide De Rosa
4faeb85295 Attempt beta release
Update bundle in beta script.
2023-03-19 14:42:56 +01:00
Davide De Rosa
fbd32d8b26
Fine-tune SwiftLint (#265) 2023-03-19 14:41:53 +01:00
Davide De Rosa
1dda8dce98 Attempt beta release 2023-03-19 08:45:34 +01:00
Davide De Rosa
f06f097f27
Add SwiftLint phase (#262) 2023-03-17 21:55:47 +01:00
Davide De Rosa
37354d1b87 Update copyright 2023-03-17 16:56:19 +01:00
Davide De Rosa
c48e35887c Bump version 2022-11-02 22:33:26 +01:00
Davide De Rosa
e2c976e58d Attempt beta release 2022-10-31 14:18:07 +01:00
Davide De Rosa
baac1f59a8 Bump version 2022-10-31 08:57:05 +01:00
Davide De Rosa
e4ec1e642d Attempt beta release 2022-10-29 13:40:50 +02:00
Davide De Rosa
b2ec7f0422 Attempt beta release 2022-10-29 13:01:18 +02:00
Davide De Rosa
0f04bdcce3 Attempt beta release 2022-10-28 15:42:10 +02:00
Davide De Rosa
b431ce4f05 Attempt beta release 2022-10-27 00:43:41 +02:00
Davide De Rosa
e1d8ec6066 Attempt beta release 2022-10-25 09:07:39 +02:00
Davide De Rosa
6c6904255d Bump version 2022-10-17 09:05:27 +02:00
Davide De Rosa
54dc2307e9 Attempt beta release 2022-10-16 10:09:35 +02:00
Davide De Rosa
c345265451 Attempt beta release 2022-10-16 08:36:17 +02:00
Davide De Rosa
5627e6c4a9
Address UI race conditions (#229)
* Make some managers concurrency-safe

- IntentsManager: @MainActor, non-shared, continuation

- SSIDReader: @MainActor, continuation

- Reviewer: main queue, non-shared

* Review wrong use of Concurrency framework

There were background thread calls e.g. in VPNToggle, because
ProfileManager was used inside a VPNManager async call.

Annotate @MainActor wherever a Task involves UI.

* Make main managers MainActor

* Apply MainActor to Mac menus

* [ci skip] Update CHANGELOG

* Set MainActor consistently on Mac menu view models
2022-10-13 08:53:50 +02:00
Davide De Rosa
63c3ac80b4 Attempt beta release 2022-10-04 22:37:53 +02:00
Davide De Rosa
ecb3138817 Attempt beta release 2022-09-25 08:55:15 +02:00
Davide De Rosa
496d993e3d Attempt beta release 2022-09-23 23:07:40 +02:00
Davide De Rosa
1364d5153e Attempt beta release 2022-09-23 22:57:36 +02:00
Davide De Rosa
be6726fbd8 Attempt beta release 2022-09-23 21:56:37 +02:00
Davide De Rosa
940e0cf8c9 Attempt beta release 2022-09-05 22:35:22 +02:00
Davide De Rosa
3b146b3e0f Fix var syntax 2022-09-05 07:58:20 +02:00
Davide De Rosa
092d4f5de2 Drop return in one-line functions 2022-09-04 20:30:55 +02:00
Davide De Rosa
1005a12a66 Add extended provider location description
- Profile: Below location row

- Menu: On top of server list
2022-09-04 19:23:40 +02:00
Davide De Rosa
0fee726951 Make profile "Connect" item a connection toggle
Requires adding multiple delegates to LightVPNManager.
2022-08-19 17:43:56 +02:00
Davide De Rosa
4d56ed6fca Only hide app by closing it
Keep constant "Show" action in menu:

- Bring app to foreground if in background
- Activate app if already in foreground
2022-08-19 17:43:52 +02:00
Davide De Rosa
f465108a0a Attempt beta release 2022-08-16 12:43:20 +02:00
Davide De Rosa
7a700408a8 Improve a few things about provider profile menus
- Add "Connect" item to connect to current server

- Sort provider categories ("Default" should also come first)

Reuse bundle from constants.
2022-08-13 16:47:01 +02:00
Davide De Rosa
0464cd0476 Fix property in launch on login bindings 2022-08-04 23:35:42 +02:00
Davide De Rosa
9195d426e4 Attempt beta release 2022-07-18 08:03:24 +02:00
Davide De Rosa
f8c6b6580d Encapsulate launchesOnLogin AppPreference from Mac 2022-07-18 08:03:24 +02:00
Davide De Rosa
04faf57d4c Send app to background if started hidden
Sandbox had to be enabled in order to submit binary to App Store
Connect, therefore command line arguments cannot be used to tell
if the app was started by the launcher.

However, given that launcher starts app in hidden state, we can
safely assert that if the app is hidden on start, it was started
by the launcher.

See f33380b4e2

Also drop automatic signing on Mac bundle and unused utils.
2022-07-18 07:55:56 +02:00
Davide De Rosa
32e548421f Attempt beta release 2022-07-17 14:50:05 +02:00
Davide De Rosa
781291940f Enforce window appearance on 'Show' after closure 2022-07-16 21:24:53 +02:00
Davide De Rosa
3f4b55a003 Implement Mac bundle with system menu
Use bundle as a means to provide Mac APIs to Catalyst app.

In order to cross the @objc wall set by the Mac Bundle mechanism,
Swift structures cannot be used directly and must be bridged
through ObjC facades.

Create NSMenu in MVVM style and install it on app launch. Make
sure to do it in AppDelegate.applicationDidFinishLaunching(),
because doing it as early as in PassepartoutApp.init() would
crash Mac code.

Use .representedObject to own view models.

With menu in place, app can be sent to background when main window
is closed. Requires multiple documents support for app not to die
instantly.
2022-07-16 17:39:42 +02:00