Fix performance issue

pull/228/head
nielsandriesse 5 years ago
parent e05a4cd4a7
commit f45f43c06b

@ -712,12 +712,6 @@ typedef enum : NSUInteger {
[SSKEnvironment.shared.profileManager ensureProfileCachedForContactWithID:self.thread.contactIdentifier with:transaction]; [SSKEnvironment.shared.profileManager ensureProfileCachedForContactWithID:self.thread.contactIdentifier with:transaction];
}]; }];
} }
if ([self.thread isKindOfClass:TSContactThread.class]) {
[LKStorage writeSyncWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[LKSessionManagementProtocol sendSessionRequestIfNeededToPublicKey:self.thread.contactIdentifier transaction:transaction];
} error:nil];
}
} }
- (void)createContents - (void)createContents
@ -3924,12 +3918,6 @@ typedef enum : NSUInteger {
BOOL didAddToProfileWhitelist = [ThreadUtil addThreadToProfileWhitelistIfEmptyContactThread:self.thread]; BOOL didAddToProfileWhitelist = [ThreadUtil addThreadToProfileWhitelistIfEmptyContactThread:self.thread];
if ([self.thread isKindOfClass:TSContactThread.class]) {
[LKStorage writeSyncWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[LKSessionManagementProtocol sendSessionRequestIfNeededToPublicKey:self.thread.contactIdentifier transaction:transaction];
} error:nil];
}
__block TSOutgoingMessage *message; __block TSOutgoingMessage *message;
[self.uiDatabaseConnection readWithBlock:^(YapDatabaseReadTransaction *_Nonnull transaction) { [self.uiDatabaseConnection readWithBlock:^(YapDatabaseReadTransaction *_Nonnull transaction) {
message = [ThreadUtil enqueueMessageWithText:messageText message = [ThreadUtil enqueueMessageWithText:messageText
@ -3945,6 +3933,12 @@ typedef enum : NSUInteger {
if (didAddToProfileWhitelist) { if (didAddToProfileWhitelist) {
[self.conversationViewModel ensureDynamicInteractionsAndUpdateIfNecessary:YES]; [self.conversationViewModel ensureDynamicInteractionsAndUpdateIfNecessary:YES];
} }
if ([self.thread isKindOfClass:TSContactThread.class]) {
[LKStorage writeWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[LKSessionManagementProtocol sendSessionRequestIfNeededToPublicKey:self.thread.contactIdentifier transaction:transaction];
}];
}
}); });
} }
@ -4515,12 +4509,6 @@ typedef enum : NSUInteger {
return; return;
} }
if ([self.thread isKindOfClass:TSContactThread.class]) {
[LKStorage writeSyncWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[LKSessionManagementProtocol sendSessionRequestIfNeededToPublicKey:self.thread.contactIdentifier transaction:transaction];
} error:nil];
}
// Limit outgoing text messages to 16kb. // Limit outgoing text messages to 16kb.
// //
// We convert large text messages to attachments // We convert large text messages to attachments
@ -4566,6 +4554,12 @@ typedef enum : NSUInteger {
if (didAddToProfileWhitelist) { if (didAddToProfileWhitelist) {
[self.conversationViewModel ensureDynamicInteractionsAndUpdateIfNecessary:YES]; [self.conversationViewModel ensureDynamicInteractionsAndUpdateIfNecessary:YES];
} }
if ([self.thread isKindOfClass:TSContactThread.class]) {
[LKStorage writeWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[LKSessionManagementProtocol sendSessionRequestIfNeededToPublicKey:self.thread.contactIdentifier transaction:transaction];
}];
}
} }
- (void)voiceMemoGestureDidStart - (void)voiceMemoGestureDidStart

@ -78,7 +78,7 @@ public final class SessionMetaProtocol : NSObject {
/// to avoid sending them if certain conditions are met. /// to avoid sending them if certain conditions are met.
@objc(shouldSendTypingIndicatorInThread:) @objc(shouldSendTypingIndicatorInThread:)
public static func shouldSendTypingIndicator(in thread: TSThread) -> Bool { public static func shouldSendTypingIndicator(in thread: TSThread) -> Bool {
return !thread.isGroupThread() return !thread.isGroupThread() && thread.numberOfInteractions() > 0
} }
// MARK: Receipts // MARK: Receipts

Loading…
Cancel
Save