Doug
37d88e622c
Add UI tests for AppLockFlowCoordinator. ( #2055 )
...
* Add UITests for the App Lock flow.
* Add Notification Signal
Fix unwanted imports in UITests.
2023-11-10 15:38:54 +00:00
Nicolas Mauri
da831f6725
New voice message recording mode ( #2051 )
...
* Lock voice message recording
* Use the VoiceMessageCache to store the recording file
* Rework on some composer toolbar buttons
* Update accessibility labels for voice message recording button
* PreviewTests
2023-11-10 15:32:22 +00:00
Mauro
a4bc7b8e36
Custom copy for notifications that contain mentions ( #2050 )
2023-11-09 18:12:11 +00:00
Stefan Ceriu
019ca625ab
Group together voice message and poll actions ( #2054 )
...
* Group together voice message and poll actions
* Extract nested switches into separate methods
2023-11-09 19:16:42 +02:00
Stefan Ceriu
abe2080ee2
Extract room screen action handling into separate component ( #2045 )
...
* Extract room screen action handling into separate component
* Fix tracing configuration unit tests
* Move the custom reactionsCollapsedBinding to the TimelineReactionsView
* Move voice message playback handling from the timelineController to the room view model
* Reorder methods
* Remove the need for a media player provider in the timeline controller
* Move room attachments opening to the view model, remove the need for a media provider in the timeline controller
* Rename RoomScreenActionsHandler -> RoomScreenInteractionHandler
* Move message sending retry and cancellation to the timeline controller.
* Move audio playback, attachment loading and user tapping handling into the InteractionHandler
* Fix unit tests
* Switch back swiftlint file_length rule error to 1000 lines
2023-11-08 18:31:39 +02:00
Doug
07313926c9
Add UI tests for optional app lock setup. ( #2046 )
2023-11-08 15:33:40 +00:00
Nicolas Mauri
e04a55eaef
Voice message recording enhancements ( #2042 )
...
* Use Combine to report AudioRecorder state changes
* AudioRecorder is now using AVAudioEngine instead of AVAudioRecorder
* Stop recording when audio configuration changes
* AudioRecorder error handling
* UnitTests
* Use Accelerate to calculate RMS
2023-11-08 10:19:28 +01:00
Stefan Ceriu
5dcb24add7
Expose Element Call settings in the developer options. Start using th… ( #2039 )
...
* Expose Element Call settings in the developer options. Start using the encryption widget parameter.
* Remove the Element Call feature flag
2023-11-07 16:12:03 +02:00
Mauro
ce72a9b5f2
Fix NSE Leak ( #2022 )
2023-11-03 20:30:58 +00:00
Alfonso Grillo
4985d410b3
Add voice message analytics
2023-11-03 12:44:52 +01:00
Alfonso Grillo
530985e674
Add deferred spinner for voice messages ( #2018 )
...
* Add delayedLoaderPlaybackState
* Add more tests
* Fix Xcode 14 build error
* Refactor delayedLoaderPlaybackState -> playerButtonPlaybackState
* Fix runtime issue
2023-11-03 10:39:22 +00:00
Alfonso Grillo
4d3cb97fbb
Voice message record button hapitcs ( #2013 )
...
* Move tooltip logics in VoiceMessageRecordingButton
* Add hapitc feedback when recording a voice message
* Cleanup
2023-11-02 12:58:19 +01:00
Alfonso Grillo
4af8ef2a5f
Voice message UI polish (part 2) ( #1995 )
...
* Update compund
* Fix create poll screen bin button style
* Fix timeline menu description for voice messages
* Fix bin button in ComposerToolbar
* Add VoiceMessageButtonStyle
* Update compound & fix breaking changes
* Fix voice message bin size
* Refactor VoiceMessageRecordingButton
* Fix preview tests
2023-11-01 10:03:35 +01:00
Doug
4af881a20f
Update the SDK, minor version, handle API breaks ( #1994 )
2023-10-31 14:56:23 +00:00
Nicolas Mauri
8253920648
Fix: release audio session after playback ends ( #1992 )
2023-10-31 13:13:50 +00:00
Doug
af3732541e
Enable the App Lock feature. ( #1990 )
2023-10-31 08:55:30 +00:00
Nicolas Mauri
4f0ed94eaa
Fix the delay when switching between voice messages ( #1985 )
2023-10-30 19:44:59 +00:00
Alfonso Grillo
7ba2e4f9f5
Set voice messages max width ( #1980 )
2023-10-30 12:09:10 +01:00
Alfonso Grillo
5439b650a0
Remove forward action for polls ( #1973 )
2023-10-27 20:35:18 +00:00
Stefan Ceriu
a837ce5cff
Key backup Rust API adoption ( #1952 )
...
* Adopt Rust side secure backup APIs (incomplete, based on poljar/backup-pr)
* Implement the home screen recovery key confirmation banner.
* Update with the latest Rust changes.
The loading button for .unknown was incorrect. It should be treated as disabled.
---------
Co-authored-by: Doug <douglase@element.io >
2023-10-27 20:16:51 +01:00
Stefan Ceriu
4077f5f4bb
Session verification fixes and bump SDK to v0.0.1-october23 ( #1954 )
...
* Fixes vector-im/element-x-ios/issues/1868 Incorrect `is_verified` flag after successfully running verification flow
- the inner user_identity isn't automatically updated when the flow finishes, needs to be fetched again from encryption
- also replaces `UserIdentity.is_verified` with `Device.is_cross_signed_by_owner`
- depends on matrix-org/matrix-rust-sdk/pull/2775
---------
Co-authored-by: Doug <douglase@element.io >
2023-10-27 19:39:21 +01:00
Nicolas Mauri
a32a7c8f2c
Fix: Keep the progress indicator visible after pausing or scrubbing a voice message. ( #1969 )
2023-10-27 15:24:22 +00:00
Mauro
0b31446817
Resizable Composer With Completion Suggestion View ( #1971 )
...
* resizable composer with suggestions view
* FF cleanup
* removing the view when the vertical size is compact
* merge conflict fix
* done
* solving a conflict
* Update ElementX/Sources/Screens/ComposerToolbar/View/CompletionSuggestionView.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com >
* pr suggestion
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com >
2023-10-27 13:54:30 +00:00
Doug
84a16091b2
Handle invalid PIN input in the settings flow. ( #1972 )
2023-10-27 14:08:06 +01:00
Alfonso Grillo
acfc564490
Remove feature flag for voice messages ( #1964 )
...
* Delete voice messages feature flag
* Fix preview tests
* Update snapshots
2023-10-27 13:45:15 +02:00
Alfonso Grillo
adfe855b99
Refactor voice messages touch interaction ( #1970 )
...
* Remove enable/disable long press actions
* Working poc
* Refactor interaction in VoiceMessageRoomPlaybackView
* Cleanup DateFormatter
* Fix VoiceMessagePreviewComposer
* Cleanup
* Delete WaveformViewDragState
* Refactor WaveformCursorView
* Cleanup
* Add WaveformInteractionModifier
* Add selection hapitc feedback
* Fix ComposerToolbar ZStack alignment
* Refine cursor size
* Remove haptic feedback
* Fix preview test
* Delete longPressDisabledItemID
* Remove progress animation
* Project file
2023-10-27 10:08:30 +00:00
Doug
11563c6297
Add support for Face ID/Touch ID to app lock. ( #1966 )
...
* Fix biometrics with low grace period and backgrounding before unlocked.
* Trigger permissions alert when enabling Face ID.
2023-10-27 09:09:12 +00:00
Nicolas Mauri
aa766f2eac
Add some logs to allow debugging of voice messages in rageshake ( #1967 )
2023-10-26 17:22:41 +02:00
Nicolas Mauri
8a5986f9b0
Fix: Always detach voice message audio player state before playing another one ( #1965 )
2023-10-26 14:12:21 +02:00
Alfonso Grillo
a1bbc7ecce
Voice messages UI polish ( #1959 )
...
* Add VoiceMessageButton
* Add VoiceMessageRecordBadge
* Make composer transition faster
* Use VoiceMessageButton
* Adjust recording badge
* Update localisation key
* Remove animation in VoiceMessageButton
* Fix preview tests
* Cleanup
* Update preview tests
2023-10-26 09:05:42 +00:00
Mauro
d457736673
Check Application state before sending RR ( #1960 )
...
* check the state
* better handling
* protocol to mock the application state
* test improvement
2023-10-25 19:16:37 +02:00
Doug
c6e4dc2a37
Initial implementation for AppLockSetupFlowCoordinator. ( #1949 )
...
Rename AppLockSettingsScreen to AppLockSetupSettingsScreen.
Implement forced logout and persist PIN entry attempts.
2023-10-25 11:03:37 +00:00
Nicolas Mauri
30b18031a0
Add a progress indicator to voice message preview ( #1956 )
2023-10-25 10:27:00 +00:00
Nicolas Mauri
f9ad44f96a
Fix playback and recording of voice messages ( #1948 )
2023-10-24 16:49:42 +00:00
Stefan Ceriu
37f1a79a11
Key backup returns ( #1951 )
...
* Converge on UserSessionFlowCoordinator logout confirmation
* Add logout confirmation screen strings to untranslated.
* Fix chat backup learn more URl fragment.
* Implement logout flows that check recovery and key backup for the last session
* Move logout confirmation screen strings to localazy
* Change encrypted timeline item copy to "Waiting for decryption key"
* Use different encrypted history banner based on key backup states
* Introduce a SettingsFlowCoordinator and implement navigation directly to the secure backup screen from the logout flows.
* Fix **mocked** secure backup controller flows
* Simplify encrypted history banner logic
* Address PR comments
2023-10-24 18:38:41 +03:00
Stefan Ceriu
c885585b6b
Bump the RustSDK to v1.1.26, adopt the new room hasActiveRoomCall state property
2023-10-24 16:23:14 +03:00
Nicolas Mauri
2f57fbc77d
Allow to record a voice message ( #1926 )
2023-10-23 15:47:36 +00:00
Alfonso Grillo
30e6d823c5
Fix EstimatedWaveform amplitudes ( #1939 )
...
* Fix range
* Add data range & cleanup
* Fix preview tests
2023-10-23 14:42:56 +00:00
Doug
5356a56a00
Add AppLockSetupPINScreen. ( #1930 )
2023-10-23 09:07:13 +00:00
Stefan Ceriu
d292fe890d
Bump the RustSDK to v1.1.25
2023-10-20 16:59:27 +03:00
Mauro
1d1f76ff43
Send Intentional Mentions ( #1929 )
...
* updated sdks
* fix waveform
* implementation completed
* intentional mentions test
* removed unused var
* suggestion
2023-10-20 16:51:25 +03:00
Stefan Ceriu
c8b9d95122
#1899 , #1900 , #1901 - Implement chat backup setting screens
2023-10-19 15:34:10 +03:00
Doug
ebd9f4c916
Add App Lock settings screen ( #1917 )
2023-10-19 12:26:34 +01:00
Doug
99c28784a9
Initial service implementation for using a PIN code. ( #1912 )
...
* Initial service implementation for using a PIN code.
* Tweak Danger for commit size
600-800 lines is perfectly normal for our PRs, up it to 1000.
2023-10-19 10:42:12 +01:00
Alfonso Grillo
fbcf037240
Voice message waveform from audio files ( #1919 )
...
* Add DSWaveformImage
* Add estimated waveform
* Add progress mask modifier
* Add real waveform
* Fix cursor
* Fix scale factor
* Refine ProgressMaskModifier
* Refine waveform logic
* Add docs
* Add waveform placeholder
2023-10-19 11:01:45 +02:00
Stefan Ceriu
6e8dff2ef6
Implement support for ElementCall through Rust side widgets ( #1906 )
...
* Implement support for ElementCall through Rust side widgets
* Add Element Call feature flag
* Fix the unit tests
* Address PR comments
2023-10-17 12:41:56 +03:00
Nicolas Mauri
9ab3b20a49
Add UI to record a voice message from the composer toolbar ( #1892 )
2023-10-16 15:18:51 +00:00
Nicolas Mauri
39e3328b02
Fix: the duration of voice messages is now expressed in milliseconds ( #1904 )
2023-10-16 08:59:45 +00:00
Alfonso Grillo
20143cb84e
Stop audio on redaction ( #1893 )
2023-10-16 10:22:09 +02:00
Stefan Ceriu
7f09c02298
Check network reachability before attempting to restart the sync service
2023-10-13 17:42:15 +03:00