diff --git a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m index 54d6c97bb..0d1c0801a 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationViewController.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationViewController.m @@ -561,7 +561,15 @@ typedef enum : NSUInteger { - (BOOL)canBecomeFirstResponder { - return YES; + // Normally there'd be no mechanism for us to become first responder while presenting + // another view controller, however due to our screen lock window juggling, a side effect of + // calling `makeKeyAndVisible` is that "last known" first responder is sent "becomeFirstResponder", + // regardless of if it is no longer the top most VC. + if (self.presentedViewController) { + return NO; + } else { + return YES; + } } - (nullable UIView *)inputAccessoryView