From 6758ad010eac4bca38eaff4b39526ef81a0bb382 Mon Sep 17 00:00:00 2001 From: Ryan ZHAO <> Date: Tue, 6 Aug 2024 17:13:44 +1000 Subject: [PATCH] show message input box when permission is changed in a conversation --- .../Conversations/ConversationVC+Interaction.swift | 6 ++++-- Session/Conversations/ConversationVC.swift | 14 +++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index 83cfde843..19ad35174 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -804,8 +804,10 @@ extension ConversationVC: } func hideInputAccessoryView() { - self.inputAccessoryView?.isHidden = true - self.inputAccessoryView?.alpha = 0 + DispatchQueue.main.async { + self.inputAccessoryView?.isHidden = true + self.inputAccessoryView?.alpha = 0 + } } func showInputAccessoryView() { diff --git a/Session/Conversations/ConversationVC.swift b/Session/Conversations/ConversationVC.swift index 2d8914cbb..499e35dbe 100644 --- a/Session/Conversations/ConversationVC.swift +++ b/Session/Conversations/ConversationVC.swift @@ -74,9 +74,11 @@ final class ConversationVC: BaseVC, LibSessionRespondingViewController, Conversa } override var inputAccessoryView: UIView? { - guard viewModel.threadData.canWrite else { return nil } - - return (isShowingSearchUI ? searchController.resultsBar : snInputView) + return ( + (viewModel.threadData.canWrite && isShowingSearchUI) ? + searchController.resultsBar : + snInputView + ) } /// The height of the visible part of the table view, i.e. the distance from the navigation bar (where the table view's origin is) @@ -750,6 +752,12 @@ final class ConversationVC: BaseVC, LibSessionRespondingViewController, Conversa viewModel.threadData.threadIsMessageRequest != updatedThreadData.threadIsMessageRequest || viewModel.threadData.threadRequiresApproval != updatedThreadData.threadRequiresApproval { + if updatedThreadData.canWrite { + self.showInputAccessoryView() + } else { + self.hideInputAccessoryView() + } + let messageRequestsViewWasVisible: Bool = (self.messageRequestFooterView.isHidden == false) UIView.animate(withDuration: 0.3) { [weak self] in