Merge commit 'd786f7bb4f37b77478a8a55df44a6e87247f96c1' into feature/5433_foss_merge

* commit 'd786f7bb4f37b77478a8a55df44a6e87247f96c1': (36 commits)
  finish version++
  Release notes
  version++
  changelog.d: Upgrade MatrixSDK version ([v0.27.4](https://github.com/matrix-org/matrix-ios-sdk/releases/tag/v0.27.4)).
  Fix missing placeholder.
  Translated using Weblate (Catalan)
  Translated using Weblate (Catalan)
  Translated using Weblate (Catalan)
  Translated using Weblate (Arabic)
  Translated using Weblate (Arabic)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Chinese (Simplified))
  Fix: Remove the “Quote” action from the menu of the selected message.
  Update RTE to 2.18.0 to fix an issue with Speech-to-Text
  Code cleanup
  Dismiss the keyboard and minimise the composer when pasting an image, a video or a file
  Fix: focus, keyboard visibility, composer height
  Restore composer tint color
  ...

# Conflicts:
#	Config/AppVersion.xcconfig
#	Riot/Modules/Room/RoomViewController.m
This commit is contained in:
Frank Rotermund
2023-12-20 15:11:56 +01:00
23 changed files with 417 additions and 147 deletions
+19 -14
View File
@@ -208,15 +208,7 @@ extension RoomViewController {
optionalTextView?.becomeFirstResponder()
originalRect = wysiwygInputToolbar.convert(wysiwygInputToolbar.frame, to: view)
}
// This tirggers a SwiftUI update that is handled correctly on iOS 16, but needs to be dispatchted async on older versions
// Dispatching on iOS 16 instead causes some weird SwiftUI update behaviours
if #available(iOS 16, *) {
wysiwygInputToolbar.showKeyboard()
} else {
DispatchQueue.main.async {
wysiwygInputToolbar.showKeyboard()
}
}
roomInputToolbarContainer.removeFromSuperview()
let dimmingView = UIView()
dimmingView.translatesAutoresizingMaskIntoConstraints = false
@@ -243,7 +235,18 @@ extension RoomViewController {
}
let panGesture = UIPanGestureRecognizer(target: self, action: #selector(didPanRoomToolbarContainer(_ :)))
roomInputToolbarContainer.addGestureRecognizer(panGesture)
optionalTextView?.removeFromSuperview()
if let optionalTextView {
// This tirggers a SwiftUI update that is handled correctly on iOS 16, but needs to be dispatchted async on older versions
// Dispatching on iOS 16 instead causes some weird SwiftUI update behaviours
if #available(iOS 16, *) {
wysiwygInputToolbar.showKeyboard()
} else {
DispatchQueue.main.async {
wysiwygInputToolbar.showKeyboard()
}
}
optionalTextView.removeFromSuperview()
}
} else {
let originalRect = wysiwygInputToolbar.convert(wysiwygInputToolbar.frame, to: view)
var optionalTextView: UITextView?
@@ -252,7 +255,6 @@ extension RoomViewController {
optionalTextView = textView
self.view.window?.addSubview(textView)
optionalTextView?.becomeFirstResponder()
wysiwygInputToolbar.showKeyboard()
}
self.roomInputToolbarContainer.removeFromSuperview()
maximisedToolbarDimmingView?.removeFromSuperview()
@@ -265,7 +267,10 @@ extension RoomViewController {
self.view.layoutIfNeeded()
}
roomInputToolbarContainer.gestureRecognizers?.removeAll()
optionalTextView?.removeFromSuperview()
if let optionalTextView {
wysiwygInputToolbar.showKeyboard()
optionalTextView.removeFromSuperview()
}
}
}
@@ -392,8 +397,8 @@ extension RoomViewController: ComposerLinkActionBridgePresenterDelegate {
}
// MARK: - PermalinkReplacer
extension RoomViewController: PermalinkReplacer {
public func replacementForLink(_ url: String, text: String) -> NSAttributedString? {
extension RoomViewController: MentionReplacer {
public func replacementForMention(_ url: String, text: String) -> NSAttributedString? {
guard #available(iOS 15.0, *),
let url = URL(string: url),
let session = roomDataSource.mxSession,