From 0cc684959d8f74f2c6fecffb83dfd5bf2912f77b Mon Sep 17 00:00:00 2001 From: Gil Eluard Date: Mon, 26 Jul 2021 21:59:16 +0200 Subject: [PATCH 1/4] Tap/hold to send voice messages isn't intuitive #4601 - Fixed --- CHANGES.rst | 1 + Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 6efffb50b..0ab06193b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -14,6 +14,7 @@ Changes to be released in next version * Settings: Disabled autocorrection when entering an identity server (#4593). * Room Notification Settings: Fix Crash when opening the new Room Notification Settings Screen (Not yet released) (#4599). * AuthenticationViewController: Fix crash on authentication if an intermediate view was presented (#4606). + * Tap/hold to send voice messages isn't intuitive (#4601). ⚠️ API Changes * diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift index 4650d6fae..8bc140764 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift @@ -45,7 +45,7 @@ struct VoiceMessageToolbarViewDetails { class VoiceMessageToolbarView: PassthroughView, NibLoadable, Themable, UIGestureRecognizerDelegate, VoiceMessagePlaybackViewDelegate { private enum Constants { - static let longPressMinimumDuration: TimeInterval = 1.0 + static let longPressMinimumDuration: TimeInterval = 0.0 static let animationDuration: TimeInterval = 0.25 static let lockModeTransitionAnimationDuration: TimeInterval = 0.5 static let panDirectionChangeThreshold: CGFloat = 20.0 From 8b36281cc4632eb238f20879b3fe16040de91e29 Mon Sep 17 00:00:00 2001 From: Gil Eluard Date: Mon, 26 Jul 2021 22:19:04 +0200 Subject: [PATCH 2/4] Tapping on waveform in composer glitches UI #4603 - Fixed --- CHANGES.rst | 1 + Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 0ab06193b..0776c9c65 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -15,6 +15,7 @@ Changes to be released in next version * Room Notification Settings: Fix Crash when opening the new Room Notification Settings Screen (Not yet released) (#4599). * AuthenticationViewController: Fix crash on authentication if an intermediate view was presented (#4606). * Tap/hold to send voice messages isn't intuitive (#4601). + * Tapping on waveform in composer glitches UI (#4603). ⚠️ API Changes * diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift index 8bc140764..2d3ac748f 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift @@ -393,6 +393,10 @@ class VoiceMessageToolbarView: PassthroughView, NibLoadable, Themable, UIGesture } @objc private func handleWaveformTap(_ gestureRecognizer: UITapGestureRecognizer) { + guard self.lastUIState == .lockedModeRecord else { + return + } + delegate?.voiceMessageToolbarViewDidRequestRecordingFinish(self) } } From dd53e0b193a1c145c523a286f305543f4acdec55 Mon Sep 17 00:00:00 2001 From: Gil Eluard Date: Mon, 26 Jul 2021 22:24:36 +0200 Subject: [PATCH 3/4] Voice Messages copy could be improved #4604 - Fixed --- CHANGES.rst | 5 +++-- Riot/Assets/en.lproj/Vector.strings | 2 +- Riot/Generated/Strings.swift | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 0776c9c65..b31ca5d8d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,14 +8,15 @@ Changes to be released in next version * Room: Added support for Voice Messages (#4090, #4091, #4092, #4094, #4095, #4096) * Remove the directory section from the Rooms tab. * Notifications: Show decrypted content is enabled by default (#4519). + * Voice Messages: Tap/hold to send voice messages isn't intuitive (#4601). + * Voice Messages: copy could be improved (#4604). 🐛 Bugfix * Room: Fixed mentioning users from room info member details (#4583) * Settings: Disabled autocorrection when entering an identity server (#4593). * Room Notification Settings: Fix Crash when opening the new Room Notification Settings Screen (Not yet released) (#4599). * AuthenticationViewController: Fix crash on authentication if an intermediate view was presented (#4606). - * Tap/hold to send voice messages isn't intuitive (#4601). - * Tapping on waveform in composer glitches UI (#4603). + * Voice Messages: Tapping on waveform in composer glitches UI (#4603). ⚠️ API Changes * diff --git a/Riot/Assets/en.lproj/Vector.strings b/Riot/Assets/en.lproj/Vector.strings index 80c55d989..01a6f2ef1 100644 --- a/Riot/Assets/en.lproj/Vector.strings +++ b/Riot/Assets/en.lproj/Vector.strings @@ -1686,4 +1686,4 @@ Tap the + to start adding people."; "voice_message_release_to_send" = "Hold to record, release to send"; "voice_message_remaining_recording_time" = "%@s left"; -"voice_message_stop_locked_mode_recording" = "Tap on the wavelength to stop and playback"; +"voice_message_stop_locked_mode_recording" = "Tap on your recording to stop or listen"; diff --git a/Riot/Generated/Strings.swift b/Riot/Generated/Strings.swift index 3de870902..7f2cb1930 100644 --- a/Riot/Generated/Strings.swift +++ b/Riot/Generated/Strings.swift @@ -4890,7 +4890,7 @@ internal enum VectorL10n { internal static func voiceMessageRemainingRecordingTime(_ p1: String) -> String { return VectorL10n.tr("Vector", "voice_message_remaining_recording_time", p1) } - /// Tap on the wavelength to stop and playback + /// Tap on your recording to stop or listen internal static var voiceMessageStopLockedModeRecording: String { return VectorL10n.tr("Vector", "voice_message_stop_locked_mode_recording") } From abc1f569ccbb383bb665c8b159bbf21071b2c3c0 Mon Sep 17 00:00:00 2001 From: Gil Eluard Date: Tue, 27 Jul 2021 14:55:06 +0200 Subject: [PATCH 4/4] Slide to lock should be more generous #4602 - Distance needed to enter lock mode reduced --- CHANGES.rst | 1 + Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index b31ca5d8d..5ab9b5a5f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,7 @@ Changes to be released in next version * Notifications: Show decrypted content is enabled by default (#4519). * Voice Messages: Tap/hold to send voice messages isn't intuitive (#4601). * Voice Messages: copy could be improved (#4604). + * Slide to lock should be more generous (#4602). 🐛 Bugfix * Room: Fixed mentioning users from room info member details (#4583) diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift index 2d3ac748f..f0b27fd46 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift @@ -145,7 +145,7 @@ class VoiceMessageToolbarView: PassthroughView, NibLoadable, Themable, UIGesture convertedFrame = self.convert(lockChevron.frame, from: lockContainerView) lockChevronToRecordButtonDistance = recordButtonsContainerView.frame.midY + convertedFrame.maxY - lockChevronToLockButtonDistance = lockChevron.frame.minY - lockButtonsContainerView.frame.midY + lockChevronToLockButtonDistance = (lockChevron.frame.minY - lockButtonsContainerView.frame.midY) / 2 startAnimatingRecordingIndicator() default: