Signal-iOS/SignalServiceKit
Adam Sharp f19110add6 Add TSMutex to replace UnfairLock
Renames UnfairLock to TSMutex and refreshes its interface to remove methods
that are unused except in tests.

TSMutex has a generic parameter State that supports non-sendable and
non-copyable values. UnfairLock is a type alias of TSMutex<Void>.

The withLock() function is also no longer inherited from NSLocking, instead
being implemented to be similar to OSAllocatedUnfairLock's API.

Finally, the class is audited for sendability and compiles without warnings
under strict concurrency checking.
2024-11-15 16:31:03 -05:00
..
Account Fully Swiftify StorageServiceManager 2024-11-07 17:32:41 -08:00
Attachments enable internal imports by default 2024-09-29 20:03:17 -05:00
Badge
Calls Use failable insert methods everywhere possible in backups 2024-11-12 07:35:44 -08:00
ChangePhoneNumber remove NSObject and Dependencies extension computed vars for SignalServiceKit 2024-10-11 23:12:59 -05:00
Concurrency Asyncify CDNDownloadOperation 2024-10-18 13:20:24 -05:00
Contacts Restore group and contact avatars after backup restore 2024-11-11 17:30:05 -08:00
Cryptography Migrate to new Media/Message backup auth credentials 2024-11-01 15:46:58 -05:00
Curve25519 enable internal imports by default 2024-09-29 20:03:17 -05:00
DateProvider Fold SignalCoreKit into SignalServiceKit 2024-06-26 08:44:41 -07:00
DebuggerUtils Fold SignalCoreKit into SignalServiceKit 2024-06-26 08:44:41 -07:00
DebugLogs Remove debug toggle 2024-11-05 12:59:28 -06:00
Dependencies Add recordIkm encryption scheme migration to Storage Service 2024-11-07 15:33:03 -08:00
Devices Report progress for backup import/export 2024-11-14 08:57:00 -08:00
DisappearingMessagesConfiguration Remove MockDB in favor of InMemoryDB 2024-10-07 19:06:08 -07:00
Environment Archive Contact recipients for TSContactThreads without SignalRecipients 2024-11-15 13:23:50 -08:00
GroupMembers Restore TSGroupMember from backups 2024-11-06 06:50:44 -08:00
Groups Rename variables that don’t store group IDs 2024-11-13 11:36:00 -06:00
Jobs Stop persisting a ReceiptCredentialPresentation on job records 2024-10-29 11:31:04 -07:00
Locking Add TSMutex to replace UnfairLock 2024-11-15 16:31:03 -05:00
Logging misc cleanup 2024-10-07 11:19:29 -05:00
Megaphones Prefix donations-related types with Donations 2024-10-25 10:14:56 -07:00
MessageBackup Move chatId assignment to after failable steps 2024-11-15 13:24:58 -08:00
Messages Update backup proto with view once quote type 2024-11-14 08:55:47 -08:00
Mocks Add ad hoc calls to backups 2024-11-08 11:45:22 -05:00
Network Configure whether libsignal should use connection fallbacks 2024-11-08 09:47:21 -08:00
Notifications Prune a couple ImplRef properties off SSKEnvironment 2024-11-07 17:33:17 -08:00
OWSAsserts Add support for passing a PrefixedLogger to owsFail* methods 2024-10-07 11:06:47 -07:00
Payments Prefix donations-related types with Donations 2024-10-25 10:14:56 -07:00
PinnedThreadManager Parametrize transaction type in DB v2 protocol 2024-10-04 16:12:52 -07:00
Preconditions
Profiles Drop ObjC from KeyValueStore 2024-11-15 09:17:55 -08:00
PromiseKit remove UIView+Promise and make an async version 2024-11-05 10:46:46 -06:00
protobuf Update backup proto with view once quote type 2024-11-14 08:55:47 -08:00
Protocols Remove the SubscriptionManager protocol 2024-10-25 10:13:10 -07:00
Protos Add recordIkm encryption scheme migration to Storage Service 2024-11-07 15:33:03 -08:00
Randomness fix test comment 2024-08-01 14:43:34 -05:00
Registration Parametrize transaction type in DB v2 protocol 2024-10-04 16:12:52 -07:00
RemoteAttestation remove Dependencies protocol entirely 2024-10-12 00:26:22 -05:00
Resources Add retrying to MessageBackupAvatarFetcher 2024-11-12 13:29:36 -08:00
Schedulers Fold SignalCoreKit into SignalServiceKit 2024-06-26 08:44:41 -07:00
SecureValueRecovery Add recordIkm encryption scheme migration to Storage Service 2024-11-07 15:33:03 -08:00
Security remove NSObject and Dependencies extension computed vars for SignalServiceKit 2024-10-11 23:12:59 -05:00
Storage Drop ObjC from KeyValueStore 2024-11-15 09:17:55 -08:00
StorageService Fully Swiftify StorageServiceManager 2024-11-07 17:32:41 -08:00
Stories
Subscriptions Use new async OWSUrlSession methods 2024-11-04 15:29:53 -06:00
tests Add TSMutex to replace UnfairLock 2024-11-15 16:31:03 -05:00
TestUtils Prune a couple ImplRef properties off SSKEnvironment 2024-11-07 17:33:17 -08:00
Threading remove MainActor assumptions from ReadyFlag and propagate upwards 2024-09-26 20:56:20 -05:00
UISupport Parametrize transaction type in DB v2 protocol 2024-10-04 16:12:52 -07:00
Upload Consolidate error handling for OWSURLSession 2024-11-04 15:49:11 -06:00
Usernames Clean up some noisy lines 2024-11-01 17:33:38 -05:00
Util Resolve race in TaskQueueLoaderTest 2024-11-15 13:24:03 -08:00
VoiceMessage move voice message over to SignalServiceKit and fix a few missed build phase updates 2024-03-06 12:47:06 -06:00
ZkParams Clean up MessageBackupAuthCredentialManager 2024-11-11 16:03:41 -06:00
.gitignore
.travis.yml
SignalServiceKit-Prefix.pch misc cleanup 2024-10-07 11:19:29 -05:00
SignalServiceKit.h Drop ObjC from KeyValueStore 2024-11-15 09:17:55 -08:00
SSKEnvironment.swift Prune a couple ImplRef properties off SSKEnvironment 2024-11-07 17:33:17 -08:00
TSConstants.swift Remove unused CDS code 2024-11-06 18:58:22 -06:00