From a689aa21d68f7945de3cdc332b5a4140783eee5b Mon Sep 17 00:00:00 2001 From: Max Radermacher Date: Mon, 15 Sep 2025 15:24:13 -0500 Subject: [PATCH] Move around some files in SignalServiceKit --- Scripts/feature_flags_common.py | 2 +- Signal.xcodeproj/project.pbxproj | 212 +++++------------- .../{Util => }/Avatars/AvatarBuilder.swift | 0 .../Avatars/AvatarDefaultColorManager.swift | 0 .../{Util => }/Avatars/AvatarModel.swift | 0 .../Avatars/LocalUserDisplayMode.swift | 0 .../NoopCallMessageHandler.swift | 0 .../{Locking => Concurrency}/TSMutex.swift | 0 .../{Util => Concurrency}/ThreadBacked.swift | 0 .../{Threading => Concurrency}/Threading.h | 0 .../{Threading => Concurrency}/Threading.m | 0 .../Threading.swift | 0 .../ContactManager.swift | 0 .../ContactsManagerProtocol.swift | 0 .../ECKeyPair.swift | 0 .../PublicKey.swift | 0 .../Randomness.swift | 0 .../RandomnessTest.swift | 0 .../DateProvider.swift | 0 .../MonotonicDate.swift | 0 .../DebugLogger.swift | 0 .../DebuggerUtils.h | 0 .../DebuggerUtils.m | 0 .../LogFormatter.swift | 0 .../{Logging => Debugging}/Logger.swift | 0 .../{OWSAsserts => Debugging}/OWSAsserts.h | 0 .../{OWSAsserts => Debugging}/OWSAsserts.m | 0 .../{Logging => Debugging}/OWSLogs.h | 0 .../{Logging => Debugging}/OWSLogs.m | 0 .../OWSSwiftUtils.swift | 0 .../{Util => Debugging}/PrefixedLogger.swift | 0 .../ScrubbingLogFormatter.swift | 0 .../InactivePrimaryDeviceStore.swift | 0 .../DependenciesBridge.swift | 0 .../FeatureFlags+Generated.swift | 0 .../{Util => Environment}/FeatureFlags.swift | 0 .../RemoteConfigManager.swift | 0 .../{ => Environment}/SSKEnvironment.swift | 0 .../{ => Environment}/TSConstants.swift | 0 .../GroupMemberMergeObserver.swift | 0 .../GroupMemberStore.swift | 0 .../GroupMemberUpdater.swift | 0 .../TSGroupMember.swift | 0 .../MessageRequestPendingReceipts.swift | 0 .../{Util => Profiles}/OWSUserProfile.swift | 0 .../ProfileManager.swift | 0 .../ProfileManagerProtocol.swift | 0 .../UserProfileFinder.swift | 0 .../UserProfileWriter.swift | 0 .../{Util => PromiseKit}/ChainedPromise.swift | 0 .../{Protocols => Protos}/ProtoUtils.swift | 0 .../Threads/LastVisibleInteractionStore.swift | 0 .../PrivateStoryThreadDeletionManager.swift | 0 .../Threads/TSContactThread+SDS.swift | 0 .../{Contacts => }/Threads/TSContactThread.h | 0 .../{Contacts => }/Threads/TSContactThread.m | 0 .../Threads/TSContactThread.swift | 0 .../Threads/TSGroupThread+OWS.swift | 0 .../Threads/TSGroupThread+SDS.swift | 0 .../{Contacts => }/Threads/TSGroupThread.h | 0 .../{Contacts => }/Threads/TSGroupThread.m | 0 .../Threads/TSGroupThread.swift | 0 .../TSPrivateStoryThread+SDS.swift | 0 .../TSPrivateStoryThread.h | 0 .../TSPrivateStoryThread.m | 0 .../TSPrivateStoryThread.swift | 0 .../{Contacts => }/Threads/TSThread+OWS.swift | 0 .../Threads/ThreadRemover.swift | 0 .../Threads/ThreadSoftDeleteManager.swift | 0 .../{Contacts => }/Threads/ThreadStore.swift | 0 .../{Environment => Util}/Sounds.swift | 0 .../{Logging => Util}/StringSanitizer.swift | 0 .../StringSanitizerTests.swift | 0 .../AuthCredentialManager.swift | 0 .../AuthCredentialStore.swift | 0 .../BackupAuthCredentialManager.swift | 0 .../CallLinkAuthCredential.swift | 0 .../ZkParamsMigrator.swift | 0 78 files changed, 62 insertions(+), 152 deletions(-) rename SignalServiceKit/{Util => }/Avatars/AvatarBuilder.swift (100%) rename SignalServiceKit/{Util => }/Avatars/AvatarDefaultColorManager.swift (100%) rename SignalServiceKit/{Util => }/Avatars/AvatarModel.swift (100%) rename SignalServiceKit/{Util => }/Avatars/LocalUserDisplayMode.swift (100%) rename SignalServiceKit/{Environment => Calls}/NoopCallMessageHandler.swift (100%) rename SignalServiceKit/{Locking => Concurrency}/TSMutex.swift (100%) rename SignalServiceKit/{Util => Concurrency}/ThreadBacked.swift (100%) rename SignalServiceKit/{Threading => Concurrency}/Threading.h (100%) rename SignalServiceKit/{Threading => Concurrency}/Threading.m (100%) rename SignalServiceKit/{Threading => Concurrency}/Threading.swift (100%) rename SignalServiceKit/{Protocols => Contacts}/ContactManager.swift (100%) rename SignalServiceKit/{Protocols => Contacts}/ContactsManagerProtocol.swift (100%) rename SignalServiceKit/{Curve25519 => Cryptography}/ECKeyPair.swift (100%) rename SignalServiceKit/{Curve25519 => Cryptography}/PublicKey.swift (100%) rename SignalServiceKit/{Randomness => Cryptography}/Randomness.swift (100%) rename SignalServiceKit/{Randomness => Cryptography}/RandomnessTest.swift (100%) rename SignalServiceKit/{DateProvider => Dates}/DateProvider.swift (100%) rename SignalServiceKit/{DateProvider => Dates}/MonotonicDate.swift (100%) rename SignalServiceKit/{DebugLogs => Debugging}/DebugLogger.swift (100%) rename SignalServiceKit/{DebuggerUtils => Debugging}/DebuggerUtils.h (100%) rename SignalServiceKit/{DebuggerUtils => Debugging}/DebuggerUtils.m (100%) rename SignalServiceKit/{DebugLogs => Debugging}/LogFormatter.swift (100%) rename SignalServiceKit/{Logging => Debugging}/Logger.swift (100%) rename SignalServiceKit/{OWSAsserts => Debugging}/OWSAsserts.h (100%) rename SignalServiceKit/{OWSAsserts => Debugging}/OWSAsserts.m (100%) rename SignalServiceKit/{Logging => Debugging}/OWSLogs.h (100%) rename SignalServiceKit/{Logging => Debugging}/OWSLogs.m (100%) rename SignalServiceKit/{OWSAsserts => Debugging}/OWSSwiftUtils.swift (100%) rename SignalServiceKit/{Util => Debugging}/PrefixedLogger.swift (100%) rename SignalServiceKit/{DebugLogs => Debugging}/ScrubbingLogFormatter.swift (100%) rename SignalServiceKit/{ => Devices}/InactivePrimaryDeviceStore.swift (100%) rename SignalServiceKit/{Dependencies => Environment}/DependenciesBridge.swift (100%) rename SignalServiceKit/{Util => Environment}/FeatureFlags+Generated.swift (100%) rename SignalServiceKit/{Util => Environment}/FeatureFlags.swift (100%) rename SignalServiceKit/{Util => Environment}/RemoteConfigManager.swift (100%) rename SignalServiceKit/{ => Environment}/SSKEnvironment.swift (100%) rename SignalServiceKit/{ => Environment}/TSConstants.swift (100%) rename SignalServiceKit/{GroupMembers => Groups}/GroupMemberMergeObserver.swift (100%) rename SignalServiceKit/{GroupMembers => Groups}/GroupMemberStore.swift (100%) rename SignalServiceKit/{GroupMembers => Groups}/GroupMemberUpdater.swift (100%) rename SignalServiceKit/{GroupMembers => Groups}/TSGroupMember.swift (100%) rename SignalServiceKit/{Environment => Messages}/MessageRequestPendingReceipts.swift (100%) rename SignalServiceKit/{Util => Profiles}/OWSUserProfile.swift (100%) rename SignalServiceKit/{Protocols => Profiles}/ProfileManager.swift (100%) rename SignalServiceKit/{Protocols => Profiles}/ProfileManagerProtocol.swift (100%) rename SignalServiceKit/{Util => Profiles}/UserProfileFinder.swift (100%) rename SignalServiceKit/{Protocols => Profiles}/UserProfileWriter.swift (100%) rename SignalServiceKit/{Util => PromiseKit}/ChainedPromise.swift (100%) rename SignalServiceKit/{Protocols => Protos}/ProtoUtils.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/LastVisibleInteractionStore.swift (100%) rename SignalServiceKit/{Contacts/Threads/StoryThreads => Threads}/PrivateStoryThreadDeletionManager.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/TSContactThread+SDS.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/TSContactThread.h (100%) rename SignalServiceKit/{Contacts => }/Threads/TSContactThread.m (100%) rename SignalServiceKit/{Contacts => }/Threads/TSContactThread.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/TSGroupThread+OWS.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/TSGroupThread+SDS.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/TSGroupThread.h (100%) rename SignalServiceKit/{Contacts => }/Threads/TSGroupThread.m (100%) rename SignalServiceKit/{Contacts => }/Threads/TSGroupThread.swift (100%) rename SignalServiceKit/{Contacts/Threads/StoryThreads => Threads}/TSPrivateStoryThread+SDS.swift (100%) rename SignalServiceKit/{Contacts/Threads/StoryThreads => Threads}/TSPrivateStoryThread.h (100%) rename SignalServiceKit/{Contacts/Threads/StoryThreads => Threads}/TSPrivateStoryThread.m (100%) rename SignalServiceKit/{Contacts/Threads/StoryThreads => Threads}/TSPrivateStoryThread.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/TSThread+OWS.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/ThreadRemover.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/ThreadSoftDeleteManager.swift (100%) rename SignalServiceKit/{Contacts => }/Threads/ThreadStore.swift (100%) rename SignalServiceKit/{Environment => Util}/Sounds.swift (100%) rename SignalServiceKit/{Logging => Util}/StringSanitizer.swift (100%) rename SignalServiceKit/{Logging => Util}/StringSanitizerTests.swift (100%) rename SignalServiceKit/{ZkParams => ZeroKnowledge}/AuthCredentialManager.swift (100%) rename SignalServiceKit/{ZkParams => ZeroKnowledge}/AuthCredentialStore.swift (100%) rename SignalServiceKit/{ZkParams => ZeroKnowledge}/BackupAuthCredentialManager.swift (100%) rename SignalServiceKit/{ZkParams => ZeroKnowledge}/CallLinkAuthCredential.swift (100%) rename SignalServiceKit/{ZkParams => ZeroKnowledge}/ZkParamsMigrator.swift (100%) diff --git a/Scripts/feature_flags_common.py b/Scripts/feature_flags_common.py index d0e5503b46..346d4dec53 100755 --- a/Scripts/feature_flags_common.py +++ b/Scripts/feature_flags_common.py @@ -6,7 +6,7 @@ import re import subprocess import tag_template -FILE_PATH = "SignalServiceKit/Util/FeatureFlags+Generated.swift" +FILE_PATH = "SignalServiceKit/Environment/FeatureFlags+Generated.swift" def run(args): diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index a88cfc00c0..e622c34964 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -29,8 +29,8 @@ 04BBBE922E26C92D00E914B1 /* InactivePrimaryDeviceStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BBBE912E26C92300E914B1 /* InactivePrimaryDeviceStore.swift */; }; 04BBBE942E26F00900E914B1 /* InactivePrimaryDeviceStoreTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BBBE932E26F00000E914B1 /* InactivePrimaryDeviceStoreTest.swift */; }; 04BC94D22E061D8300446C52 /* BackupArchiveAttachmentByteCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04BC94D12E061D7500446C52 /* BackupArchiveAttachmentByteCounter.swift */; }; - 04E66D402DFC825B0059DBAC /* RecoveryKeyReminderMegaphone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E66D3E2DFC81BC0059DBAC /* RecoveryKeyReminderMegaphone.swift */; }; 04CF4FCE2E724604009D6669 /* PollDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CF4FCD2E7245FC009D6669 /* PollDetailsViewController.swift */; }; + 04E66D402DFC825B0059DBAC /* RecoveryKeyReminderMegaphone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E66D3E2DFC81BC0059DBAC /* RecoveryKeyReminderMegaphone.swift */; }; 04E66D422DFF3A4B0059DBAC /* BackupsReminderCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E66D412DFF3A3E0059DBAC /* BackupsReminderCoordinator.swift */; }; 04E66D452E00AB6A0059DBAC /* BackupSettingsStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E66D432E00AB3A0059DBAC /* BackupSettingsStoreTests.swift */; }; 05104D182C8A151100F8851F /* AsyncViewTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05104D172C8A151100F8851F /* AsyncViewTask.swift */; }; @@ -3855,8 +3855,8 @@ 04BBBE912E26C92300E914B1 /* InactivePrimaryDeviceStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InactivePrimaryDeviceStore.swift; sourceTree = ""; }; 04BBBE932E26F00000E914B1 /* InactivePrimaryDeviceStoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InactivePrimaryDeviceStoreTest.swift; sourceTree = ""; }; 04BC94D12E061D7500446C52 /* BackupArchiveAttachmentByteCounter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackupArchiveAttachmentByteCounter.swift; sourceTree = ""; }; - 04E66D3E2DFC81BC0059DBAC /* RecoveryKeyReminderMegaphone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecoveryKeyReminderMegaphone.swift; sourceTree = ""; }; 04CF4FCD2E7245FC009D6669 /* PollDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollDetailsViewController.swift; sourceTree = ""; }; + 04E66D3E2DFC81BC0059DBAC /* RecoveryKeyReminderMegaphone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecoveryKeyReminderMegaphone.swift; sourceTree = ""; }; 04E66D412DFF3A3E0059DBAC /* BackupsReminderCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackupsReminderCoordinator.swift; sourceTree = ""; }; 04E66D432E00AB3A0059DBAC /* BackupSettingsStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackupSettingsStoreTests.swift; sourceTree = ""; }; 05104D172C8A151100F8851F /* AsyncViewTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncViewTask.swift; sourceTree = ""; }; @@ -6772,7 +6772,6 @@ D9D321802A8FEA9C004FC110 /* StorageService.proto */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.protobuf; name = StorageService.proto; path = SignalServiceKit/protobuf/StorageService.proto; sourceTree = SOURCE_ROOT; }; D9D321812A8FEA9C004FC110 /* SignalService.proto */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.protobuf; name = SignalService.proto; path = SignalServiceKit/protobuf/SignalService.proto; sourceTree = SOURCE_ROOT; }; D9D321822A8FEA9C004FC110 /* Provisioning.proto */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.protobuf; name = Provisioning.proto; path = SignalServiceKit/protobuf/Provisioning.proto; sourceTree = SOURCE_ROOT; }; - D9D321832A8FEA9C004FC110 /* cdsi.proto */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.protobuf; name = cdsi.proto; path = SignalServiceKit/protobuf/cdsi.proto; sourceTree = SOURCE_ROOT; }; D9D321842A8FEA9D004FC110 /* svr2.proto */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.protobuf; name = svr2.proto; path = SignalServiceKit/protobuf/svr2.proto; sourceTree = SOURCE_ROOT; }; D9D321852A8FEA9D004FC110 /* WebSocketResources.proto */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.protobuf; name = WebSocketResources.proto; path = SignalServiceKit/protobuf/WebSocketResources.proto; sourceTree = SOURCE_ROOT; }; D9DB37EE2B7180DD007B16C8 /* CallRecordAssociatedInteraction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallRecordAssociatedInteraction.swift; sourceTree = ""; }; @@ -8934,6 +8933,11 @@ 50C0203D2CA4A7A500BDC4EF /* Retry.swift */, D96869442E1065F1005451E4 /* SeriallyAccessedState.swift */, 6605B9852B2112A100E8A68A /* SerialTaskQueue.swift */, + F9C5CB10289453B200548EEE /* ThreadBacked.swift */, + 668A01122C2B6077007B8808 /* Threading.h */, + 668A01132C2B6077007B8808 /* Threading.m */, + 729E0B082CA4ADE2002EC961 /* Threading.swift */, + 668A00E62C2B5F58007B8808 /* TSMutex.swift */, 726C94212D6F442200ABF9B9 /* UncooperativeTimeout.swift */, 726C94232D6F481B00ABF9B9 /* UncooperativeTimeoutTest.swift */, ); @@ -8948,7 +8952,7 @@ path = OrphanData; sourceTree = ""; }; - 5013365D2B2BC2CD004119F1 /* ZkParams */ = { + 5013365D2B2BC2CD004119F1 /* ZeroKnowledge */ = { isa = PBXGroup; children = ( 50552C292BAB8E7D00815474 /* AuthCredentialManager.swift */, @@ -8957,7 +8961,7 @@ 50A4AC612C111FAE00D89C8E /* CallLinkAuthCredential.swift */, 5013365E2B2BC2EF004119F1 /* ZkParamsMigrator.swift */, ); - path = ZkParams; + path = ZeroKnowledge; sourceTree = ""; }; 501AD1C22AF17A0B001B796A /* Curve25519 */ = { @@ -9003,15 +9007,6 @@ path = VoiceMessage; sourceTree = ""; }; - 503B471C2AF0566B00978266 /* Curve25519 */ = { - isa = PBXGroup; - children = ( - 503B471F2AF0569A00978266 /* ECKeyPair.swift */, - 503B471E2AF0569A00978266 /* PublicKey.swift */, - ); - path = Curve25519; - sourceTree = ""; - }; 50423CA22BBF426700DCB8F5 /* Profiles */ = { isa = PBXGroup; children = ( @@ -9068,17 +9063,6 @@ path = DeviceTransfer; sourceTree = ""; }; - 506695ED29C5337700B6D8D0 /* GroupMembers */ = { - isa = PBXGroup; - children = ( - 506695E929C52F2F00B6D8D0 /* GroupMemberMergeObserver.swift */, - 506695EB29C5305800B6D8D0 /* GroupMemberStore.swift */, - 506695EE29C533A400B6D8D0 /* GroupMemberUpdater.swift */, - F9C5C9FD289453B100548EEE /* TSGroupMember.swift */, - ); - path = GroupMembers; - sourceTree = ""; - }; 5073EACC2C4F45E4001FBB3E /* Calls */ = { isa = PBXGroup; children = ( @@ -9309,13 +9293,13 @@ path = Registration; sourceTree = ""; }; - 6600F36A298DAA4F00B1EDB7 /* DateProvider */ = { + 6600F36A298DAA4F00B1EDB7 /* Dates */ = { isa = PBXGroup; children = ( 6600F36B298DAA6200B1EDB7 /* DateProvider.swift */, 50311B8A2BC0C2A100AE5A5F /* MonotonicDate.swift */, ); - path = DateProvider; + path = Dates; sourceTree = ""; }; 6600F38C29918A5100B1EDB7 /* Registration */ = { @@ -9668,14 +9652,6 @@ path = ContactShare; sourceTree = ""; }; - 666BAB0E2980B76B00867196 /* Dependencies */ = { - isa = PBXGroup; - children = ( - 6698FC192980AB45004EFC30 /* DependenciesBridge.swift */, - ); - path = Dependencies; - sourceTree = ""; - }; 6673FF6A2978B5B900F96CFD /* SecureValueRecovery */ = { isa = PBXGroup; children = ( @@ -9781,74 +9757,21 @@ 728BFE512C5C59E5008F20F1 /* CipherContext.swift */, 668A00CD2C2B5E31007B8808 /* Cryptography.swift */, 668A00D92C2B5E72007B8808 /* CryptographyTests.swift */, + 503B471F2AF0569A00978266 /* ECKeyPair.swift */, + 503B471E2AF0569A00978266 /* PublicKey.swift */, + 728BFE462C5BEC5C008F20F1 /* Randomness.swift */, + 728BFE482C5BF9CE008F20F1 /* RandomnessTest.swift */, 7267B1552C5D4D3100612C34 /* Sha256HmacSiv.swift */, 7267B1572C5D4F2800612C34 /* Sha256HmacSivTest.swift */, ); path = Cryptography; sourceTree = ""; }; - 668A00D32C2B5E4C007B8808 /* Randomness */ = { - isa = PBXGroup; - children = ( - 728BFE462C5BEC5C008F20F1 /* Randomness.swift */, - 728BFE482C5BF9CE008F20F1 /* RandomnessTest.swift */, - ); - path = Randomness; - sourceTree = ""; - }; - 668A00DC2C2B5EC3007B8808 /* DebuggerUtils */ = { - isa = PBXGroup; - children = ( - 668A00DE2C2B5ECF007B8808 /* DebuggerUtils.h */, - 668A00DD2C2B5ECF007B8808 /* DebuggerUtils.m */, - ); - path = DebuggerUtils; - sourceTree = ""; - }; - 668A00E52C2B5F49007B8808 /* Locking */ = { - isa = PBXGroup; - children = ( - 668A00E62C2B5F58007B8808 /* TSMutex.swift */, - ); - path = Locking; - sourceTree = ""; - }; - 668A00FC2C2B5FBA007B8808 /* OWSAsserts */ = { - isa = PBXGroup; - children = ( - 668A00FE2C2B5FC8007B8808 /* OWSAsserts.h */, - 668A00FF2C2B5FC8007B8808 /* OWSAsserts.m */, - 668A00FD2C2B5FC8007B8808 /* OWSSwiftUtils.swift */, - ); - path = OWSAsserts; - sourceTree = ""; - }; - 668A01032C2B5FD2007B8808 /* Logging */ = { - isa = PBXGroup; - children = ( - 668A01042C2B5FE0007B8808 /* Logger.swift */, - 668A01052C2B5FE0007B8808 /* OWSLogs.h */, - 668A01062C2B5FE0007B8808 /* OWSLogs.m */, - 668A010A2C2B602F007B8808 /* StringSanitizer.swift */, - 668A01432C2B6117007B8808 /* StringSanitizerTests.swift */, - ); - path = Logging; - sourceTree = ""; - }; - 668A01112C2B606F007B8808 /* Threading */ = { - isa = PBXGroup; - children = ( - 668A01122C2B6077007B8808 /* Threading.h */, - 668A01132C2B6077007B8808 /* Threading.m */, - 729E0B082CA4ADE2002EC961 /* Threading.swift */, - ); - path = Threading; - sourceTree = ""; - }; 668A01282C2B6088007B8808 /* PromiseKit */ = { isa = PBXGroup; children = ( 668A01172C2B6088007B8808 /* Catchable.swift */, + 661396AC28BE74DC00E0C4DF /* ChainedPromise.swift */, 668A01182C2B6088007B8808 /* DispatchQueue+Promise.swift */, 668A01192C2B6088007B8808 /* firstly.swift */, 668A011A2C2B6088007B8808 /* Future.swift */, @@ -10430,8 +10353,13 @@ F9C5CB66289453B200548EEE /* BadgeStore.swift */, 50159CDC2B4EF75600D344D4 /* LocalProfileChecker.swift */, 3470249D2385B6360078D72C /* OWSProfileManager.swift */, + F9C5CAFE289453B200548EEE /* OWSUserProfile.swift */, F9C5CB68289453B200548EEE /* ProfileFetcher.swift */, F9C5CB67289453B200548EEE /* ProfileFetcherJob.swift */, + 503BD2882B44D666009624FC /* ProfileManager.swift */, + 72901D2C2C9B1296000406DC /* ProfileManagerProtocol.swift */, + F9C5CB54289453B200548EEE /* UserProfileFinder.swift */, + 72901D2A2C9B119E000406DC /* UserProfileWriter.swift */, F9C5CB6A289453B200548EEE /* VersionedProfiles.swift */, 3470249F238C85850078D72C /* VersionedProfilesImpl.swift */, ); @@ -10486,23 +10414,35 @@ path = Stories; sourceTree = ""; }; - 7255A4CE2B98E23800E95368 /* DebugLogs */ = { + 7255A4CE2B98E23800E95368 /* Debugging */ = { isa = PBXGroup; children = ( + 668A00DE2C2B5ECF007B8808 /* DebuggerUtils.h */, + 668A00DD2C2B5ECF007B8808 /* DebuggerUtils.m */, 50A1CE372A00894C00730C40 /* DebugLogger.swift */, 5027A6AB2AFC48D000D5AB95 /* LogFormatter.swift */, + 668A01042C2B5FE0007B8808 /* Logger.swift */, + 668A00FE2C2B5FC8007B8808 /* OWSAsserts.h */, + 668A00FF2C2B5FC8007B8808 /* OWSAsserts.m */, + 668A01052C2B5FE0007B8808 /* OWSLogs.h */, + 668A01062C2B5FE0007B8808 /* OWSLogs.m */, + 668A00FD2C2B5FC8007B8808 /* OWSSwiftUtils.swift */, + D95C39EB296E1BC600A9DA23 /* PrefixedLogger.swift */, F962FF4829AD0C7C00AFA397 /* ScrubbingLogFormatter.swift */, ); - path = DebugLogs; + path = Debugging; sourceTree = ""; }; 72C905882B9A275C00E586B8 /* Environment */ = { isa = PBXGroup; children = ( 5033D46A29DB9F17007FEADA /* AppSetup.swift */, - 4C35B08823F8A9A1003EB937 /* MessageRequestPendingReceipts.swift */, - 347850671FD9B78A007B8332 /* NoopCallMessageHandler.swift */, - 7634F08C2A21963600BB93D5 /* Sounds.swift */, + 6698FC192980AB45004EFC30 /* DependenciesBridge.swift */, + 505F76322BC45C0700B1B51C /* FeatureFlags+Generated.swift */, + F9C5CB59289453B200548EEE /* FeatureFlags.swift */, + F9C5CB45289453B200548EEE /* RemoteConfigManager.swift */, + 50E642C829E4E9CD00566D5D /* SSKEnvironment.swift */, + F9C5CB97289453B200548EEE /* TSConstants.swift */, ); path = Environment; sourceTree = ""; @@ -12905,18 +12845,6 @@ path = AdHocCall; sourceTree = ""; }; - D9CA61492C2F670300F99EA3 /* StoryThreads */ = { - isa = PBXGroup; - children = ( - D9CA614A2C2F675E00F99EA3 /* PrivateStoryThreadDeletionManager.swift */, - F9C5C9E4289453B100548EEE /* TSPrivateStoryThread+SDS.swift */, - F9C5C9E6289453B100548EEE /* TSPrivateStoryThread.h */, - F9C5C9ED289453B100548EEE /* TSPrivateStoryThread.m */, - F9C5C9E5289453B100548EEE /* TSPrivateStoryThread.swift */, - ); - path = StoryThreads; - sourceTree = ""; - }; D9CA8AAD2B698B2400787167 /* DeletedCallRecord */ = { isa = PBXGroup; children = ( @@ -12939,7 +12867,6 @@ D9D321792A8FEA7A004FC110 /* Specifications */ = { isa = PBXGroup; children = ( - D9D321832A8FEA9C004FC110 /* cdsi.proto */, D9D3217C2A8FEA9B004FC110 /* DeviceTransfer.proto */, D9D3217D2A8FEA9C004FC110 /* Fingerprint.proto */, D9D3217B2A8FEA9B004FC110 /* Groups.proto */, @@ -13474,6 +13401,7 @@ 50C831752BAA3A8000BEBF25 /* CallMessageHandler.swift */, 32525F9427C74B1A0099E801 /* GroupCallManager.swift */, D95777B92B46411300CFE3AE /* GroupCallPeekClient.swift */, + 347850671FD9B78A007B8332 /* NoopCallMessageHandler.swift */, 6640639D294D20A900997E0B /* OutgoingCallEventSyncMessage.swift */, 5060EBB92C7D211A00DF77AD /* OutgoingCallLinkUpdateMessage.swift */, D9DB37F22B71B037007B16C8 /* OutgoingCallLogEventSyncMessage.swift */, @@ -13595,6 +13523,7 @@ children = ( F9C5C9BA289453B100548EEE /* Account */, 7255A4C32B98D5A800E95368 /* Attachments */, + 720547F12B9C8F5E00E2CF2F /* Avatars */, 665C0D5A2ADF537000539A37 /* Backups */, D979DA142B8D1FCF000EEAB8 /* Badge */, F945FE482984795A00C835C7 /* Calls */, @@ -13602,35 +13531,26 @@ 500AF3A92C58346500CB9F4F /* Concurrency */, F9C5C9CC289453B100548EEE /* Contacts */, 668A00CC2C2B5E1A007B8808 /* Cryptography */, - 503B471C2AF0566B00978266 /* Curve25519 */, - 6600F36A298DAA4F00B1EDB7 /* DateProvider */, - 668A00DC2C2B5EC3007B8808 /* DebuggerUtils */, - 7255A4CE2B98E23800E95368 /* DebugLogs */, - 666BAB0E2980B76B00867196 /* Dependencies */, + 6600F36A298DAA4F00B1EDB7 /* Dates */, + 7255A4CE2B98E23800E95368 /* Debugging */, F9C5CA09289453B100548EEE /* Devices */, D9E5203E2C3F321C004D3D45 /* DisappearingMessagesConfiguration */, 72C905882B9A275C00E586B8 /* Environment */, - 506695ED29C5337700B6D8D0 /* GroupMembers */, F9C5CBA3289453B200548EEE /* Groups */, D9668B30291B033800665298 /* Jobs */, D98CA2AE2DF170FE0060370E /* LocalDeviceAuth */, - 668A00E52C2B5F49007B8808 /* Locking */, - 668A01032C2B5FD2007B8808 /* Logging */, D920487D28EB8201003F5371 /* Megaphones */, F9C5C8B6289453B100548EEE /* Messages */, D9E335A52993269E00825677 /* Mocks */, F9C5CAB2289453B200548EEE /* Network */, 88D23D0823CEBF4400B0E74B /* Notifications */, - 668A00FC2C2B5FBA007B8808 /* OWSAsserts */, F9C5CA9F289453B200548EEE /* Payments */, 6694BF662B3647F000B18764 /* PinnedThreadManager */, 50A76F542AF573C000FCF02D /* Preconditions */, 724D47B32B97C226001BE973 /* Profiles */, 668A01282C2B6088007B8808 /* PromiseKit */, - F9C5CA00289453B100548EEE /* Protocols */, F9C5C9A1289453B100548EEE /* Protos */, E19C3D922CF6B34200F2C496 /* QRCodes */, - 668A00D32C2B5E4C007B8808 /* Randomness */, 6600F352298C8FBB00B1EDB7 /* Registration */, F9C5C9C6289453B100548EEE /* RemoteAttestation */, F9B0DC3B28948656004E07B7 /* Resources */, @@ -13642,18 +13562,15 @@ D91A39E62AE2F42000F57A61 /* Subscriptions */, F9C5C8A4289451B900548EEE /* tests */, F9C5CB82289453B200548EEE /* TestUtils */, - 668A01112C2B606F007B8808 /* Threading */, + F9C5C9E3289453B100548EEE /* Threads */, 500AEE032A4B68D200371F05 /* UISupport */, C1DF3F3B2B0283C5004B6986 /* Upload */, D925F55C298C6A6000158EE4 /* Usernames */, F9C5CAF8289453B200548EEE /* Util */, 503AECCC29B2B86200642F66 /* VoiceMessage */, - 5013365D2B2BC2CD004119F1 /* ZkParams */, - 04BBBE912E26C92300E914B1 /* InactivePrimaryDeviceStore.swift */, + 5013365D2B2BC2CD004119F1 /* ZeroKnowledge */, F9C985D2289459860029F9AD /* SignalServiceKit-Prefix.pch */, F9C5C899289451B900548EEE /* SignalServiceKit.h */, - 50E642C829E4E9CD00566D5D /* SSKEnvironment.swift */, - F9C5CB97289453B200548EEE /* TSConstants.swift */, ); path = SignalServiceKit; sourceTree = ""; @@ -13732,6 +13649,7 @@ F9C5C95E289453B100548EEE /* MessagePipelineSupervisor.swift */, F9C5C975289453B100548EEE /* MessageProcessor.swift */, F9C5C94F289453B100548EEE /* MessageReceiver.swift */, + 4C35B08823F8A9A1003EB937 /* MessageRequestPendingReceipts.swift */, F9C5C99B289453B100548EEE /* MessageSender+Errors.swift */, F9C5C954289453B100548EEE /* MessageSender+SenderKey.swift */, F9C5C8D5289453B100548EEE /* MessageSender.swift */, @@ -14027,6 +13945,7 @@ D90D4C4C2BB633560097C573 /* Backups */, F9C5C9A2289453B100548EEE /* Generated */, D9D321792A8FEA7A004FC110 /* Specifications */, + 72901D2E2C9B1913000406DC /* ProtoUtils.swift */, F9C5C9B9289453B100548EEE /* SSKProto+OWS.swift */, ); path = Protos; @@ -14093,13 +14012,14 @@ F9C5C9D5289453B100548EEE /* Discovery */, B9327B3B2BBB77B800CCDBBA /* NicknameRecord */, 6619A1932B27C7A1004B38FE /* SignalRecipient */, - F9C5C9E3289453B100548EEE /* Threads */, 505AB9312DB2B21900592A70 /* AccountChecker.swift */, 50D2FC7C2AEB134C002E4589 /* AuthorMergeHelper.swift */, 500AEE082A4E09AD00371F05 /* AuthorMergeObserver.swift */, 5020EFA12BA8A5390038C2D5 /* CanonicalPhoneNumber.swift */, F9C5C9FE289453B100548EEE /* Contact.swift */, + 506A99D32B86B39F00E3C753 /* ContactManager.swift */, 5096BE682AF37A9900668F9F /* ContactOutputStream.swift */, + 726E0F092C6263B0000BC973 /* ContactsManagerProtocol.swift */, 5096BE642AF3514800668F9F /* ContactSyncAttachmentBuilder.swift */, 5077B5B72BBC7FE600EF399E /* ContactTest.swift */, F9C5C9FB289453B100548EEE /* ContactThreadFinder.swift */, @@ -14162,8 +14082,8 @@ F9C5C9E3289453B100548EEE /* Threads */ = { isa = PBXGroup; children = ( - D9CA61492C2F670300F99EA3 /* StoryThreads */, 6671DC862CD44C9B002620EF /* LastVisibleInteractionStore.swift */, + D9CA614A2C2F675E00F99EA3 /* PrivateStoryThreadDeletionManager.swift */, 502D45432A05A34B00B8BCE0 /* ThreadRemover.swift */, D9F9A63E2C013EF100EF13EC /* ThreadSoftDeleteManager.swift */, 5033D46029D638FD007FEADA /* ThreadStore.swift */, @@ -14176,24 +14096,15 @@ F9C5C9EC289453B100548EEE /* TSGroupThread.h */, F9C5C9E7289453B100548EEE /* TSGroupThread.m */, 880FB40528CD205F00FA1C10 /* TSGroupThread.swift */, + F9C5C9E4289453B100548EEE /* TSPrivateStoryThread+SDS.swift */, + F9C5C9E6289453B100548EEE /* TSPrivateStoryThread.h */, + F9C5C9ED289453B100548EEE /* TSPrivateStoryThread.m */, + F9C5C9E5289453B100548EEE /* TSPrivateStoryThread.swift */, F9C5C9E9289453B100548EEE /* TSThread+OWS.swift */, ); path = Threads; sourceTree = ""; }; - F9C5CA00289453B100548EEE /* Protocols */ = { - isa = PBXGroup; - children = ( - 506A99D32B86B39F00E3C753 /* ContactManager.swift */, - 726E0F092C6263B0000BC973 /* ContactsManagerProtocol.swift */, - 503BD2882B44D666009624FC /* ProfileManager.swift */, - 72901D2C2C9B1296000406DC /* ProfileManagerProtocol.swift */, - 72901D2E2C9B1913000406DC /* ProtoUtils.swift */, - 72901D2A2C9B119E000406DC /* UserProfileWriter.swift */, - ); - path = Protocols; - sourceTree = ""; - }; F9C5CA09289453B100548EEE /* Devices */ = { isa = PBXGroup; children = ( @@ -14201,6 +14112,7 @@ 6619A1BB2B2A8132004B38FE /* SentMessageTranscriptReceiver */, D970D0332E4554D4001FF608 /* SyncMessages */, D9C0AE642BD7103100FCB05E /* InactiveLinkedDeviceFinder.swift */, + 04BBBE912E26C92300E914B1 /* InactivePrimaryDeviceStore.swift */, 669941A02CC976B000DC99A1 /* LinkAndSyncManager.swift */, C150D6442D70AD9400DA119B /* LinkingProvisioningMessage.swift */, F9C5CA1A289453B100548EEE /* OWSDevice.swift */, @@ -14464,7 +14376,6 @@ F9C5CAF8289453B200548EEE /* Util */ = { isa = PBXGroup; children = ( - 720547F12B9C8F5E00E2CF2F /* Avatars */, 661BFE082C07FB640065435B /* ImageMetadata */, C1A0F7A52BA0A11E0009DC0D /* StreamTransform */, 6675F64C2925C012007A311E /* APNSRotationStore.swift */, @@ -14481,7 +14392,6 @@ E7D7C93E28B580AC003F043B /* Bundle+OWS.swift */, 88D7BA9D266809F50088D1C2 /* CallMessageRelay.swift */, 76387BEF28F4ED73002C7BA5 /* CaseIterable.swift */, - 661396AC28BE74DC00E0C4DF /* ChainedPromise.swift */, F9C5CB2A289453B200548EEE /* Collection+OWS.swift */, 0512145A2C5BCECF0021EEC9 /* CollectionDifference+SSK.swift */, 34A955AB271B521500B05242 /* CommonStrings.swift */, @@ -14506,8 +14416,6 @@ F9C5CB0B289453B200548EEE /* Error+ErrorLocalizedDescription.swift */, F9C5CB73289453B200548EEE /* Error+IsRetryable.swift */, F9C5CB51289453B200548EEE /* Error+SSK.swift */, - 505F76322BC45C0700B1B51C /* FeatureFlags+Generated.swift */, - F9C5CB59289453B200548EEE /* FeatureFlags.swift */, F97121E92903244700C0F5F2 /* FiatMoney.swift */, 4C090A1A210FD9C7001FD7F9 /* HapticFeedback.swift */, F9C5CB0D289453B200548EEE /* ImageQuality.swift */, @@ -14545,18 +14453,15 @@ 501D64FA28C027BA008D5993 /* OWSPaymentsLock.swift */, 66A830432CEBFC6800A7656D /* OWSProgress.swift */, 66062E702E43F83200D5F8C1 /* OWSSequentialProgress.swift */, - F9C5CAFE289453B200548EEE /* OWSUserProfile.swift */, F9C5CAFB289453B200548EEE /* ParamParser.swift */, F9C5CB4E289453B200548EEE /* PendingTasks.swift */, F9CAC7822919B35E00EEC1DE /* PhoneNumberRegions.swift */, F9C5CB58289453B200548EEE /* Platform.swift */, 768F720C2A22CEAC002C4E7D /* Preferences.swift */, - D95C39EB296E1BC600A9DA23 /* PrefixedLogger.swift */, 4CB93DC12180FF07004B9764 /* ProximityMonitoringManager.swift */, F9C5CB42289453B200548EEE /* ReadyFlag.swift */, F9C5CB46289453B200548EEE /* Refinery.swift */, 3406D31D25DBF70400885B14 /* RefreshEvent.swift */, - F9C5CB45289453B200548EEE /* RemoteConfigManager.swift */, 502C69732B06F0A400012867 /* Result.swift */, F9C5CB26289453B200548EEE /* ReverseDispatchQueue.swift */, 34641E172088D7E900E2EDE5 /* ScreenLock.swift */, @@ -14564,17 +14469,19 @@ F9C5CB7B289453B200548EEE /* Sequence+OWS.swift */, 1700E34028BD41140073D949 /* SetAlgebra+SSK.swift */, 502346762DB039320029DB97 /* SetDeque.swift */, + 7634F08C2A21963600BB93D5 /* Sounds.swift */, F9613CDB2981F11400894B55 /* SqliteUtil.swift */, F9C5CB47289453B200548EEE /* SSKPreferences.swift */, F9C5CB12289453B200548EEE /* StorageService.swift */, 72DB95AD2C8C7C7B00FD2266 /* String+OWS.swift */, F9C5CB09289453B200548EEE /* String+SSK.swift */, + 668A010A2C2B602F007B8808 /* StringSanitizer.swift */, + 668A01432C2B6117007B8808 /* StringSanitizerTests.swift */, F9C5CB5D289453B200548EEE /* SwiftSingletons.swift */, F9C5CB32289453B200548EEE /* SyncManagerProtocol.swift */, 663B9CAD2C9DEEC00055DC7D /* TaskQueueLoader.swift */, 663B9CAF2C9DF5410055DC7D /* TaskQueueLoaderTest.swift */, 66FC638129E2172400F00DAC /* ThemedColor.swift */, - F9C5CB10289453B200548EEE /* ThreadBacked.swift */, 348C686C246B0B100039705A /* ThreadUtil.swift */, 7203F5342D53B83000639949 /* TimeInterval+SSK.swift */, D91A39E22AD9D1A000F57A61 /* TSYapDatabaseObject+SQLiteRowId.swift */, @@ -14587,7 +14494,6 @@ 3402A9E0271D96570084CBAE /* UIView+OWS.swift */, 6600F34B298C81CD00B1EDB7 /* UnknownEnumCodable.swift */, F9D5BFCE2979AFF4001737E5 /* URLPathComponents.swift */, - F9C5CB54289453B200548EEE /* UserProfileFinder.swift */, D94441302D559567005B2A54 /* UUIDv7.swift */, F9C5CB03289453B200548EEE /* ViewOnceMessages.swift */, F9C5CB7F289453B200548EEE /* Weak.swift */, @@ -14634,7 +14540,10 @@ D97411BA28D277C900BB1865 /* GroupManager+GenericGroupUpdates.swift */, F9A042C7289C7500007D08B6 /* GroupManager+GroupUpdateInfoMessages.swift */, F9C5CBA9289453B200548EEE /* GroupManager.swift */, + 506695E929C52F2F00B6D8D0 /* GroupMemberMergeObserver.swift */, F9C5CBA4289453B200548EEE /* GroupMembership.swift */, + 506695EB29C5305800B6D8D0 /* GroupMemberStore.swift */, + 506695EE29C533A400B6D8D0 /* GroupMemberUpdater.swift */, 50F54C2E2CE3FF9E005765EA /* GroupSendEndorsementRecord.swift */, 50C4AEFB2CE6766B005609F6 /* GroupSendEndorsements.swift */, 50F54C2C2CE3FF7C005765EA /* GroupSendEndorsementStore.swift */, @@ -14655,6 +14564,7 @@ 340B870D23DF3E3A00BE0AFC /* GroupV2UpdatesImpl.swift */, F9C5CBAC289453B200548EEE /* NewGroupSeed.swift */, 340B06C623C8DA2600929588 /* StorageService+GroupsV2.swift */, + F9C5C9FD289453B100548EEE /* TSGroupMember.swift */, D99A0F5729F1ABBB002E02E3 /* TSGroupMemberRole.swift */, F9C5CBA6289453B200548EEE /* TSGroupModel.h */, F9C5CBA8289453B200548EEE /* TSGroupModel.m */, diff --git a/SignalServiceKit/Util/Avatars/AvatarBuilder.swift b/SignalServiceKit/Avatars/AvatarBuilder.swift similarity index 100% rename from SignalServiceKit/Util/Avatars/AvatarBuilder.swift rename to SignalServiceKit/Avatars/AvatarBuilder.swift diff --git a/SignalServiceKit/Util/Avatars/AvatarDefaultColorManager.swift b/SignalServiceKit/Avatars/AvatarDefaultColorManager.swift similarity index 100% rename from SignalServiceKit/Util/Avatars/AvatarDefaultColorManager.swift rename to SignalServiceKit/Avatars/AvatarDefaultColorManager.swift diff --git a/SignalServiceKit/Util/Avatars/AvatarModel.swift b/SignalServiceKit/Avatars/AvatarModel.swift similarity index 100% rename from SignalServiceKit/Util/Avatars/AvatarModel.swift rename to SignalServiceKit/Avatars/AvatarModel.swift diff --git a/SignalServiceKit/Util/Avatars/LocalUserDisplayMode.swift b/SignalServiceKit/Avatars/LocalUserDisplayMode.swift similarity index 100% rename from SignalServiceKit/Util/Avatars/LocalUserDisplayMode.swift rename to SignalServiceKit/Avatars/LocalUserDisplayMode.swift diff --git a/SignalServiceKit/Environment/NoopCallMessageHandler.swift b/SignalServiceKit/Calls/NoopCallMessageHandler.swift similarity index 100% rename from SignalServiceKit/Environment/NoopCallMessageHandler.swift rename to SignalServiceKit/Calls/NoopCallMessageHandler.swift diff --git a/SignalServiceKit/Locking/TSMutex.swift b/SignalServiceKit/Concurrency/TSMutex.swift similarity index 100% rename from SignalServiceKit/Locking/TSMutex.swift rename to SignalServiceKit/Concurrency/TSMutex.swift diff --git a/SignalServiceKit/Util/ThreadBacked.swift b/SignalServiceKit/Concurrency/ThreadBacked.swift similarity index 100% rename from SignalServiceKit/Util/ThreadBacked.swift rename to SignalServiceKit/Concurrency/ThreadBacked.swift diff --git a/SignalServiceKit/Threading/Threading.h b/SignalServiceKit/Concurrency/Threading.h similarity index 100% rename from SignalServiceKit/Threading/Threading.h rename to SignalServiceKit/Concurrency/Threading.h diff --git a/SignalServiceKit/Threading/Threading.m b/SignalServiceKit/Concurrency/Threading.m similarity index 100% rename from SignalServiceKit/Threading/Threading.m rename to SignalServiceKit/Concurrency/Threading.m diff --git a/SignalServiceKit/Threading/Threading.swift b/SignalServiceKit/Concurrency/Threading.swift similarity index 100% rename from SignalServiceKit/Threading/Threading.swift rename to SignalServiceKit/Concurrency/Threading.swift diff --git a/SignalServiceKit/Protocols/ContactManager.swift b/SignalServiceKit/Contacts/ContactManager.swift similarity index 100% rename from SignalServiceKit/Protocols/ContactManager.swift rename to SignalServiceKit/Contacts/ContactManager.swift diff --git a/SignalServiceKit/Protocols/ContactsManagerProtocol.swift b/SignalServiceKit/Contacts/ContactsManagerProtocol.swift similarity index 100% rename from SignalServiceKit/Protocols/ContactsManagerProtocol.swift rename to SignalServiceKit/Contacts/ContactsManagerProtocol.swift diff --git a/SignalServiceKit/Curve25519/ECKeyPair.swift b/SignalServiceKit/Cryptography/ECKeyPair.swift similarity index 100% rename from SignalServiceKit/Curve25519/ECKeyPair.swift rename to SignalServiceKit/Cryptography/ECKeyPair.swift diff --git a/SignalServiceKit/Curve25519/PublicKey.swift b/SignalServiceKit/Cryptography/PublicKey.swift similarity index 100% rename from SignalServiceKit/Curve25519/PublicKey.swift rename to SignalServiceKit/Cryptography/PublicKey.swift diff --git a/SignalServiceKit/Randomness/Randomness.swift b/SignalServiceKit/Cryptography/Randomness.swift similarity index 100% rename from SignalServiceKit/Randomness/Randomness.swift rename to SignalServiceKit/Cryptography/Randomness.swift diff --git a/SignalServiceKit/Randomness/RandomnessTest.swift b/SignalServiceKit/Cryptography/RandomnessTest.swift similarity index 100% rename from SignalServiceKit/Randomness/RandomnessTest.swift rename to SignalServiceKit/Cryptography/RandomnessTest.swift diff --git a/SignalServiceKit/DateProvider/DateProvider.swift b/SignalServiceKit/Dates/DateProvider.swift similarity index 100% rename from SignalServiceKit/DateProvider/DateProvider.swift rename to SignalServiceKit/Dates/DateProvider.swift diff --git a/SignalServiceKit/DateProvider/MonotonicDate.swift b/SignalServiceKit/Dates/MonotonicDate.swift similarity index 100% rename from SignalServiceKit/DateProvider/MonotonicDate.swift rename to SignalServiceKit/Dates/MonotonicDate.swift diff --git a/SignalServiceKit/DebugLogs/DebugLogger.swift b/SignalServiceKit/Debugging/DebugLogger.swift similarity index 100% rename from SignalServiceKit/DebugLogs/DebugLogger.swift rename to SignalServiceKit/Debugging/DebugLogger.swift diff --git a/SignalServiceKit/DebuggerUtils/DebuggerUtils.h b/SignalServiceKit/Debugging/DebuggerUtils.h similarity index 100% rename from SignalServiceKit/DebuggerUtils/DebuggerUtils.h rename to SignalServiceKit/Debugging/DebuggerUtils.h diff --git a/SignalServiceKit/DebuggerUtils/DebuggerUtils.m b/SignalServiceKit/Debugging/DebuggerUtils.m similarity index 100% rename from SignalServiceKit/DebuggerUtils/DebuggerUtils.m rename to SignalServiceKit/Debugging/DebuggerUtils.m diff --git a/SignalServiceKit/DebugLogs/LogFormatter.swift b/SignalServiceKit/Debugging/LogFormatter.swift similarity index 100% rename from SignalServiceKit/DebugLogs/LogFormatter.swift rename to SignalServiceKit/Debugging/LogFormatter.swift diff --git a/SignalServiceKit/Logging/Logger.swift b/SignalServiceKit/Debugging/Logger.swift similarity index 100% rename from SignalServiceKit/Logging/Logger.swift rename to SignalServiceKit/Debugging/Logger.swift diff --git a/SignalServiceKit/OWSAsserts/OWSAsserts.h b/SignalServiceKit/Debugging/OWSAsserts.h similarity index 100% rename from SignalServiceKit/OWSAsserts/OWSAsserts.h rename to SignalServiceKit/Debugging/OWSAsserts.h diff --git a/SignalServiceKit/OWSAsserts/OWSAsserts.m b/SignalServiceKit/Debugging/OWSAsserts.m similarity index 100% rename from SignalServiceKit/OWSAsserts/OWSAsserts.m rename to SignalServiceKit/Debugging/OWSAsserts.m diff --git a/SignalServiceKit/Logging/OWSLogs.h b/SignalServiceKit/Debugging/OWSLogs.h similarity index 100% rename from SignalServiceKit/Logging/OWSLogs.h rename to SignalServiceKit/Debugging/OWSLogs.h diff --git a/SignalServiceKit/Logging/OWSLogs.m b/SignalServiceKit/Debugging/OWSLogs.m similarity index 100% rename from SignalServiceKit/Logging/OWSLogs.m rename to SignalServiceKit/Debugging/OWSLogs.m diff --git a/SignalServiceKit/OWSAsserts/OWSSwiftUtils.swift b/SignalServiceKit/Debugging/OWSSwiftUtils.swift similarity index 100% rename from SignalServiceKit/OWSAsserts/OWSSwiftUtils.swift rename to SignalServiceKit/Debugging/OWSSwiftUtils.swift diff --git a/SignalServiceKit/Util/PrefixedLogger.swift b/SignalServiceKit/Debugging/PrefixedLogger.swift similarity index 100% rename from SignalServiceKit/Util/PrefixedLogger.swift rename to SignalServiceKit/Debugging/PrefixedLogger.swift diff --git a/SignalServiceKit/DebugLogs/ScrubbingLogFormatter.swift b/SignalServiceKit/Debugging/ScrubbingLogFormatter.swift similarity index 100% rename from SignalServiceKit/DebugLogs/ScrubbingLogFormatter.swift rename to SignalServiceKit/Debugging/ScrubbingLogFormatter.swift diff --git a/SignalServiceKit/InactivePrimaryDeviceStore.swift b/SignalServiceKit/Devices/InactivePrimaryDeviceStore.swift similarity index 100% rename from SignalServiceKit/InactivePrimaryDeviceStore.swift rename to SignalServiceKit/Devices/InactivePrimaryDeviceStore.swift diff --git a/SignalServiceKit/Dependencies/DependenciesBridge.swift b/SignalServiceKit/Environment/DependenciesBridge.swift similarity index 100% rename from SignalServiceKit/Dependencies/DependenciesBridge.swift rename to SignalServiceKit/Environment/DependenciesBridge.swift diff --git a/SignalServiceKit/Util/FeatureFlags+Generated.swift b/SignalServiceKit/Environment/FeatureFlags+Generated.swift similarity index 100% rename from SignalServiceKit/Util/FeatureFlags+Generated.swift rename to SignalServiceKit/Environment/FeatureFlags+Generated.swift diff --git a/SignalServiceKit/Util/FeatureFlags.swift b/SignalServiceKit/Environment/FeatureFlags.swift similarity index 100% rename from SignalServiceKit/Util/FeatureFlags.swift rename to SignalServiceKit/Environment/FeatureFlags.swift diff --git a/SignalServiceKit/Util/RemoteConfigManager.swift b/SignalServiceKit/Environment/RemoteConfigManager.swift similarity index 100% rename from SignalServiceKit/Util/RemoteConfigManager.swift rename to SignalServiceKit/Environment/RemoteConfigManager.swift diff --git a/SignalServiceKit/SSKEnvironment.swift b/SignalServiceKit/Environment/SSKEnvironment.swift similarity index 100% rename from SignalServiceKit/SSKEnvironment.swift rename to SignalServiceKit/Environment/SSKEnvironment.swift diff --git a/SignalServiceKit/TSConstants.swift b/SignalServiceKit/Environment/TSConstants.swift similarity index 100% rename from SignalServiceKit/TSConstants.swift rename to SignalServiceKit/Environment/TSConstants.swift diff --git a/SignalServiceKit/GroupMembers/GroupMemberMergeObserver.swift b/SignalServiceKit/Groups/GroupMemberMergeObserver.swift similarity index 100% rename from SignalServiceKit/GroupMembers/GroupMemberMergeObserver.swift rename to SignalServiceKit/Groups/GroupMemberMergeObserver.swift diff --git a/SignalServiceKit/GroupMembers/GroupMemberStore.swift b/SignalServiceKit/Groups/GroupMemberStore.swift similarity index 100% rename from SignalServiceKit/GroupMembers/GroupMemberStore.swift rename to SignalServiceKit/Groups/GroupMemberStore.swift diff --git a/SignalServiceKit/GroupMembers/GroupMemberUpdater.swift b/SignalServiceKit/Groups/GroupMemberUpdater.swift similarity index 100% rename from SignalServiceKit/GroupMembers/GroupMemberUpdater.swift rename to SignalServiceKit/Groups/GroupMemberUpdater.swift diff --git a/SignalServiceKit/GroupMembers/TSGroupMember.swift b/SignalServiceKit/Groups/TSGroupMember.swift similarity index 100% rename from SignalServiceKit/GroupMembers/TSGroupMember.swift rename to SignalServiceKit/Groups/TSGroupMember.swift diff --git a/SignalServiceKit/Environment/MessageRequestPendingReceipts.swift b/SignalServiceKit/Messages/MessageRequestPendingReceipts.swift similarity index 100% rename from SignalServiceKit/Environment/MessageRequestPendingReceipts.swift rename to SignalServiceKit/Messages/MessageRequestPendingReceipts.swift diff --git a/SignalServiceKit/Util/OWSUserProfile.swift b/SignalServiceKit/Profiles/OWSUserProfile.swift similarity index 100% rename from SignalServiceKit/Util/OWSUserProfile.swift rename to SignalServiceKit/Profiles/OWSUserProfile.swift diff --git a/SignalServiceKit/Protocols/ProfileManager.swift b/SignalServiceKit/Profiles/ProfileManager.swift similarity index 100% rename from SignalServiceKit/Protocols/ProfileManager.swift rename to SignalServiceKit/Profiles/ProfileManager.swift diff --git a/SignalServiceKit/Protocols/ProfileManagerProtocol.swift b/SignalServiceKit/Profiles/ProfileManagerProtocol.swift similarity index 100% rename from SignalServiceKit/Protocols/ProfileManagerProtocol.swift rename to SignalServiceKit/Profiles/ProfileManagerProtocol.swift diff --git a/SignalServiceKit/Util/UserProfileFinder.swift b/SignalServiceKit/Profiles/UserProfileFinder.swift similarity index 100% rename from SignalServiceKit/Util/UserProfileFinder.swift rename to SignalServiceKit/Profiles/UserProfileFinder.swift diff --git a/SignalServiceKit/Protocols/UserProfileWriter.swift b/SignalServiceKit/Profiles/UserProfileWriter.swift similarity index 100% rename from SignalServiceKit/Protocols/UserProfileWriter.swift rename to SignalServiceKit/Profiles/UserProfileWriter.swift diff --git a/SignalServiceKit/Util/ChainedPromise.swift b/SignalServiceKit/PromiseKit/ChainedPromise.swift similarity index 100% rename from SignalServiceKit/Util/ChainedPromise.swift rename to SignalServiceKit/PromiseKit/ChainedPromise.swift diff --git a/SignalServiceKit/Protocols/ProtoUtils.swift b/SignalServiceKit/Protos/ProtoUtils.swift similarity index 100% rename from SignalServiceKit/Protocols/ProtoUtils.swift rename to SignalServiceKit/Protos/ProtoUtils.swift diff --git a/SignalServiceKit/Contacts/Threads/LastVisibleInteractionStore.swift b/SignalServiceKit/Threads/LastVisibleInteractionStore.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/LastVisibleInteractionStore.swift rename to SignalServiceKit/Threads/LastVisibleInteractionStore.swift diff --git a/SignalServiceKit/Contacts/Threads/StoryThreads/PrivateStoryThreadDeletionManager.swift b/SignalServiceKit/Threads/PrivateStoryThreadDeletionManager.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/StoryThreads/PrivateStoryThreadDeletionManager.swift rename to SignalServiceKit/Threads/PrivateStoryThreadDeletionManager.swift diff --git a/SignalServiceKit/Contacts/Threads/TSContactThread+SDS.swift b/SignalServiceKit/Threads/TSContactThread+SDS.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSContactThread+SDS.swift rename to SignalServiceKit/Threads/TSContactThread+SDS.swift diff --git a/SignalServiceKit/Contacts/Threads/TSContactThread.h b/SignalServiceKit/Threads/TSContactThread.h similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSContactThread.h rename to SignalServiceKit/Threads/TSContactThread.h diff --git a/SignalServiceKit/Contacts/Threads/TSContactThread.m b/SignalServiceKit/Threads/TSContactThread.m similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSContactThread.m rename to SignalServiceKit/Threads/TSContactThread.m diff --git a/SignalServiceKit/Contacts/Threads/TSContactThread.swift b/SignalServiceKit/Threads/TSContactThread.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSContactThread.swift rename to SignalServiceKit/Threads/TSContactThread.swift diff --git a/SignalServiceKit/Contacts/Threads/TSGroupThread+OWS.swift b/SignalServiceKit/Threads/TSGroupThread+OWS.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSGroupThread+OWS.swift rename to SignalServiceKit/Threads/TSGroupThread+OWS.swift diff --git a/SignalServiceKit/Contacts/Threads/TSGroupThread+SDS.swift b/SignalServiceKit/Threads/TSGroupThread+SDS.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSGroupThread+SDS.swift rename to SignalServiceKit/Threads/TSGroupThread+SDS.swift diff --git a/SignalServiceKit/Contacts/Threads/TSGroupThread.h b/SignalServiceKit/Threads/TSGroupThread.h similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSGroupThread.h rename to SignalServiceKit/Threads/TSGroupThread.h diff --git a/SignalServiceKit/Contacts/Threads/TSGroupThread.m b/SignalServiceKit/Threads/TSGroupThread.m similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSGroupThread.m rename to SignalServiceKit/Threads/TSGroupThread.m diff --git a/SignalServiceKit/Contacts/Threads/TSGroupThread.swift b/SignalServiceKit/Threads/TSGroupThread.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSGroupThread.swift rename to SignalServiceKit/Threads/TSGroupThread.swift diff --git a/SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread+SDS.swift b/SignalServiceKit/Threads/TSPrivateStoryThread+SDS.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread+SDS.swift rename to SignalServiceKit/Threads/TSPrivateStoryThread+SDS.swift diff --git a/SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread.h b/SignalServiceKit/Threads/TSPrivateStoryThread.h similarity index 100% rename from SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread.h rename to SignalServiceKit/Threads/TSPrivateStoryThread.h diff --git a/SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread.m b/SignalServiceKit/Threads/TSPrivateStoryThread.m similarity index 100% rename from SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread.m rename to SignalServiceKit/Threads/TSPrivateStoryThread.m diff --git a/SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread.swift b/SignalServiceKit/Threads/TSPrivateStoryThread.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/StoryThreads/TSPrivateStoryThread.swift rename to SignalServiceKit/Threads/TSPrivateStoryThread.swift diff --git a/SignalServiceKit/Contacts/Threads/TSThread+OWS.swift b/SignalServiceKit/Threads/TSThread+OWS.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/TSThread+OWS.swift rename to SignalServiceKit/Threads/TSThread+OWS.swift diff --git a/SignalServiceKit/Contacts/Threads/ThreadRemover.swift b/SignalServiceKit/Threads/ThreadRemover.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/ThreadRemover.swift rename to SignalServiceKit/Threads/ThreadRemover.swift diff --git a/SignalServiceKit/Contacts/Threads/ThreadSoftDeleteManager.swift b/SignalServiceKit/Threads/ThreadSoftDeleteManager.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/ThreadSoftDeleteManager.swift rename to SignalServiceKit/Threads/ThreadSoftDeleteManager.swift diff --git a/SignalServiceKit/Contacts/Threads/ThreadStore.swift b/SignalServiceKit/Threads/ThreadStore.swift similarity index 100% rename from SignalServiceKit/Contacts/Threads/ThreadStore.swift rename to SignalServiceKit/Threads/ThreadStore.swift diff --git a/SignalServiceKit/Environment/Sounds.swift b/SignalServiceKit/Util/Sounds.swift similarity index 100% rename from SignalServiceKit/Environment/Sounds.swift rename to SignalServiceKit/Util/Sounds.swift diff --git a/SignalServiceKit/Logging/StringSanitizer.swift b/SignalServiceKit/Util/StringSanitizer.swift similarity index 100% rename from SignalServiceKit/Logging/StringSanitizer.swift rename to SignalServiceKit/Util/StringSanitizer.swift diff --git a/SignalServiceKit/Logging/StringSanitizerTests.swift b/SignalServiceKit/Util/StringSanitizerTests.swift similarity index 100% rename from SignalServiceKit/Logging/StringSanitizerTests.swift rename to SignalServiceKit/Util/StringSanitizerTests.swift diff --git a/SignalServiceKit/ZkParams/AuthCredentialManager.swift b/SignalServiceKit/ZeroKnowledge/AuthCredentialManager.swift similarity index 100% rename from SignalServiceKit/ZkParams/AuthCredentialManager.swift rename to SignalServiceKit/ZeroKnowledge/AuthCredentialManager.swift diff --git a/SignalServiceKit/ZkParams/AuthCredentialStore.swift b/SignalServiceKit/ZeroKnowledge/AuthCredentialStore.swift similarity index 100% rename from SignalServiceKit/ZkParams/AuthCredentialStore.swift rename to SignalServiceKit/ZeroKnowledge/AuthCredentialStore.swift diff --git a/SignalServiceKit/ZkParams/BackupAuthCredentialManager.swift b/SignalServiceKit/ZeroKnowledge/BackupAuthCredentialManager.swift similarity index 100% rename from SignalServiceKit/ZkParams/BackupAuthCredentialManager.swift rename to SignalServiceKit/ZeroKnowledge/BackupAuthCredentialManager.swift diff --git a/SignalServiceKit/ZkParams/CallLinkAuthCredential.swift b/SignalServiceKit/ZeroKnowledge/CallLinkAuthCredential.swift similarity index 100% rename from SignalServiceKit/ZkParams/CallLinkAuthCredential.swift rename to SignalServiceKit/ZeroKnowledge/CallLinkAuthCredential.swift diff --git a/SignalServiceKit/ZkParams/ZkParamsMigrator.swift b/SignalServiceKit/ZeroKnowledge/ZkParamsMigrator.swift similarity index 100% rename from SignalServiceKit/ZkParams/ZkParamsMigrator.swift rename to SignalServiceKit/ZeroKnowledge/ZkParamsMigrator.swift