From df2ee6ba557083ebea5c378014cae660955bbd6a Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 19 May 2017 15:36:43 -0400 Subject: [PATCH] =?UTF-8?q?=E2=80=9CAdd=20to=20contacts=E2=80=9D=20offer.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit // FREEBIE --- Signal/src/ViewControllers/MessagesViewController.m | 9 ++++++--- Signal/src/util/ThreadUtil.m | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Signal/src/ViewControllers/MessagesViewController.m b/Signal/src/ViewControllers/MessagesViewController.m index a4ed0415f..ab8802159 100644 --- a/Signal/src/ViewControllers/MessagesViewController.m +++ b/Signal/src/ViewControllers/MessagesViewController.m @@ -747,6 +747,10 @@ typedef enum : NSUInteger { _composeOnOpen = keyboardOnViewAppearing; _callOnOpen = callOnViewAppearing; + // We need to create the "unread indicator" before we mark + // all messages as read. + [self ensureThreadOffersAndIndicators]; + [self markAllMessagesAsRead]; [self.uiDatabaseConnection beginLongLivedReadTransaction]; @@ -2752,9 +2756,8 @@ typedef enum : NSUInteger { OWSAssert([NSThread isMainThread]); if (self.hasClearedUnreadMessagesIndicator) { - // ensureThreadOffersAndIndicators is slightly - // expensive, so make sure we don't call it - // unneccesarily. + // ensureThreadOffersAndIndicators is somewhat expensive + // so we don't want to call it unnecessarily. return; } diff --git a/Signal/src/util/ThreadUtil.m b/Signal/src/util/ThreadUtil.m index bedb84a4b..fb0db3c7b 100644 --- a/Signal/src/util/ThreadUtil.m +++ b/Signal/src/util/ThreadUtil.m @@ -103,7 +103,7 @@ NS_ASSUME_NONNULL_BEGIN __block TSUnreadIndicatorInteraction *unreadIndicator = nil; __block TSIncomingMessage *firstIncomingMessage = nil; __block TSOutgoingMessage *firstOutgoingMessage = nil; - __block TSMessage *firstUnreadMessage = nil; + __block TSIncomingMessage *firstUnreadMessage = nil; __block long outgoingMessageCount = 0; [[transaction ext:TSMessageDatabaseViewExtensionName]