diff --git a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/ComposerToolbarViewModel.swift b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/ComposerToolbarViewModel.swift index 75d21dd94..1e43c88f5 100644 --- a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/ComposerToolbarViewModel.swift +++ b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/ComposerToolbarViewModel.swift @@ -189,6 +189,8 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool switch state.composerMode { case .previewVoiceMessage: actionsSubject.send(.voiceMessage(.send)) + case .recordVoiceMessage: + MXLog.warning("Ignoring send action while recording a voice message.") default: if context.composerFormattingEnabled { actionsSubject.send(.sendMessage(plain: wysiwygViewModel.content.markdown, diff --git a/ElementX/Sources/Screens/Timeline/TimelineViewModel.swift b/ElementX/Sources/Screens/Timeline/TimelineViewModel.swift index aebaaf594..76e5a83aa 100644 --- a/ElementX/Sources/Screens/Timeline/TimelineViewModel.swift +++ b/ElementX/Sources/Screens/Timeline/TimelineViewModel.swift @@ -807,7 +807,8 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol { intentionalMentions: intentionalMentions) } case .recordVoiceMessage, .previewVoiceMessage: - fatalError("invalid composer mode.") + MXLog.error("Ignoring sendCurrentMessage with invalid composer mode: \(mode)") + return } scrollToBottom()