diff --git a/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift b/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift index 051a1eb154..64b6f74238 100644 --- a/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift +++ b/submodules/TelegramUI/Sources/Chat/ChatControllerLoadDisplayNode.swift @@ -1536,7 +1536,14 @@ extension ChatControllerImpl { completion(t, {}) }) strongSelf.updateItemNodesSearchTextHighlightStates() - strongSelf.chatDisplayNode.ensureInputViewFocused() + if !strongSelf.chatDisplayNode.ensureInputViewFocused() { + DispatchQueue.main.async { [weak self] in + guard let self else { + return + } + self.chatDisplayNode.ensureInputViewFocused() + } + } } else { completion(.immediate, {}) } diff --git a/submodules/TelegramUI/Sources/ChatControllerNode.swift b/submodules/TelegramUI/Sources/ChatControllerNode.swift index 0d3d298a14..e9d3c6c92e 100644 --- a/submodules/TelegramUI/Sources/ChatControllerNode.swift +++ b/submodules/TelegramUI/Sources/ChatControllerNode.swift @@ -3792,9 +3792,12 @@ class ChatControllerNode: ASDisplayNode, ASScrollViewDelegate { } } - func ensureInputViewFocused() { + @discardableResult func ensureInputViewFocused() -> Bool { if let inputPanelNode = self.inputPanelNode as? ChatTextInputPanelNode { inputPanelNode.ensureFocused() + return true + } else { + return false } }