|  |  | @ -1110,6 +1110,8 @@ NS_ASSUME_NONNULL_BEGIN | 
			
		
	
		
		
			
				
					
					|  |  |  |     NSString *body = dataMessage.body; |  |  |  |     NSString *body = dataMessage.body; | 
			
		
	
		
		
			
				
					
					|  |  |  |     NSData *groupId = dataMessage.group ? dataMessage.group.id : nil; |  |  |  |     NSData *groupId = dataMessage.group ? dataMessage.group.id : nil; | 
			
		
	
		
		
			
				
					
					|  |  |  |     OWSContact *_Nullable contact = [OWSContacts contactForDataMessage:dataMessage transaction:transaction]; |  |  |  |     OWSContact *_Nullable contact = [OWSContacts contactForDataMessage:dataMessage transaction:transaction]; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     NSNumber *_Nullable serverTimestamp = (envelope.hasServerTimestamp ? @(envelope.serverTimestamp) : nil); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     NSString *_Nullable serverGuid = (envelope.hasServerGuid ? envelope.serverGuid : nil); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (dataMessage.group.type == SSKProtoGroupContextTypeRequestInfo) { |  |  |  |     if (dataMessage.group.type == SSKProtoGroupContextTypeRequestInfo) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         [self handleGroupInfoRequest:envelope dataMessage:dataMessage transaction:transaction]; |  |  |  |         [self handleGroupInfoRequest:envelope dataMessage:dataMessage transaction:transaction]; | 
			
		
	
	
		
		
			
				
					|  |  | @ -1223,7 +1225,9 @@ NS_ASSUME_NONNULL_BEGIN | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                                   attachmentIds:attachmentIds |  |  |  |                                                                   attachmentIds:attachmentIds | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                                expiresInSeconds:dataMessage.expireTimer |  |  |  |                                                                expiresInSeconds:dataMessage.expireTimer | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                                   quotedMessage:quotedMessage |  |  |  |                                                                   quotedMessage:quotedMessage | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                                    contactShare:contact]; |  |  |  |                                                                    contactShare:contact | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                                                 serverTimestamp:serverTimestamp | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                                                      serverGuid:serverGuid]; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 [self finalizeIncomingMessage:incomingMessage |  |  |  |                 [self finalizeIncomingMessage:incomingMessage | 
			
		
	
		
		
			
				
					
					|  |  |  |                                        thread:oldGroupThread |  |  |  |                                        thread:oldGroupThread | 
			
		
	
	
		
		
			
				
					|  |  | @ -1262,7 +1266,9 @@ NS_ASSUME_NONNULL_BEGIN | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                           attachmentIds:attachmentIds |  |  |  |                                                           attachmentIds:attachmentIds | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                        expiresInSeconds:dataMessage.expireTimer |  |  |  |                                                        expiresInSeconds:dataMessage.expireTimer | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                           quotedMessage:quotedMessage |  |  |  |                                                           quotedMessage:quotedMessage | 
			
		
	
		
		
			
				
					
					|  |  |  |                                                            contactShare:contact]; |  |  |  |                                                            contactShare:contact | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                                         serverTimestamp:serverTimestamp | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                                                              serverGuid:serverGuid]; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         [self finalizeIncomingMessage:incomingMessage |  |  |  |         [self finalizeIncomingMessage:incomingMessage | 
			
		
	
		
		
			
				
					
					|  |  |  |                                thread:thread |  |  |  |                                thread:thread | 
			
		
	
	
		
		
			
				
					|  |  | @ -1302,13 +1308,6 @@ NS_ASSUME_NONNULL_BEGIN | 
			
		
	
		
		
			
				
					
					|  |  |  |         [incomingMessage markAsReadAtTimestamp:envelope.timestamp sendReadReceipt:NO transaction:transaction]; |  |  |  |         [incomingMessage markAsReadAtTimestamp:envelope.timestamp sendReadReceipt:NO transaction:transaction]; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (envelope.hasServerGuid) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         [incomingMessage updateWithServerGuid:envelope.serverGuid transaction:transaction]; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (envelope.hasServerTimestamp) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         [incomingMessage updateWithServerTimestamp:envelope.serverTimestamp transaction:transaction]; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     TSQuotedMessage *_Nullable quotedMessage = incomingMessage.quotedMessage; |  |  |  |     TSQuotedMessage *_Nullable quotedMessage = incomingMessage.quotedMessage; | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (quotedMessage && quotedMessage.thumbnailAttachmentPointerId) { |  |  |  |     if (quotedMessage && quotedMessage.thumbnailAttachmentPointerId) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         // We weren't able to derive a local thumbnail, so we'll fetch the referenced attachment. |  |  |  |         // We weren't able to derive a local thumbnail, so we'll fetch the referenced attachment. | 
			
		
	
	
		
		
			
				
					|  |  | 
 |