Skip to content

Commit baf95bf

Browse files
Merge branch 'delayed-delivery-module' of https://github.com/esl/XMPPFramework into esl-one-to-one-chat-module
2 parents 11b97ad + 6cbd815 commit baf95bf

File tree

10 files changed

+281
-21
lines changed

10 files changed

+281
-21
lines changed

Core/XMPPFramework.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#import "XMPPTimer.h"
3535
#import "XMPPCoreDataStorage.h"
3636
#import "XMPPCoreDataStorageProtected.h"
37+
#import "XMPPDelayedDelivery.h"
3738
#import "NSXMLElement+XEP_0203.h"
3839
#import "XMPPFileTransfer.h"
3940
#import "XMPPIncomingFileTransfer.h"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
#import <Foundation/Foundation.h>
22
@import KissXML;
33

4+
@class XMPPJID;
45

56
@interface NSXMLElement (XEP_0203)
67

78
@property (nonatomic, readonly) BOOL wasDelayed;
89
@property (nonatomic, readonly, nullable) NSDate *delayedDeliveryDate;
10+
@property (nonatomic, readonly, nullable) XMPPJID *delayedDeliveryFrom;
11+
@property (nonatomic, readonly, nullable) NSString *delayedDeliveryReasonDescription;
912

1013
@end

Extensions/XEP-0203/NSXMLElement+XEP_0203.m

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#import "NSXMLElement+XEP_0203.h"
22
#import "XMPPDateTimeProfiles.h"
33
#import "NSXMLElement+XMPP.h"
4+
#import "XMPPJID.h"
45

56
#if ! __has_feature(objc_arc)
67
#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
@@ -10,27 +11,11 @@ @implementation NSXMLElement (XEP_0203)
1011

1112
- (BOOL)wasDelayed
1213
{
13-
NSXMLElement *delay;
14-
15-
delay = [self elementForName:@"delay" xmlns:@"urn:xmpp:delay"];
16-
if (delay)
17-
{
18-
return YES;
19-
}
20-
21-
delay = [self elementForName:@"x" xmlns:@"jabber:x:delay"];
22-
if (delay)
23-
{
24-
return YES;
25-
}
26-
27-
return NO;
14+
return [self anyDelayedDeliveryChildElement] != nil;
2815
}
2916

