Made a couple of tweaks to make the build process easier

• Added a script to extract the app group during the build and load it in at runtime (fallback to the current one)
• Updated the 'App Store Release' scheme to 'App_Store_Release' to fix build issues on some machines
• Fixed some broken unit tests
pull/976/head
Morgan Pretty 1 year ago
parent a91024f0bb
commit 999ddfe50e

@ -616,7 +616,6 @@
FD39352C28F382920084DADA /* VersionFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39352B28F382920084DADA /* VersionFooterView.swift */; };
FD39353628F7C3390084DADA /* _004_FlagMessageHashAsDeletedOrInvalid.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD39353528F7C3390084DADA /* _004_FlagMessageHashAsDeletedOrInvalid.swift */; };
FD3AABE928306BBD00E5099A /* ThreadPickerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3AABE828306BBD00E5099A /* ThreadPickerViewModel.swift */; };
FD3C906027E410F700CD579F /* FileUploadResponseSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C905F27E410F700CD579F /* FileUploadResponseSpec.swift */; };
FD3C906727E416AF00CD579F /* BlindedIdLookupSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C906627E416AF00CD579F /* BlindedIdLookupSpec.swift */; };
FD3C906A27E417CE00CD579F /* CryptoSMKSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C906927E417CE00CD579F /* CryptoSMKSpec.swift */; };
FD3C906D27E43C4B00CD579F /* MessageSenderEncryptionSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C906C27E43C4B00CD579F /* MessageSenderEncryptionSpec.swift */; };
@ -656,6 +655,7 @@
FD5D201E27B0D87C00FEA984 /* SessionId.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD5D201D27B0D87C00FEA984 /* SessionId.swift */; };
FD5E93D12C100FD70038C25A /* FileUploadResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDC4387127B5BB3B00C60D73 /* FileUploadResponse.swift */; };
FD5E93D22C12B0580038C25A /* AppVersionResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDC4383727B3863200C60D73 /* AppVersionResponse.swift */; };
FD5E93D82C12E3B50038C25A /* FileUploadResponseSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD3C905F27E410F700CD579F /* FileUploadResponseSpec.swift */; };
FD6A7A692818BE7300035AC1 /* RetrieveDefaultOpenGroupRoomsJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD6A7A682818BE7300035AC1 /* RetrieveDefaultOpenGroupRoomsJob.swift */; };
FD6A7A6B2818C17C00035AC1 /* UpdateProfilePictureJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD6A7A6A2818C17C00035AC1 /* UpdateProfilePictureJob.swift */; };
FD6A7A6D2818C61500035AC1 /* _002_SetupStandardJobs.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD6A7A6C2818C61500035AC1 /* _002_SetupStandardJobs.swift */; };
@ -1168,6 +1168,8 @@
1A1B41F02CA33C49545142BD /* Pods_GlobalDependencies_FrameworkAndExtensionDependencies_ExtendedDependencies_SignalUtilitiesKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_FrameworkAndExtensionDependencies_ExtendedDependencies_SignalUtilitiesKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
211662AAE34A0F973DEC5EDC /* Pods-GlobalDependencies-Session-SessionTests.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-Session-SessionTests.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-Session-SessionTests/Pods-GlobalDependencies-Session-SessionTests.app store release.xcconfig"; sourceTree = "<group>"; };
2A4521C4414FE84DBA218508 /* Pods_GlobalDependencies_FrameworkAndExtensionDependencies_ExtendedDependencies_SessionMessagingKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_FrameworkAndExtensionDependencies_ExtendedDependencies_SessionMessagingKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2C34CD8CF6650014C43CBCD0 /* Pods-GlobalDependencies-Session-SessionTests.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-Session-SessionTests.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-Session-SessionTests/Pods-GlobalDependencies-Session-SessionTests.app_store_release.xcconfig"; sourceTree = "<group>"; };
2C69FF11750145A1291FABAC /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app_store_release.xcconfig"; sourceTree = "<group>"; };
2C7F51364E96976B7F72AE53 /* Pods-GlobalDependencies-Session.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-Session.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-Session/Pods-GlobalDependencies-Session.debug.xcconfig"; sourceTree = "<group>"; };
2DFE710CD83D7D070E0E6501 /* Pods_GlobalDependencies_SessionUIKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_SessionUIKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3037A90A8F9D5D0437C69F58 /* Pods_GlobalDependencies_FrameworkAndExtensionDependencies_ExtendedDependencies_SessionMessagingKit_SessionMessagingKitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_FrameworkAndExtensionDependencies_ExtendedDependencies_SessionMessagingKit_SessionMessagingKitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -1257,6 +1259,7 @@
4CA485BA2232339F004B9E7D /* PhotoCaptureViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoCaptureViewController.swift; sourceTree = "<group>"; };
4CC613352227A00400E21A3A /* ConversationSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationSearch.swift; sourceTree = "<group>"; };
4CD097E432D07070F81B2E2B /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.debug.xcconfig"; sourceTree = "<group>"; };
5018159A5C856E5178360282 /* Pods-GlobalDependencies-SessionUIKit.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-SessionUIKit.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-SessionUIKit/Pods-GlobalDependencies-SessionUIKit.app_store_release.xcconfig"; sourceTree = "<group>"; };
5344F9B73CE74194FBA5F252 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.debug.xcconfig"; sourceTree = "<group>"; };
58DCBD4304A944B25C6622BD /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app store release.xcconfig"; sourceTree = "<group>"; };
6901E0B01D2B1BD4D2C5A602 /* Pods-GlobalDependencies-Session-SessionTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-Session-SessionTests.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-Session-SessionTests/Pods-GlobalDependencies-Session-SessionTests.debug.xcconfig"; sourceTree = "<group>"; };
@ -1354,6 +1357,7 @@
7BFD1A962747689000FB91B9 /* Session-Turn-Server */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "Session-Turn-Server"; sourceTree = "<group>"; };
7C0E07EB26851D7BB4CF060E /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app store release.xcconfig"; sourceTree = "<group>"; };
7FE80FEC012334C282A6C8CB /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.debug.xcconfig"; sourceTree = "<group>"; };
81B86106CE32C944E6A3A8F2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.app_store_release.xcconfig"; sourceTree = "<group>"; };
89EE44A6174C653D2F4DB573 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.debug.xcconfig"; sourceTree = "<group>"; };
91271A534D1D4AB949B1319E /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app store release.xcconfig"; sourceTree = "<group>"; };
9422EE2A2B8C3A97004C740D /* String+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Utilities.swift"; sourceTree = "<group>"; };
@ -1368,6 +1372,7 @@
A1C32D4F17A06537000A904E /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; };
A1FDCBEE16DAA6C300868894 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
A3B514075354627A4C1475BE /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app store release.xcconfig"; sourceTree = "<group>"; };
A43483C22EAFEB809D0E1F7D /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app_store_release.xcconfig"; sourceTree = "<group>"; };
ACA54A5EFD9804A5189C1671 /* Pods-GlobalDependencies-SessionUIKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-SessionUIKit.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-SessionUIKit/Pods-GlobalDependencies-SessionUIKit.debug.xcconfig"; sourceTree = "<group>"; };
B407A2618CCC4B6EAAFEF787 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app store release.xcconfig"; sourceTree = "<group>"; };
B60EDE031A05A01700D73516 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
@ -1457,6 +1462,7 @@
B8FF8EA525C11FEF004D1F22 /* IPv4.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IPv4.swift; sourceTree = "<group>"; };
B9EB5ABC1884C002007CBB57 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
BC81172C437DC7DEF6735D0C /* Pods_GlobalDependencies_FrameworkAndExtensionDependencies_SessionSnodeKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_FrameworkAndExtensionDependencies_SessionSnodeKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C240A81D610542B95C65825E /* Pods-GlobalDependencies-Session.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-Session.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-Session/Pods-GlobalDependencies-Session.app_store_release.xcconfig"; sourceTree = "<group>"; };
C300A5B12554AF9800555489 /* VisibleMessage+Profile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VisibleMessage+Profile.swift"; sourceTree = "<group>"; };
C300A5BC2554B00D00555489 /* ReadReceipt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadReceipt.swift; sourceTree = "<group>"; };
C300A5D22554B05A00555489 /* TypingIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypingIndicator.swift; sourceTree = "<group>"; };
@ -1648,6 +1654,8 @@
C3F0A52F255C80BC007BE2A3 /* NoopNotificationsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoopNotificationsManager.swift; sourceTree = "<group>"; };
C518EEFFBCCBA32247AFC7B5 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.debug.xcconfig"; sourceTree = "<group>"; };
CC50AF6429F6F303CD7DFF36 /* Pods_GlobalDependencies_Session.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_Session.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CE4846460EE575F49C243410 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app_store_release.xcconfig"; sourceTree = "<group>"; };
CE986073A303941F7F8DEC33 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.app_store_release.xcconfig"; sourceTree = "<group>"; };
D2179CFB16BB0B3A0006F3AB /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
D2179CFD16BB0B480006F3AB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
D221A089169C9E5E00537ABF /* Session.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Session.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -1659,11 +1667,15 @@
D24B5BD4169F568C00681372 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = ../../../../../../System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<group>"; };
D2AEACDB16C426DA00C364C0 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
D37267AA5247AD82E51C039B /* Pods_GlobalDependencies_FrameworkAndExtensionDependencies_SessionNotificationServiceExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalDependencies_FrameworkAndExtensionDependencies_SessionNotificationServiceExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D3989B0E4EC94E02A6B50181 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app_store_release.xcconfig"; sourceTree = "<group>"; };
D8922A2ADEB6B6F356E39EE2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app store release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app store release.xcconfig"; sourceTree = "<group>"; };
E1A0AD8B16E13FDD0071E604 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
E425EEF5E2E33DE0D4531C1A /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app_store_release.xcconfig"; sourceTree = "<group>"; };
EC74C5C7FDD4A09608F38AD3 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.debug.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.debug.xcconfig"; sourceTree = "<group>"; };
EF09F5726A35DF7E399FCBA2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit.app_store_release.xcconfig"; sourceTree = "<group>"; };
FC3BD9871A30A790005B96BB /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
FCB11D8B1A129A76002F93FB /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
FCC8A2FE7EA9FAD72FA30DA4 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app_store_release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app_store_release.xcconfig"; path = "Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app_store_release.xcconfig"; sourceTree = "<group>"; };
FD0606BE2BC8C10200C3816E /* _005_AddJobUniqueHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = _005_AddJobUniqueHash.swift; sourceTree = "<group>"; };
FD0606C22BCE13ED00C3816E /* MessageRequestFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageRequestFooterView.swift; sourceTree = "<group>"; };
FD078E4727E02561000769AF /* CommonMockedExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonMockedExtensions.swift; sourceTree = "<group>"; };
@ -2335,6 +2347,18 @@
211662AAE34A0F973DEC5EDC /* Pods-GlobalDependencies-Session-SessionTests.app store release.xcconfig */,
ACA54A5EFD9804A5189C1671 /* Pods-GlobalDependencies-SessionUIKit.debug.xcconfig */,
0AF88DCF5921F5C4B0374096 /* Pods-GlobalDependencies-SessionUIKit.app store release.xcconfig */,
EF09F5726A35DF7E399FCBA2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit.app_store_release.xcconfig */,
D3989B0E4EC94E02A6B50181 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app_store_release.xcconfig */,
81B86106CE32C944E6A3A8F2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.app_store_release.xcconfig */,
CE4846460EE575F49C243410 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app_store_release.xcconfig */,
2C69FF11750145A1291FABAC /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app_store_release.xcconfig */,
CE986073A303941F7F8DEC33 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.app_store_release.xcconfig */,
E425EEF5E2E33DE0D4531C1A /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app_store_release.xcconfig */,
A43483C22EAFEB809D0E1F7D /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app_store_release.xcconfig */,
FCC8A2FE7EA9FAD72FA30DA4 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app_store_release.xcconfig */,
C240A81D610542B95C65825E /* Pods-GlobalDependencies-Session.app_store_release.xcconfig */,
2C34CD8CF6650014C43CBCD0 /* Pods-GlobalDependencies-Session-SessionTests.app_store_release.xcconfig */,
5018159A5C856E5178360282 /* Pods-GlobalDependencies-SessionUIKit.app_store_release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@ -3912,22 +3936,6 @@
path = Models;
sourceTree = "<group>";
};
FD3C905D27E410DB00CD579F /* Common Networking */ = {
isa = PBXGroup;
children = (
FD3C905E27E410EE00CD579F /* Models */,
);
path = "Common Networking";
sourceTree = "<group>";
};
FD3C905E27E410EE00CD579F /* Models */ = {
isa = PBXGroup;
children = (
FD3C905F27E410F700CD579F /* FileUploadResponseSpec.swift */,
);
path = Models;
sourceTree = "<group>";
};
FD3C906527E416A200CD579F /* Contacts */ = {
isa = PBXGroup;
children = (
@ -4107,6 +4115,7 @@
FD7C37BC2BBB8BB1009DEEA7 /* Models */ = {
isa = PBXGroup;
children = (
FD3C905F27E410F700CD579F /* FileUploadResponseSpec.swift */,
FD7C37BD2BBB8BBC009DEEA7 /* SnodeRequestSpec.swift */,
);
path = Models;
@ -4354,7 +4363,6 @@
isa = PBXGroup;
children = (
FDC4389B27BA01E300C60D73 /* _TestUtilities */,
FD3C905D27E410DB00CD579F /* Common Networking */,
FD3C906527E416A200CD579F /* Contacts */,
FD96F3A229DBC3BA00401309 /* Jobs */,
FDC4389827BA001800C60D73 /* Open Groups */,
@ -4615,6 +4623,8 @@
453518641FC635DD00210559 /* Sources */,
453518651FC635DD00210559 /* Frameworks */,
453518661FC635DD00210559 /* Resources */,
FD5E93D42C12D3CB0038C25A /* Add Commit Hash To Build Info Plist */,
FD5E93D62C12D8270038C25A /* Add App Group To Build Info Plist */,
FDC498C02AC1774500EDD897 /* Ensure Localizable.strings included */,
);
buildRules = (
@ -4639,6 +4649,8 @@
7BC01A37241F40AB00BC7C55 /* Sources */,
7BC01A38241F40AB00BC7C55 /* Frameworks */,
7BC01A39241F40AB00BC7C55 /* Resources */,
FD5E93D52C12D8120038C25A /* Add Commit Hash To Build Info Plist */,
FD5E93D72C12DA400038C25A /* Add App Group To Build Info Plist */,
FDC498C12AC1775400EDD897 /* Ensure Localizable.strings included */,
);
buildRules = (
@ -4764,6 +4776,7 @@
453518771FC635DD00210559 /* Embed Foundation Extensions */,
4535189F1FC63DBF00210559 /* Embed Frameworks */,
FDD82C422A2085B900425F05 /* Add Commit Hash To Build Info Plist */,
FD5E93D32C12D3990038C25A /* Add App Group To Build Info Plist */,
FDC498BF2AC1747900EDD897 /* Ensure Localizable.strings included */,
CAF97F83924E1C48E23C4323 /* [CP] Embed Pods Frameworks */,
);
@ -5572,6 +5585,99 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests/Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
FD5E93D32C12D3990038C25A /* Add App Group To Build Info Plist */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Add App Group To Build Info Plist";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "INFO_PLIST=\"${TARGET_BUILD_DIR}\"/\"${INFOPLIST_PATH}\"\nENTITLEMENTS_FILE=\"${SRCROOT}/${CODE_SIGN_ENTITLEMENTS}\"\n\n# Query and save the value; suppress any error message, if key not found.\nvalue=$(/usr/libexec/PlistBuddy -c 'print :AppGroupsId' \"${INFO_PLIST}\" 2>/dev/null)\n\n# Check if value is empty\nif [ -z \"$value\" ] \nthen\n /usr/libexec/PlistBuddy -c \"Add :AppGroupsId string\" \"${INFO_PLIST}\"\nfi\n\napp_group_id=$(xmllint --xpath 'string(//key[.=\"com.apple.security.application-groups\"]/following-sibling::array/string)' \"$ENTITLEMENTS_FILE\")\n\n/usr/libexec/PlistBuddy -c \"Set :AppGroupsId ${app_group_id}\" \"${INFO_PLIST}\"\n";
};
FD5E93D42C12D3CB0038C25A /* Add Commit Hash To Build Info Plist */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Add Commit Hash To Build Info Plist";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "INFO_PLIST=\"${TARGET_BUILD_DIR}\"/\"${INFOPLIST_PATH}\"\n\n# Query and save the value; suppress any error message, if key not found.\nvalue=$(/usr/libexec/PlistBuddy -c 'print :GitCommitHash' \"${INFO_PLIST}\" 2>/dev/null)\n\n# Check if value is empty\nif [ -z \"$value\" ] \nthen\n /usr/libexec/PlistBuddy -c \"Add :GitCommitHash string\" \"${INFO_PLIST}\"\nfi\n\n/usr/libexec/PlistBuddy -c \"Set :GitCommitHash `git rev-parse --short=7 HEAD`\" \"${INFO_PLIST}\"\n";
showEnvVarsInLog = 0;
};
FD5E93D52C12D8120038C25A /* Add Commit Hash To Build Info Plist */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Add Commit Hash To Build Info Plist";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "INFO_PLIST=\"${TARGET_BUILD_DIR}\"/\"${INFOPLIST_PATH}\"\n\n# Query and save the value; suppress any error message, if key not found.\nvalue=$(/usr/libexec/PlistBuddy -c 'print :GitCommitHash' \"${INFO_PLIST}\" 2>/dev/null)\n\n# Check if value is empty\nif [ -z \"$value\" ] \nthen\n /usr/libexec/PlistBuddy -c \"Add :GitCommitHash string\" \"${INFO_PLIST}\"\nfi\n\n/usr/libexec/PlistBuddy -c \"Set :GitCommitHash `git rev-parse --short=7 HEAD`\" \"${INFO_PLIST}\"\n";
showEnvVarsInLog = 0;
};
FD5E93D62C12D8270038C25A /* Add App Group To Build Info Plist */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Add App Group To Build Info Plist";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "INFO_PLIST=\"${TARGET_BUILD_DIR}\"/\"${INFOPLIST_PATH}\"\nENTITLEMENTS_FILE=\"${SRCROOT}/${CODE_SIGN_ENTITLEMENTS}\"\n\n# Query and save the value; suppress any error message, if key not found.\nvalue=$(/usr/libexec/PlistBuddy -c 'print :AppGroupsId' \"${INFO_PLIST}\" 2>/dev/null)\n\n# Check if value is empty\nif [ -z \"$value\" ] \nthen\n /usr/libexec/PlistBuddy -c \"Add :AppGroupsId string\" \"${INFO_PLIST}\"\nfi\n\napp_group_id=$(xmllint --xpath 'string(//key[.=\"com.apple.security.application-groups\"]/following-sibling::array/string)' \"$ENTITLEMENTS_FILE\")\n\n/usr/libexec/PlistBuddy -c \"Set :AppGroupsId ${app_group_id}\" \"${INFO_PLIST}\"\n";
};
FD5E93D72C12DA400038C25A /* Add App Group To Build Info Plist */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Add App Group To Build Info Plist";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "INFO_PLIST=\"${TARGET_BUILD_DIR}\"/\"${INFOPLIST_PATH}\"\nENTITLEMENTS_FILE=\"${SRCROOT}/${CODE_SIGN_ENTITLEMENTS}\"\n\n# Query and save the value; suppress any error message, if key not found.\nvalue=$(/usr/libexec/PlistBuddy -c 'print :AppGroupsId' \"${INFO_PLIST}\" 2>/dev/null)\n\n# Check if value is empty\nif [ -z \"$value\" ] \nthen\n /usr/libexec/PlistBuddy -c \"Add :AppGroupsId string\" \"${INFO_PLIST}\"\nfi\n\napp_group_id=$(xmllint --xpath 'string(//key[.=\"com.apple.security.application-groups\"]/following-sibling::array/string)' \"$ENTITLEMENTS_FILE\")\n\n/usr/libexec/PlistBuddy -c \"Set :AppGroupsId ${app_group_id}\" \"${INFO_PLIST}\"\n";
showEnvVarsInLog = 0;
};
FD9BDDFF2A5D229B005F1EBC /* Build libSessionUtil if Needed */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@ -5672,7 +5778,6 @@
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "INFO_PLIST=\"${TARGET_BUILD_DIR}\"/\"${INFOPLIST_PATH}\"\n\n# Query and save the value; suppress any error message, if key not found.\nvalue=$(/usr/libexec/PlistBuddy -c 'print :GitCommitHash' \"${INFO_PLIST}\" 2>/dev/null)\n\n# Check if value is empty\nif [ -z \"$value\" ] \nthen\n /usr/libexec/PlistBuddy -c \"Add :GitCommitHash string\" \"${INFO_PLIST}\"\nfi\n\n/usr/libexec/PlistBuddy -c \"Set :GitCommitHash `git rev-parse --short=7 HEAD`\" \"${INFO_PLIST}\"\n";
showEnvVarsInLog = 0;
};
FDE7214D287E50820093DF33 /* Lint Localizable.strings */ = {
isa = PBXShellScriptBuildPhase;
@ -6501,6 +6606,7 @@
FD7C37CB2BBB8D36009DEEA7 /* MockUserDefaults.swift in Sources */,
FD7C37C12BBB8BEA009DEEA7 /* MockCrypto.swift in Sources */,
FD7C37C72BBB8C0E009DEEA7 /* TestExtensions.swift in Sources */,
FD5E93D82C12E3B50038C25A /* FileUploadResponseSpec.swift in Sources */,
FD7C37CA2BBB8C1D009DEEA7 /* SynchronousStorage.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -6552,7 +6658,6 @@
FD3C907127E445E500CD579F /* MessageReceiverDecryptionSpec.swift in Sources */,
FDC2909627D71252005DAE71 /* SOGSErrorSpec.swift in Sources */,
FDC2908727D7047F005DAE71 /* RoomSpec.swift in Sources */,
FD3C906027E410F700CD579F /* FileUploadResponseSpec.swift in Sources */,
FD83B9C727CF3F10005E1583 /* CapabilitiesSpec.swift in Sources */,
FDC2909A27D71376005DAE71 /* NonceGeneratorSpec.swift in Sources */,
FD2AAAF128ED57B500A49611 /* SynchronousStorage.swift in Sources */,
@ -6828,9 +6933,9 @@
};
name = Debug;
};
453518751FC635DD00210559 /* App Store Release */ = {
453518751FC635DD00210559 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9DE2662E4E5838CD8E1AF35F /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.app store release.xcconfig */;
baseConfigurationReference = 81B86106CE32C944E6A3A8F2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionShareExtension.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -6903,7 +7008,7 @@
TARGETED_DEVICE_FAMILY = 1;
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
7BC01A43241F40AB00BC7C55 /* Debug */ = {
isa = XCBuildConfiguration;
@ -6960,9 +7065,9 @@
};
name = Debug;
};
7BC01A44241F40AB00BC7C55 /* App Store Release */ = {
7BC01A44241F40AB00BC7C55 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 91271A534D1D4AB949B1319E /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app store release.xcconfig */;
baseConfigurationReference = E425EEF5E2E33DE0D4531C1A /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionNotificationServiceExtension.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -7037,7 +7142,7 @@
TARGETED_DEVICE_FAMILY = 1;
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
C331FF242558F9D400070591 /* Debug */ = {
isa = XCBuildConfiguration;
@ -7097,9 +7202,9 @@
};
name = Debug;
};
C331FF252558F9D400070591 /* App Store Release */ = {
C331FF252558F9D400070591 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 0AF88DCF5921F5C4B0374096 /* Pods-GlobalDependencies-SessionUIKit.app store release.xcconfig */;
baseConfigurationReference = 5018159A5C856E5178360282 /* Pods-GlobalDependencies-SessionUIKit.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
@ -7177,7 +7282,7 @@
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = "App Store Release";
name = App_Store_Release;
};
C33FD9B4255A548A00E217F9 /* Debug */ = {
isa = XCBuildConfiguration;
@ -7246,9 +7351,9 @@
};
name = Debug;
};
C33FD9B5255A548A00E217F9 /* App Store Release */ = {
C33FD9B5255A548A00E217F9 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 3E0342C15C0821DF29BDD331 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.app store release.xcconfig */;
baseConfigurationReference = CE986073A303941F7F8DEC33 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SignalUtilitiesKit.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
@ -7333,7 +7438,7 @@
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = "App Store Release";
name = App_Store_Release;
};
C3C2A5A8255385C100C340D1 /* Debug */ = {
isa = XCBuildConfiguration;
@ -7415,9 +7520,9 @@
};
name = Debug;
};
C3C2A5A9255385C100C340D1 /* App Store Release */ = {
C3C2A5A9255385C100C340D1 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 58DCBD4304A944B25C6622BD /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app store release.xcconfig */;
baseConfigurationReference = A43483C22EAFEB809D0E1F7D /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
@ -7515,7 +7620,7 @@
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = "App Store Release";
name = App_Store_Release;
};
C3C2A682255388CC00C340D1 /* Debug */ = {
isa = XCBuildConfiguration;
@ -7602,9 +7707,9 @@
};
name = Debug;
};
C3C2A683255388CC00C340D1 /* App Store Release */ = {
C3C2A683255388CC00C340D1 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7C0E07EB26851D7BB4CF060E /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app store release.xcconfig */;
baseConfigurationReference = CE4846460EE575F49C243410 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
@ -7708,7 +7813,7 @@
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = "App Store Release";
name = App_Store_Release;
};
C3C2A6FA25539DE700C340D1 /* Debug */ = {
isa = XCBuildConfiguration;
@ -7794,9 +7899,9 @@
};
name = Debug;
};
C3C2A6FB25539DE700C340D1 /* App Store Release */ = {
C3C2A6FB25539DE700C340D1 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 0D2EC3F4CEB9B4BA0708E777 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit.app store release.xcconfig */;
baseConfigurationReference = EF09F5726A35DF7E399FCBA2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
APPLICATION_EXTENSION_API_ONLY = YES;
@ -7899,7 +8004,7 @@
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = "App Store Release";
name = App_Store_Release;
};
D221A0BA169C9E5F00537ABF /* Debug */ = {
isa = XCBuildConfiguration;
@ -7929,7 +8034,7 @@
CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 447;
CURRENT_PROJECT_VERSION = 448;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@ -7979,7 +8084,7 @@
};
name = Debug;
};
D221A0BB169C9E5F00537ABF /* App Store Release */ = {
D221A0BB169C9E5F00537ABF /* App_Store_Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@ -8007,7 +8112,7 @@
CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CURRENT_PROJECT_VERSION = 447;
CURRENT_PROJECT_VERSION = 448;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
@ -8052,7 +8157,7 @@
SWIFT_VERSION = 4.0;
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
D221A0BD169C9E5F00537ABF /* Debug */ = {
isa = XCBuildConfiguration;
@ -8126,9 +8231,9 @@
};
name = Debug;
};
D221A0BE169C9E5F00537ABF /* App Store Release */ = {
D221A0BE169C9E5F00537ABF /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 3B268FDD65DE7F2EF97254BF /* Pods-GlobalDependencies-Session.app store release.xcconfig */;
baseConfigurationReference = C240A81D610542B95C65825E /* Pods-GlobalDependencies-Session.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
@ -8190,7 +8295,7 @@
TEST_AFTER_BUILD = YES;
WRAPPER_EXTENSION = app;
};
name = "App Store Release";
name = App_Store_Release;
};
FD71161028D00BAE00B47552 /* Debug */ = {
isa = XCBuildConfiguration;
@ -8233,9 +8338,9 @@
};
name = Debug;
};
FD71161128D00BAE00B47552 /* App Store Release */ = {
FD71161128D00BAE00B47552 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 211662AAE34A0F973DEC5EDC /* Pods-GlobalDependencies-Session-SessionTests.app store release.xcconfig */;
baseConfigurationReference = 2C34CD8CF6650014C43CBCD0 /* Pods-GlobalDependencies-Session-SessionTests.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUNDLE_LOADER = "$(TEST_HOST)";
@ -8295,7 +8400,7 @@
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Session.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Session";
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
FD7C37B62BBB8B1E009DEEA7 /* Debug */ = {
isa = XCBuildConfiguration;
@ -8338,9 +8443,9 @@
};
name = Debug;
};
FD7C37B72BBB8B1E009DEEA7 /* App Store Release */ = {
FD7C37B72BBB8B1E009DEEA7 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B407A2618CCC4B6EAAFEF787 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app store release.xcconfig */;
baseConfigurationReference = FCC8A2FE7EA9FAD72FA30DA4 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-SessionSnodeKit-SessionSnodeKitTests.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
@ -8400,7 +8505,7 @@
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
FD83B9B727CF200A005E1583 /* Debug */ = {
isa = XCBuildConfiguration;
@ -8442,9 +8547,9 @@
};
name = Debug;
};
FD83B9B827CF200A005E1583 /* App Store Release */ = {
FD83B9B827CF200A005E1583 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D8922A2ADEB6B6F356E39EE2 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app store release.xcconfig */;
baseConfigurationReference = 2C69FF11750145A1291FABAC /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionUtilitiesKit-SessionUtilitiesKitTests.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -8503,7 +8608,7 @@
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
FD9BDDFD2A5D2294005F1EBC /* Debug */ = {
isa = XCBuildConfiguration;
@ -8546,7 +8651,7 @@
};
name = Debug;
};
FD9BDDFE2A5D2294005F1EBC /* App Store Release */ = {
FD9BDDFE2A5D2294005F1EBC /* App_Store_Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@ -8609,7 +8714,7 @@
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
FDC4389627B9FFC700C60D73 /* Debug */ = {
isa = XCBuildConfiguration;
@ -8651,9 +8756,9 @@
};
name = Debug;
};
FDC4389727B9FFC700C60D73 /* App Store Release */ = {
FDC4389727B9FFC700C60D73 /* App_Store_Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A3B514075354627A4C1475BE /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app store release.xcconfig */;
baseConfigurationReference = D3989B0E4EC94E02A6B50181 /* Pods-GlobalDependencies-FrameworkAndExtensionDependencies-ExtendedDependencies-SessionMessagingKit-SessionMessagingKitTests.app_store_release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -8712,7 +8817,7 @@
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = "App Store Release";
name = App_Store_Release;
};
/* End XCBuildConfiguration section */
@ -8721,127 +8826,127 @@
isa = XCConfigurationList;
buildConfigurations = (
453518731FC635DD00210559 /* Debug */,
453518751FC635DD00210559 /* App Store Release */,
453518751FC635DD00210559 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
7BC01A45241F40AB00BC7C55 /* Build configuration list for PBXNativeTarget "SessionNotificationServiceExtension" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7BC01A43241F40AB00BC7C55 /* Debug */,
7BC01A44241F40AB00BC7C55 /* App Store Release */,
7BC01A44241F40AB00BC7C55 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
C331FF262558F9D400070591 /* Build configuration list for PBXNativeTarget "SessionUIKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C331FF242558F9D400070591 /* Debug */,
C331FF252558F9D400070591 /* App Store Release */,
C331FF252558F9D400070591 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
C33FD9B6255A548A00E217F9 /* Build configuration list for PBXNativeTarget "SignalUtilitiesKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C33FD9B4255A548A00E217F9 /* Debug */,
C33FD9B5255A548A00E217F9 /* App Store Release */,
C33FD9B5255A548A00E217F9 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
C3C2A5AA255385C100C340D1 /* Build configuration list for PBXNativeTarget "SessionSnodeKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C3C2A5A8255385C100C340D1 /* Debug */,
C3C2A5A9255385C100C340D1 /* App Store Release */,
C3C2A5A9255385C100C340D1 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
C3C2A684255388CC00C340D1 /* Build configuration list for PBXNativeTarget "SessionUtilitiesKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C3C2A682255388CC00C340D1 /* Debug */,
C3C2A683255388CC00C340D1 /* App Store Release */,
C3C2A683255388CC00C340D1 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
C3C2A6F925539DE700C340D1 /* Build configuration list for PBXNativeTarget "SessionMessagingKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C3C2A6FA25539DE700C340D1 /* Debug */,
C3C2A6FB25539DE700C340D1 /* App Store Release */,
C3C2A6FB25539DE700C340D1 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
D221A083169C9E5E00537ABF /* Build configuration list for PBXProject "Session" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D221A0BA169C9E5F00537ABF /* Debug */,
D221A0BB169C9E5F00537ABF /* App Store Release */,
D221A0BB169C9E5F00537ABF /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
D221A0BC169C9E5F00537ABF /* Build configuration list for PBXNativeTarget "Session" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D221A0BD169C9E5F00537ABF /* Debug */,
D221A0BE169C9E5F00537ABF /* App Store Release */,
D221A0BE169C9E5F00537ABF /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
FD71160F28D00BAE00B47552 /* Build configuration list for PBXNativeTarget "SessionTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FD71161028D00BAE00B47552 /* Debug */,
FD71161128D00BAE00B47552 /* App Store Release */,
FD71161128D00BAE00B47552 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
FD7C37B52BBB8B1E009DEEA7 /* Build configuration list for PBXNativeTarget "SessionSnodeKitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FD7C37B62BBB8B1E009DEEA7 /* Debug */,
FD7C37B72BBB8B1E009DEEA7 /* App Store Release */,
FD7C37B72BBB8B1E009DEEA7 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
FD83B9B627CF200A005E1583 /* Build configuration list for PBXNativeTarget "SessionUtilitiesKitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FD83B9B727CF200A005E1583 /* Debug */,
FD83B9B827CF200A005E1583 /* App Store Release */,
FD83B9B827CF200A005E1583 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
FD9BDDFC2A5D2294005F1EBC /* Build configuration list for PBXNativeTarget "SessionUtil" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FD9BDDFD2A5D2294005F1EBC /* Debug */,
FD9BDDFE2A5D2294005F1EBC /* App Store Release */,
FD9BDDFE2A5D2294005F1EBC /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
FDC4389527B9FFC700C60D73 /* Build configuration list for PBXNativeTarget "SessionMessagingKitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FDC4389627B9FFC700C60D73 /* Debug */,
FDC4389727B9FFC700C60D73 /* App Store Release */,
FDC4389727B9FFC700C60D73 /* App_Store_Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
defaultConfigurationName = App_Store_Release;
};
/* End XCConfigurationList section */
};

@ -228,7 +228,7 @@
</EnvironmentVariables>
</LaunchAction>
<ProfileAction
buildConfiguration = "App Store Release"
buildConfiguration = "App_Store_Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
@ -248,7 +248,7 @@
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "App Store Release"
buildConfiguration = "App_Store_Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -1306,76 +1306,133 @@ class OpenGroupAPISpec: QuickSpec {
}
}
// MARK: -- when preparing an upload file request
context("when preparing an upload file request") {
// MARK: ---- generates the request correctly
it("generates the request correctly") {
let preparedRequest: Network.PreparedRequest<FileUploadResponse>? = mockStorage.read { db in
try OpenGroupAPI.preparedUploadFile(
db,
bytes: [],
to: "testRoom",
on: "testserver",
using: dependencies
)
// MARK: -- when generaing upload and download details
context("when generaing upload and download details") {
beforeEach {
mockStorage.write { db in
try OpenGroup(
server: "http://oxen.io",
roomToken: "testRoom",
publicKey: TestConstants.publicKey,
isActive: true,
name: "Test",
roomDescription: nil,
imageId: nil,
userCount: 0,
infoUpdates: 0,
sequenceNumber: 0,
inboxLatestMessageId: 0,
outboxLatestMessageId: 0
).insert(db)
}
expect(preparedRequest?.request.url?.absoluteString).to(equal("testserver/room/testRoom/file"))
expect(preparedRequest?.request.httpMethod).to(equal("POST"))
}
// MARK: ---- doesn't add a fileName to the content-disposition header when not provided
it("doesn't add a fileName to the content-disposition header when not provided") {
let preparedRequest: Network.PreparedRequest<FileUploadResponse>? = mockStorage.read { db in
try OpenGroupAPI.preparedUploadFile(
// MARK: ---- generates the upload destination correctly
it("generates the upload destination correctly") {
let destination: Network.Destination? = mockStorage.read { db in
try OpenGroupAPI.uploadDestination(
db,
bytes: [],
to: "testRoom",
on: "testserver",
data: Data(),
openGroup: OpenGroup(
server: "http://oxen.io",
roomToken: "testRoom",
publicKey: TestConstants.publicKey,
isActive: false,
name: "",
userCount: 0,
infoUpdates: 0
),
using: dependencies
)
}
expect(preparedRequest?.request.allHTTPHeaderFields?[HTTPHeader.contentDisposition])
.toNot(contain("filename"))
expect(destination).to(equal(
Network.Destination.server(
url: URL(string: "http://oxen.io/room/testRoom/file")!,
method: .post,
headers: [
HTTPHeader.sogsNonce: "pK6YRtQApl4NhECGizF0Cg==",
HTTPHeader.sogsTimestamp: "1234567890",
HTTPHeader.sogsSignature: "VGVzdFNvZ3NTaWduYXR1cmU=",
HTTPHeader.sogsPubKey: "1588672ccb97f40bb57238989226cf429b575ba355443f47bc76c5ab144a96c65b"
],
x25519PublicKey: TestConstants.publicKey
)
))
}
// MARK: ---- generates the download url correctly
it("generates the download url correctly") {
expect(try? OpenGroupAPI.downloadUrlFor(fileId: "1", server: "testserver", roomToken: "roomToken"))
.to(equal(URL(string: "testserver/room/roomToken/file/1")))
}
// MARK: ---- adds the fileName to the content-disposition header when provided
it("adds the fileName to the content-disposition header when provided") {
let preparedRequest: Network.PreparedRequest<FileUploadResponse>? = mockStorage.read { db in
try OpenGroupAPI.preparedUploadFile(
// MARK: ---- generates the download destination correctly when given an id
it("generates the download destination correctly when given an id") {
let destination: Network.Destination? = mockStorage.read { db in
try OpenGroupAPI.downloadDestination(
db,
bytes: [],
fileName: "TestFileName",
to: "testRoom",
on: "testserver",
fileId: "1",
openGroup: OpenGroup(
server: "http://oxen.io",
roomToken: "testRoom",
publicKey: TestConstants.publicKey,
isActive: false,
name: "",
userCount: 0,
infoUpdates: 0
),
using: dependencies
)
}
expect(preparedRequest?.request.allHTTPHeaderFields?[HTTPHeader.contentDisposition])
.to(contain("TestFileName"))
expect(destination).to(equal(
Network.Destination.server(
url: URL(string: "http://oxen.io/room/testRoom/file/1")!,
method: .get,
headers: [
HTTPHeader.sogsNonce: "pK6YRtQApl4NhECGizF0Cg==",
HTTPHeader.sogsTimestamp: "1234567890",
HTTPHeader.sogsSignature: "VGVzdFNvZ3NTaWduYXR1cmU=",
HTTPHeader.sogsPubKey: "1588672ccb97f40bb57238989226cf429b575ba355443f47bc76c5ab144a96c65b"
],
x25519PublicKey: TestConstants.publicKey
)
))
}
}
}
describe("an OpenGroupAPI") {
// MARK: -- when preparing a download file request
context("when preparing a download file request") {
// MARK: ---- generates the request correctly
it("generates the request correctly") {
let preparedRequest: Network.PreparedRequest<Data>? = mockStorage.read { db in
try OpenGroupAPI.preparedDownloadFile(
// MARK: ---- generates the download destination correctly when given a url
it("generates the download destination correctly when given a url") {
let destination: Network.Destination? = mockStorage.read { db in
try OpenGroupAPI.downloadDestination(
db,
fileId: "1",
from: "testRoom",
on: "testserver",
url: URL(string: "http://oxen.io/room/testRoom/file/1")!,
openGroup: OpenGroup(
server: "http://oxen.io",
roomToken: "testRoom",
publicKey: TestConstants.publicKey,
isActive: false,
name: "",
userCount: 0,
infoUpdates: 0
),
using: dependencies
)
}
expect(preparedRequest?.request.url?.absoluteString).to(equal("testserver/room/testRoom/file/1"))
expect(preparedRequest?.request.httpMethod).to(equal("GET"))
expect(destination).to(equal(
Network.Destination.server(
url: URL(string: "http://oxen.io/room/testRoom/file/1")!,
method: .get,
headers: [
HTTPHeader.sogsNonce: "pK6YRtQApl4NhECGizF0Cg==",
HTTPHeader.sogsTimestamp: "1234567890",
HTTPHeader.sogsSignature: "VGVzdFNvZ3NTaWduYXR1cmU=",
HTTPHeader.sogsPubKey: "1588672ccb97f40bb57238989226cf429b575ba355443f47bc76c5ab144a96c65b"
],
x25519PublicKey: TestConstants.publicKey
)
))
}
}
@ -1397,7 +1454,9 @@ class OpenGroupAPISpec: QuickSpec {
expect(preparedRequest?.request.httpMethod).to(equal("POST"))
}
}
}
describe("an OpenGroupAPI") {
// MARK: -- when preparing a ban user request
context("when preparing a ban user request") {
// MARK: ---- generates the request correctly

@ -21,7 +21,6 @@ class OpenGroupManagerSpec: QuickSpec {
serverHash: "TestServerHash",
messageUuid: nil,
threadId: OpenGroup.idFor(roomToken: "testRoom", server: "testServer"),
threadVariant: .community,
authorId: "TestAuthorId",
variant: .standardOutgoing,
body: "Test",
@ -3153,7 +3152,7 @@ class OpenGroupManagerSpec: QuickSpec {
URLRequest(url: URL(string: "https://open.getsession.org/room/test2/file/12")!),
to: OpenGroupAPI.defaultServer,
with: OpenGroupAPI.defaultServerPublicKey,
timeout: FileServerAPI.fileDownloadTimeout
timeout: Network.fileDownloadTimeout
),
using: dependencies
)

@ -2,7 +2,7 @@
import Foundation
struct AppVersionResponse: Codable {
public struct AppVersionResponse: Codable {
enum CodingKeys: String, CodingKey {
case version = "result"
}

@ -6,7 +6,7 @@ import Foundation
import SessionUtilitiesKit
public extension Network {
enum Destination: CustomStringConvertible {
enum Destination: Equatable {
case snode(LibSession.Snode)
case server(
url: URL,
@ -14,12 +14,5 @@ public extension Network {
headers: [HTTPHeader: String]?,
x25519PublicKey: String
)
public var description: String {
switch self {
case .snode(let snode): return "Service node \(snode.address)"
case .server(let url, _, _, _): return url.host.defaulting(to: "Unknown Host")
}
}
}
}

@ -5,7 +5,7 @@ import Foundation
import Quick
import Nimble
@testable import SessionMessagingKit
@testable import SessionSnodeKit
class FileUploadResponseSpec: QuickSpec {
override class func spec() {

@ -62,7 +62,19 @@ public enum SNUserDefaults {
}
public extension UserDefaults {
static let applicationGroup: String = "group.com.loki-project.loki-messenger"
private static let _applicationGroup: Atomic<String?> = Atomic(nil)
static let applicationGroup: String = {
guard let appGroup: String = _applicationGroup.wrappedValue else {
let dynamicAppGroupsId: String = (Bundle.main.infoDictionary?["AppGroupsId"] as? String) // stringlint:disable
.defaulting(to: "group.com.loki-project.loki-messenger") // stringlint:disable
_applicationGroup.mutate { $0 = dynamicAppGroupsId }
return dynamicAppGroupsId
}
return appGroup
}()
@objc static var sharedLokiProject: UserDefaults? {
UserDefaults(suiteName: UserDefaults.applicationGroup)

Loading…
Cancel
Save