diff --git a/Podfile.lock b/Podfile.lock index ebfeb48fc..3955cd792 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -83,7 +83,7 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: JSQMessagesViewController: - :commit: 82482a1fc560fb4f716babbe49a20cf9c0bc7fc3 + :commit: bc976a04d906ab3e5316148ee66de172a6e370b2 :git: https://github.com/dtsbourg/JSQMessagesViewController SocketRocket: :commit: d0585af165 diff --git a/Pods b/Pods index 0b6f683fb..6641c0c61 160000 --- a/Pods +++ b/Pods @@ -1 +1 @@ -Subproject commit 0b6f683fbd2c3947a73ddb619ca4fe5ef4e6edcd +Subproject commit 6641c0c61b183015950fb020a53a43a993bbb28f diff --git a/Signal/src/textsecure/Messages/TSErrorMessage.m b/Signal/src/textsecure/Messages/TSErrorMessage.m index f0a33e012..7b327ff26 100644 --- a/Signal/src/textsecure/Messages/TSErrorMessage.m +++ b/Signal/src/textsecure/Messages/TSErrorMessage.m @@ -12,7 +12,7 @@ @implementation TSErrorMessage - (instancetype)initWithTimestamp:(uint64_t)timestamp inThread:(TSThread *)thread failedMessageType:(TSErrorMessageType)errorMessageType{ - self = [super initWithTimestamp:timestamp inThread:thread messageBody:@"" attachements:nil]; + self = [super initWithTimestamp:timestamp inThread:thread messageBody:@"Placeholder for error message." attachements:nil]; if (self) { _errorType = errorMessageType; diff --git a/Signal/src/textsecure/Messages/TSInfoMessage.m b/Signal/src/textsecure/Messages/TSInfoMessage.m index b9c37a753..4121ee49e 100644 --- a/Signal/src/textsecure/Messages/TSInfoMessage.m +++ b/Signal/src/textsecure/Messages/TSInfoMessage.m @@ -11,7 +11,7 @@ @implementation TSInfoMessage - (instancetype)initWithTimestamp:(uint64_t)timestamp inThread:(TSContactThread *)contact messageType:(TSInfoMessageType)infoMessage{ - self = [super initWithTimestamp:timestamp inThread:contact messageBody:nil attachements:nil]; + self = [super initWithTimestamp:timestamp inThread:contact messageBody:@"Placeholder for info message." attachements:nil]; if (self) { _messageType = infoMessage; diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 42ebf18df..ffd10c1e3 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -65,6 +65,8 @@ typedef enum : NSUInteger { @property (nonatomic, retain) NSTimer *readTimer; +@property (nonatomic, retain) NSIndexPath *lastDeliveredMessageIndexPath; + @end @implementation MessagesViewController @@ -397,6 +399,7 @@ typedef enum : NSUInteger { { if ([self shouldShowMessageStatusAtIndexPath:indexPath]) { + _lastDeliveredMessageIndexPath = indexPath; NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init]; textAttachment.bounds = CGRectMake(0, 0, 11.0f, 10.0f); NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc]initWithString:@"Delivered"]; @@ -444,7 +447,7 @@ typedef enum : NSUInteger { } } - BOOL isUnsent = messageItem.messageState == TSOutgoingMessageStateUnsent || messageItem.messageState == TSOutgoingMessageStateAttemptingOut; + BOOL isUnsent = messageItem.messageState == TSOutgoingMessageStateAttemptingOut && [messageItem.senderId isEqualToString:self.senderId]; if (isMessage && isUnsent) { @@ -645,7 +648,7 @@ typedef enum : NSUInteger { } case YapDatabaseViewChangeUpdate : { - [self.collectionView reloadItemsAtIndexPaths:@[ rowChange.indexPath ]]; + [self.collectionView reloadItemsAtIndexPaths:@[ rowChange.indexPath , _lastDeliveredMessageIndexPath]]; break; } } diff --git a/Signal/src/view controllers/TSMessageAdapter.h b/Signal/src/view controllers/TSMessageAdapter.h index 0d52f1fbd..df4b9d9f3 100644 --- a/Signal/src/view controllers/TSMessageAdapter.h +++ b/Signal/src/view controllers/TSMessageAdapter.h @@ -15,13 +15,6 @@ #define ME_MESSAGE_IDENTIFIER @"Me"; -typedef NS_ENUM(NSInteger, TSMessageAdapterType) { - TSIncomingMessageAdapter, - TSOutgoingMessageAdapter, - TSCallAdapter, - TSInfoMessageAdapter, - TSErrorMessageAdapter -}; @interface TSMessageAdapter : NSObject