3017
- (NSDate *)delayedDeliveryDate
3118
{
32-
NSXMLElement *delay;
33-
3419
// From XEP-0203 (Delayed Delivery)
3520
//
3621
// <delay xmlns='urn:xmpp:delay'
@@ -40,7 +25,7 @@ - (NSDate *)delayedDeliveryDate
4025
// The format [of the stamp attribute] MUST adhere to the dateTime format
4126
// specified in XEP-0082 and MUST be expressed in UTC.
4227

43-
delay = [self elementForName:@"delay" xmlns:@"urn:xmpp:delay"];
28+
NSXMLElement *delay = [self delayedDeliveryChildElement];
4429
if (delay)
4530
{
4631
NSString *stampValue = [delay attributeStringValueForName:@"stamp"];
@@ -60,12 +45,12 @@ - (NSDate *)delayedDeliveryDate
6045
// from='capulet.com'
6146
// stamp='20020910T23:08:25'>
6247

63-
delay = [self elementForName:@"x" xmlns:@"jabber:x:delay"];
64-
if (delay)
48+
NSXMLElement *legacyDelay = [self legacyDelayedDeliveryChildElement];
49+
if (legacyDelay)
6550
{
6651
NSDate *stamp;
6752

68-
NSString *stampValue = [delay attributeStringValueForName:@"stamp"];
53+
NSString *stampValue = [legacyDelay attributeStringValueForName:@"stamp"];
6954

7055
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
7156
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
@@ -81,4 +66,30 @@ - (NSDate *)delayedDeliveryDate
8166
return nil;
8267
}
8368

69+
- (XMPPJID *)delayedDeliveryFrom
70+
{
71+
NSString *delayedDeliveryFromString = [[self anyDelayedDeliveryChildElement] attributeStringValueForName:@"from"];
72+
return delayedDeliveryFromString ? [XMPPJID jidWithString:delayedDeliveryFromString] : nil;
73+
}
74+
75+
- (NSString *)delayedDeliveryReasonDescription
76+
{
77+
return [self anyDelayedDeliveryChildElement].stringValue;
78+
}
79+
80+
- (NSXMLElement *)delayedDeliveryChildElement
81+
{
82+
return [self elementForName:@"delay" xmlns:@"urn:xmpp:delay"];
83+
}
84+
85+
- (NSXMLElement *)legacyDelayedDeliveryChildElement
86+
{
87+
return [self elementForName:@"x" xmlns:@"jabber:x:delay"];
88+
}
89+
90+
- (NSXMLElement *)anyDelayedDeliveryChildElement
91+
{
92+
return [self delayedDeliveryChildElement] ?: [self legacyDelayedDeliveryChildElement];
93+
}
94+
8495
@end
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#import "XMPP.h"
2+
3+
NS_ASSUME_NONNULL_BEGIN
4+
5+
/// A module for processing XEP-0203 Delayed Delivery information in incoming XMPP stanzas.
6+
@interface XMPPDelayedDelivery : XMPPModule
7+
8+
@end
9+
10+
/// A protocol defining @c XMPPDelayedDelivery module delegate API.
11+
@protocol XMPPDelayedDeliveryDelegate <NSObject>
12+
13+
@optional
14+
15+
/// Notifies the delegate that a delayed delivery message has been received in the stream.
16+
- (void)xmppDelayedDelivery:(XMPPDelayedDelivery *)xmppDelayedDelivery
17+
didReceiveDelayedMessage:(XMPPMessage *)delayedMessage;
18+
19+
/// Notifies the delegate that a delayed delivery presence has been received in the stream.
20+
- (void)xmppDelayedDelivery:(XMPPDelayedDelivery *)xmppDelayedDelivery
21+
didReceiveDelayedPresence:(XMPPPresence *)delayedPresence;
22+
23+
@end
24+
25+
NS_ASSUME_NONNULL_END
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#import "XMPPDelayedDelivery.h"
2+
#import "XMPPLogging.h"
3+
#import "NSXMLElement+XEP_0203.h"
4+
5+
// Log levels: off, error, warn, info, verbose
6+
// Log flags: trace
7+
#if DEBUG
8+
static const int xmppLogLevel = XMPP_LOG_LEVEL_WARN; // | XMPP_LOG_FLAG_TRACE;
9+
#else
10+
static const int xmppLogLevel = XMPP_LOG_LEVEL_WARN;
11+
#endif
12+
13+
@implementation XMPPDelayedDelivery
14+
15+
- (void)didActivate
16+
{
17+
XMPPLogTrace();
18+
}
19+
20+
- (void)willDeactivate
21+
{
22+
XMPPLogTrace();
23+
}
24+
25+
- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message
26+
{
27+
XMPPLogTrace();
28+
29+
if (![message wasDelayed]) {
30+
return;
31+
}
32+
33+
XMPPLogInfo(@"Received delayed delivery message with date: %@, origin: %@, reason description: %@",
34+
[message delayedDeliveryDate],
35+
[message delayedDeliveryFrom] ?: @"unspecified",
36+
[message delayedDeliveryReasonDescription] ?: @"unspecified");
37+
38+
[multicastDelegate xmppDelayedDelivery:self didReceiveDelayedMessage:message];
39+
}
40+
41+
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
42+
{
43+
XMPPLogTrace();
44+
45+
if (![presence wasDelayed]) {
46+
return;
47+
}
48+
49+
XMPPLogInfo(@"Received delayed delivery presence with date: %@, origin: %@, reason description: %@",
50+
[presence delayedDeliveryDate],
51+
[presence delayedDeliveryFrom] ?: @"unspecified",
52+
[presence delayedDeliveryReasonDescription] ?: @"unspecified");
53+
54+
[multicastDelegate xmppDelayedDelivery:self didReceiveDelayedPresence:presence];
55+
}
56+
57+
@end

XMPPFramework.xcodeproj/project.pbxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,12 @@
938938
D9E6A05A1F92DEE100D8BFCB /* XMPPStanzaIdModule.m in Sources */ = {isa = PBXBuildFile; fileRef = D9E6A0561F92DEE100D8BFCB /* XMPPStanzaIdModule.m */; };
939939
D9E6A05B1F92DEE100D8BFCB /* XMPPStanzaIdModule.m in Sources */ = {isa = PBXBuildFile; fileRef = D9E6A0561F92DEE100D8BFCB /* XMPPStanzaIdModule.m */; };
940940
D9E6A05C1F92DEE100D8BFCB /* XMPPStanzaIdModule.m in Sources */ = {isa = PBXBuildFile; fileRef = D9E6A0561F92DEE100D8BFCB /* XMPPStanzaIdModule.m */; };
941+
DD1C59831F4429FD003D73DB /* XMPPDelayedDelivery.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1C59811F4429FD003D73DB /* XMPPDelayedDelivery.h */; settings = {ATTRIBUTES = (Public, ); }; };
942+
DD1C59841F4429FD003D73DB /* XMPPDelayedDelivery.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1C59811F4429FD003D73DB /* XMPPDelayedDelivery.h */; settings = {ATTRIBUTES = (Public, ); }; };
943+
DD1C59851F4429FD003D73DB /* XMPPDelayedDelivery.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1C59811F4429FD003D73DB /* XMPPDelayedDelivery.h */; settings = {ATTRIBUTES = (Public, ); }; };
944+
DD1C59861F4429FD003D73DB /* XMPPDelayedDelivery.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1C59821F4429FD003D73DB /* XMPPDelayedDelivery.m */; };
945+
DD1C59871F4429FD003D73DB /* XMPPDelayedDelivery.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1C59821F4429FD003D73DB /* XMPPDelayedDelivery.m */; };
946+
DD1C59881F4429FD003D73DB /* XMPPDelayedDelivery.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1C59821F4429FD003D73DB /* XMPPDelayedDelivery.m */; };
941947
DD1E73331ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1E73311ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h */; settings = {ATTRIBUTES = (Public, ); }; };
942948
DD1E73341ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1E73311ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h */; settings = {ATTRIBUTES = (Public, ); }; };
943949
DD1E73351ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1E73311ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -1561,6 +1567,8 @@
15611567
D9DCD6BF1E625B4D0010D1C7 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; };
15621568
D9E6A0551F92DEE100D8BFCB /* XMPPStanzaIdModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XMPPStanzaIdModule.h; sourceTree = "<group>"; };
15631569
D9E6A0561F92DEE100D8BFCB /* XMPPStanzaIdModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XMPPStanzaIdModule.m; sourceTree = "<group>"; };
1570+
DD1C59811F4429FD003D73DB /* XMPPDelayedDelivery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMPPDelayedDelivery.h; sourceTree = "<group>"; };
1571+
DD1C59821F4429FD003D73DB /* XMPPDelayedDelivery.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMPPDelayedDelivery.m; sourceTree = "<group>"; };
15641572
DD1E73311ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "XMPPRoomLightCoreDataStorage+XEP_0313.h"; sourceTree = "<group>"; };
15651573
DD1E73321ED885FD009B529B /* XMPPRoomLightCoreDataStorage+XEP_0313.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "XMPPRoomLightCoreDataStorage+XEP_0313.m"; sourceTree = "<group>"; };
15661574
DD1E73391ED88622009B529B /* XMPPRoomLightCoreDataStorageProtected.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMPPRoomLightCoreDataStorageProtected.h; sourceTree = "<group>"; };
@@ -2394,6 +2402,8 @@
23942402
D9DCD2131E6250930010D1C7 /* XEP-0203 */ = {
23952403
isa = PBXGroup;
23962404
children = (
2405+
DD1C59811F4429FD003D73DB /* XMPPDelayedDelivery.h */,
2406+
DD1C59821F4429FD003D73DB /* XMPPDelayedDelivery.m */,
23972407
D9DCD2141E6250930010D1C7 /* NSXMLElement+XEP_0203.h */,
23982408
D9DCD2151E6250930010D1C7 /* NSXMLElement+XEP_0203.m */,
23992409
);
@@ -2744,6 +2754,7 @@
27442754
D9DCD26E1E6250930010D1C7 /* XMPPResourceCoreDataStorageObject.h in Headers */,
27452755
D9DCD2831E6250930010D1C7 /* XMPPIQ+JabberRPC.h in Headers */,
27462756
D9DCD3201E6250930010D1C7 /* XMPPMessageArchiveManagement.h in Headers */,
2757+
DD1C59831F4429FD003D73DB /* XMPPDelayedDelivery.h in Headers */,
27472758
D9DCD2D61E6250930010D1C7 /* NSDate+XMPPDateTimeProfiles.h in Headers */,
27482759
D9DCD2BA1E6250930010D1C7 /* XMPPvCardTempAdrTypes.h in Headers */,
27492760
D9DCD2C81E6250930010D1C7 /* XMPPResultSet.h in Headers */,
@@ -2912,6 +2923,7 @@
29122923
D9DCD4FB1E6256D90010D1C7 /* XMPPResourceCoreDataStorageObject.h in Headers */,
29132924
D9DCD4FC1E6256D90010D1C7 /* XMPPIQ+JabberRPC.h in Headers */,
29142925
D9DCD4FD1E6256D90010D1C7 /* XMPPMessageArchiveManagement.h in Headers */,
2926+
DD1C59841F4429FD003D73DB /* XMPPDelayedDelivery.h in Headers */,
29152927
D9DCD4FE1E6256D90010D1C7 /* NSDate+XMPPDateTimeProfiles.h in Headers */,
29162928
D9DCD4FF1E6256D90010D1C7 /* XMPPvCardTempAdrTypes.h in Headers */,
29172929
D9DCD5001E6256D90010D1C7 /* XMPPResultSet.h in Headers */,
@@ -3080,6 +3092,7 @@
30803092
D9DCD65E1E6258CF0010D1C7 /* XMPPResourceCoreDataStorageObject.h in Headers */,
30813093
D9DCD65F1E6258CF0010D1C7 /* XMPPIQ+JabberRPC.h in Headers */,
30823094
D9DCD6601E6258CF0010D1C7 /* XMPPMessageArchiveManagement.h in Headers */,
3095+
DD1C59851F4429FD003D73DB /* XMPPDelayedDelivery.h in Headers */,
30833096
D9DCD6611E6258CF0010D1C7 /* NSDate+XMPPDateTimeProfiles.h in Headers */,
30843097
D9DCD6621E6258CF0010D1C7 /* XMPPvCardTempAdrTypes.h in Headers */,
30853098
D9DCD6631E6258CF0010D1C7 /* XMPPResultSet.h in Headers */,
@@ -3576,6 +3589,7 @@
35763589
0D44BB531E537105000930E0 /* XMPPSCRAMSHA1Authentication.m in Sources */,
35773590
D9DCD32B1E6250930010D1C7 /* XMPPIQ+XEP_0357.m in Sources */,
35783591
DD855F941F74F2B000E12330 /* XMPPOutOfBandResourceMessaging.m in Sources */,
3592+
DD1C59861F4429FD003D73DB /* XMPPDelayedDelivery.m in Sources */,
35793593
D9DCD2F71E6250930010D1C7 /* XMPPvCardAvatarModule.m in Sources */,
35803594
D9DCD26B1E6250930010D1C7 /* XMPPReconnect.m in Sources */,
35813595
D9DCD2B91E6250930010D1C7 /* XMPPvCardTempAdr.m in Sources */,
@@ -3735,6 +3749,7 @@
37353749
D9DCD45C1E6256D90010D1C7 /* XMPPSCRAMSHA1Authentication.m in Sources */,
37363750
D9DCD45D1E6256D90010D1C7 /* XMPPIQ+XEP_0357.m in Sources */,
37373751
DD855F951F74F2B000E12330 /* XMPPOutOfBandResourceMessaging.m in Sources */,
3752+
DD1C59871F4429FD003D73DB /* XMPPDelayedDelivery.m in Sources */,
37383753
D9DCD45E1E6256D90010D1C7 /* XMPPvCardAvatarModule.m in Sources */,
37393754
D9DCD45F1E6256D90010D1C7 /* XMPPReconnect.m in Sources */,
37403755
D9DCD4601E6256D90010D1C7 /* XMPPvCardTempAdr.m in Sources */,
@@ -3894,6 +3909,7 @@
38943909
D9DCD5BF1E6258CF0010D1C7 /* XMPPSCRAMSHA1Authentication.m in Sources */,
38953910
D9DCD5C01E6258CF0010D1C7 /* XMPPIQ+XEP_0357.m in Sources */,
38963911
DD855F961F74F2B000E12330 /* XMPPOutOfBandResourceMessaging.m in Sources */,
3912+
DD1C59881F4429FD003D73DB /* XMPPDelayedDelivery.m in Sources */,
38973913
D9DCD5C11E6258CF0010D1C7 /* XMPPvCardAvatarModule.m in Sources */,
38983914
D9DCD5C21E6258CF0010D1C7 /* XMPPReconnect.m in Sources */,
38993915
D9DCD5C31E6258CF0010D1C7 /* XMPPvCardTempAdr.m in Sources */,

Xcode/Testing-Carthage/XMPPFrameworkTests.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@
7676
DDA11A4C1F8518AE00591D1B /* XMPPManagedMessagingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DDA11A4B1F8518AE00591D1B /* XMPPManagedMessagingTests.m */; };
7777
DDA11A4D1F8518BA00591D1B /* XMPPManagedMessagingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DDA11A4B1F8518AE00591D1B /* XMPPManagedMessagingTests.m */; };
7878
DDA11A4E1F8518BB00591D1B /* XMPPManagedMessagingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DDA11A4B1F8518AE00591D1B /* XMPPManagedMessagingTests.m */; };
79+
DD4003F91F7528A90078D144 /* XMPPDelayedDeliveryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4003F81F7528A90078D144 /* XMPPDelayedDeliveryTests.m */; };
80+
DD4003FA1F7528B40078D144 /* XMPPDelayedDeliveryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4003F81F7528A90078D144 /* XMPPDelayedDeliveryTests.m */; };
81+
DD4003FB1F7528B40078D144 /* XMPPDelayedDeliveryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4003F81F7528A90078D144 /* XMPPDelayedDeliveryTests.m */; };
7982
/* End PBXBuildFile section */
8083

