|  |  |  | @ -137,7 +137,7 @@ NS_ASSUME_NONNULL_BEGIN | 
		
	
		
			
				|  |  |  |  |                                                      dbConnection:(YapDatabaseConnection *)dbConnection | 
		
	
		
			
				|  |  |  |  |                                       hideUnreadMessagesIndicator:(BOOL)hideUnreadMessagesIndicator | 
		
	
		
			
				|  |  |  |  |                                   firstUnseenInteractionTimestamp: | 
		
	
		
			
				|  |  |  |  |                                       (nullable NSNumber *)firstUnseenInteractionTimestampParameter | 
		
	
		
			
				|  |  |  |  |                                       (nullable NSNumber *)firstUnseenInteractionTimestampParam | 
		
	
		
			
				|  |  |  |  |                                                      maxRangeSize:(int)maxRangeSize | 
		
	
		
			
				|  |  |  |  | { | 
		
	
		
			
				|  |  |  |  |     OWSAssert(thread); | 
		
	
	
		
			
				
					|  |  |  | @ -232,6 +232,21 @@ NS_ASSUME_NONNULL_BEGIN | 
		
	
		
			
				|  |  |  |  |         // have been marked as read. | 
		
	
		
			
				|  |  |  |  |         // | 
		
	
		
			
				|  |  |  |  |         // IFF this variable is non-null, there are unseen messages in the thread. | 
		
	
		
			
				|  |  |  |  |         // | 
		
	
		
			
				|  |  |  |  |         // Make a local copy of this parameter that we can modify. | 
		
	
		
			
				|  |  |  |  |         NSNumber *_Nullable firstUnseenInteractionTimestampParameter = firstUnseenInteractionTimestampParam; | 
		
	
		
			
				|  |  |  |  |         if (firstUnseenInteractionTimestampParameter) { | 
		
	
		
			
				|  |  |  |  |             // Due to disappearing messages or manual deletion, | 
		
	
		
			
				|  |  |  |  |             // firstUnseenInteractionTimestampParameter may refer to an obsolete | 
		
	
		
			
				|  |  |  |  |             // interaction in which case we want to discard it. | 
		
	
		
			
				|  |  |  |  |             TSInteraction *_Nullable lastInteraction = | 
		
	
		
			
				|  |  |  |  |                 [[transaction ext:TSMessageDatabaseViewExtensionName] lastObjectInGroup:thread.uniqueId]; | 
		
	
		
			
				|  |  |  |  |             if (!lastInteraction | 
		
	
		
			
				|  |  |  |  |                 || lastInteraction.timestampForSorting | 
		
	
		
			
				|  |  |  |  |                     < firstUnseenInteractionTimestampParameter.unsignedLongLongValue) { | 
		
	
		
			
				|  |  |  |  |                 firstUnseenInteractionTimestampParameter = nil; | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |         if (firstUnseenInteractionTimestampParameter) { | 
		
	
		
			
				|  |  |  |  |             result.firstUnseenInteractionTimestamp = firstUnseenInteractionTimestampParameter; | 
		
	
		
			
				|  |  |  |  |         } else { | 
		
	
	
		
			
				
					|  |  |  | 
 |