passepartout-apple/PassepartoutLibrary/Sources/PassepartoutProfiles
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
..
DataModels Refactor library into domain + impl 2022-06-23 23:31:01 +02:00
Extensions Drop return in one-line functions 2022-09-04 20:30:55 +02:00
Managers Address UI race conditions (#229) 2022-10-13 08:53:50 +02:00
Models Refactor library into domain + impl 2022-06-23 23:31:01 +02:00
Pickers Refactor library into domain + impl 2022-06-23 23:31:01 +02:00
Repositories Do not sort Core Data entities by UUID 2022-10-11 09:43:26 +02:00