8184
/* Begin PBXContainerItemProxy section */
@@ -153,6 +156,7 @@
153156
DD26F5871F7CF1AE00F54F18 /* XMPPOneToOneChatTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMPPOneToOneChatTests.m; sourceTree = "<group>"; };
154157
DD06EA441F78EBFD008FA8C2 /* XMPPMessageDeliveryReceiptsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMPPMessageDeliveryReceiptsTests.m; sourceTree = "<group>"; };
155158
DDA11A4B1F8518AE00591D1B /* XMPPManagedMessagingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMPPManagedMessagingTests.m; sourceTree = "<group>"; };
159+
DD4003F81F7528A90078D144 /* XMPPDelayedDeliveryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMPPDelayedDeliveryTests.m; sourceTree = "<group>"; };
156160
/* End PBXFileReference section */
157161

158162
/* Begin PBXFrameworksBuildPhase section */
@@ -227,6 +231,7 @@
227231
DD26F5871F7CF1AE00F54F18 /* XMPPOneToOneChatTests.m */,
228232
DD06EA441F78EBFD008FA8C2 /* XMPPMessageDeliveryReceiptsTests.m */,
229233
DDA11A4B1F8518AE00591D1B /* XMPPManagedMessagingTests.m */,
234+
DD4003F81F7528A90078D144 /* XMPPDelayedDeliveryTests.m */,
230235
63F50D971C60208200CA0201 /* Info.plist */,
231236
);
232237
name = XMPPFrameworkTests;
@@ -406,6 +411,7 @@
406411
buildActionMask = 2147483647;
407412
files = (
408413
D973A07C1D2F18040096F3ED /* CapabilitiesHashingTest.m in Sources */,
414+
DD4003F91F7528A90078D144 /* XMPPDelayedDeliveryTests.m in Sources */,
409415
D973A0811D2F18040096F3ED /* XMPPMUCLightTests.m in Sources */,
410416
D973A07D1D2F18040096F3ED /* EncodeDecodeTest.m in Sources */,
411417
D973A0831D2F18040096F3ED /* XMPPRoomLightCoreDataStorageTests.m in Sources */,
@@ -435,6 +441,7 @@
435441
buildActionMask = 2147483647;
436442
files = (
437443
D9DCD3D51E6255E10010D1C7 /* CapabilitiesHashingTest.m in Sources */,
444+
DD4003FA1F7528B40078D144 /* XMPPDelayedDeliveryTests.m in Sources */,
438445
D9DCD3D61E6255E10010D1C7 /* XMPPMUCLightTests.m in Sources */,
439446
D9DCD3D71E6255E10010D1C7 /* EncodeDecodeTest.m in Sources */,
440447
D9DCD3D81E6255E10010D1C7 /* XMPPRoomLightCoreDataStorageTests.m in Sources */,
@@ -464,6 +471,7 @@
464471
buildActionMask = 2147483647;
465472
files = (
466473
D9DCD6FE1E625C560010D1C7 /* CapabilitiesHashingTest.m in Sources */,
474+
DD4003FB1F7528B40078D144 /* XMPPDelayedDeliveryTests.m in Sources */,
467475
D9DCD6FF1E625C560010D1C7 /* XMPPMUCLightTests.m in Sources */,
468476
D9DCD7001E625C560010D1C7 /* EncodeDecodeTest.m in Sources */,
469477
D9DCD7011E625C560010D1C7 /* XMPPRoomLightCoreDataStorageTests.m in Sources */,

0 commit comments

Comments
 (0)