Merge branch 'charlesmchen/readReceiptsVsOlderMessages'

pull/1/head
Matthew Chen 9 years ago
commit 1f82dc9a61

@ -136,7 +136,7 @@ CHECKOUT OPTIONS:
:commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308 :commit: 7054e4b13ee5bcd6d524adb6dc9a726e8c466308
:git: https://github.com/WhisperSystems/JSQMessagesViewController.git :git: https://github.com/WhisperSystems/JSQMessagesViewController.git
SignalServiceKit: SignalServiceKit:
:commit: 49f11804310bbdddbb6d50ff071b53b328858b32 :commit: 91685120583fbedb19a0018e63417e5d0bf1b00b
:git: https://github.com/WhisperSystems/SignalServiceKit.git :git: https://github.com/WhisperSystems/SignalServiceKit.git
SocketRocket: SocketRocket:
:commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf :commit: 877ac7438be3ad0b45ef5ca3969574e4b97112bf

@ -3558,6 +3558,7 @@ typedef enum : NSUInteger {
} }
id<OWSReadTracking> possiblyRead = (id<OWSReadTracking>)object; id<OWSReadTracking> possiblyRead = (id<OWSReadTracking>)object;
OWSAssert(!possiblyRead.read);
if (!possiblyRead.read) { if (!possiblyRead.read) {
[interactions addObject:possiblyRead]; [interactions addObject:possiblyRead];
} }
@ -3568,7 +3569,7 @@ typedef enum : NSUInteger {
} }
DDLogError(@"Marking %zd messages as read.", interactions.count); DDLogError(@"Marking %zd messages as read.", interactions.count);
for (id<OWSReadTracking> possiblyRead in interactions) { for (id<OWSReadTracking> possiblyRead in interactions) {
[possiblyRead markAsReadLocallyWithTransaction:transaction]; [possiblyRead markAsReadWithTransaction:transaction sendReadReceipt:YES updateExpiration:YES];
} }
}]; }];
} }

@ -225,15 +225,17 @@ NSString *const Signal_Message_MarkAsRead_Identifier = @"Signal_Message_MarkAsRe
NSString *threadId = userInfo[Signal_Thread_UserInfo_Key]; NSString *threadId = userInfo[Signal_Thread_UserInfo_Key];
TSThread *thread = [TSThread fetchObjectWithUniqueID:threadId]; TSThread *thread = [TSThread fetchObjectWithUniqueID:threadId];
[[TSStorageManager sharedManager] [[TSStorageManager sharedManager].dbConnection
.dbConnection asyncReadWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) { asyncReadWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) {
[thread markAllAsReadWithTransaction:transaction]; // TODO: I suspect we only want to mark the message in
} // question as read.
[thread markAllAsReadWithTransaction:transaction];
}
completionBlock:^{ completionBlock:^{
[[[Environment getCurrent] signalsViewController] updateInboxCountLabel]; [[[Environment getCurrent] signalsViewController] updateInboxCountLabel];
[self cancelNotificationsWithThreadId:threadId]; [self cancelNotificationsWithThreadId:threadId];
completionHandler(); completionHandler();
}]; }];
} }

Loading…
Cancel
Save