From 4d409aea6cac2abb88b2a2bad56bafab900528b2 Mon Sep 17 00:00:00 2001 From: Alfonso Grillo Date: Tue, 31 Oct 2023 12:47:10 +0100 Subject: [PATCH] Ignore keyboard input in "voice message mode" (#1988) * Update rte to 2.15.0 * Ignore keyboard input when in voice message mode --- ElementX.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/swiftpm/Package.resolved | 6 +++--- .../ComposerToolbar/ComposerToolbarViewModel.swift | 5 ++++- .../Sources/Screens/RoomScreen/RoomScreenModels.swift | 9 +++++++++ project.yml | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index adc31e49a..bc467537d 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -6612,7 +6612,7 @@ repositoryURL = "https://github.com/matrix-org/matrix-wysiwyg-composer-swift"; requirement = { kind = exactVersion; - version = 2.14.4; + version = 2.15.0; }; }; 96495DD8554E2F39D3954354 /* XCRemoteSwiftPackageReference "posthog-ios" */ = { diff --git a/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index e53e4fd19..22f5227ce 100644 --- a/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -138,8 +138,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/matrix-org/matrix-wysiwyg-composer-swift", "state" : { - "revision" : "e60d0ffa9fbb1368bd837c94dede2d8d48952c7f", - "version" : "2.14.4" + "revision" : "379ab4d0ff194eba197606c56345e5718b2e3810", + "version" : "2.15.0" } }, { @@ -262,7 +262,7 @@ { "identity" : "swiftui-introspect", "kind" : "remoteSourceControl", - "location" : "https://github.com/siteline/SwiftUI-Introspect", + "location" : "https://github.com/siteline/SwiftUI-Introspect.git", "state" : { "revision" : "b94da693e57eaf79d16464b8b7c90d09cba4e290", "version" : "0.9.2" diff --git a/ElementX/Sources/Screens/ComposerToolbar/ComposerToolbarViewModel.swift b/ElementX/Sources/Screens/ComposerToolbar/ComposerToolbarViewModel.swift index 2dc6dc7bf..3faf6ad1a 100644 --- a/ElementX/Sources/Screens/ComposerToolbar/ComposerToolbarViewModel.swift +++ b/ElementX/Sources/Screens/ComposerToolbar/ComposerToolbarViewModel.swift @@ -53,7 +53,10 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool context.$viewState .map(\.composerMode) .removeDuplicates() - .sink { [weak self] in self?.actionsSubject.send(.composerModeChanged(mode: $0)) } + .sink { [weak self] in + self?.wysiwygViewModel.shouldReplaceText = $0.isTextEditingEnabled + self?.actionsSubject.send(.composerModeChanged(mode: $0)) + } .store(in: &cancellables) context.$viewState diff --git a/ElementX/Sources/Screens/RoomScreen/RoomScreenModels.swift b/ElementX/Sources/Screens/RoomScreen/RoomScreenModels.swift index da95cdd9c..531b1f044 100644 --- a/ElementX/Sources/Screens/RoomScreen/RoomScreenModels.swift +++ b/ElementX/Sources/Screens/RoomScreen/RoomScreenModels.swift @@ -52,6 +52,15 @@ enum RoomScreenComposerMode: Equatable { return false } } + + var isTextEditingEnabled: Bool { + switch self { + case .default, .reply, .edit: + return true + case .recordVoiceMessage, .previewVoiceMessage: + return false + } + } } enum RoomScreenViewAction { diff --git a/project.yml b/project.yml index 12c3663e0..b4c8af2f5 100644 --- a/project.yml +++ b/project.yml @@ -112,7 +112,7 @@ packages: minorVersion: 2.0.0 WysiwygComposer: url: https://github.com/matrix-org/matrix-wysiwyg-composer-swift - exactVersion: 2.14.4 + exactVersion: 2.15.0 # path: ../matrix-wysiwyg/platforms/ios/lib/WysiwygComposer SwiftOGG: url: https://github.com/vector-im/swift-ogg