Commit Graph

1133 Commits

Author SHA1 Message Date
Stefan Ceriu
519cd938b7 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
5eab6dea7e 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
2f7382fbf0 Fix: Keep the progress indicator visible after pausing or scrubbing a voice message. (#1969) 2023-10-27 15:24:22 +00:00
Mauro
c15e0a636b 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
e4225e9db0 Handle invalid PIN input in the settings flow. (#1972) 2023-10-27 14:08:06 +01:00
Alfonso Grillo
3ec2a88ae9 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
e18e915c5a 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
5bb85257e2 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
Mauro
36cf0a0442 Converting detected plain text mentions into permalinks (#1963)
* it works but a test fail because URL(string) fails

* done!

* let
2023-10-27 09:31:01 +02:00
Mauro
c0e398e20e Removed Pill Avatar + @room is not displayed among suggestions for DM (#1968)
* removed pill avatar

* completion suggestion service shows @room as first and only if not a DM

* code improvement
2023-10-27 09:29:20 +02:00
Nicolas Mauri
af9e245e79 Add some logs to allow debugging of voice messages in rageshake (#1967) 2023-10-26 17:22:41 +02:00
Nicolas Mauri
d07532da6f Fix: Always detach voice message audio player state before playing another one (#1965) 2023-10-26 14:12:21 +02:00
Alfonso Grillo
d79a0d42b5 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
Nicolas Mauri
2543a98bbd Fix: Voice recording tooltip location (#1961)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-25 19:30:41 +00:00
Mauro
cbb68d2ae9 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
Nicolas Mauri
9cfe65cb03 Remove the border around the voice message composer (#1962) 2023-10-25 17:07:59 +00:00
Mauro
8754cee368 Replies now display mentions with @displayname (#1957)
* reply with mentions

* fixed a bug and wrote a test for it

* error message
2023-10-25 18:39:18 +02:00
Nicolas Mauri
4ae4f35e0c Fix: do not hide keyboard when recording a voice message (#1958) 2023-10-25 15:39:57 +00:00
Doug
8ac2829cd0 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
0b5d03ffb0 Add a progress indicator to voice message preview (#1956) 2023-10-25 10:27:00 +00:00
Mauro
9ed8cdd908 Suggestions view design improvements (#1955)
* snapshot tests

* making the padding of the composer internal

* setting the max width using the line fragment

* setting the max width using the line fragment

* Update ElementX/Sources/Screens/ComposerToolbar/View/CompletionSuggestionView.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* updated tests and pr suggestions

* better stencil

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-24 19:09:36 +02:00
Nicolas Mauri
ec78d43acd Fix playback and recording of voice messages (#1948) 2023-10-24 16:49:42 +00:00
Stefan Ceriu
2f5ffd43f8 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
Alfonso Grillo
082df683ee Update permission alerts (#1953)
* Update system alerts

* Update localisations

* Update localizations
2023-10-24 14:57:27 +00:00
Stefan Ceriu
dc2160017c Bump the RustSDK to v1.1.26, adopt the new room hasActiveRoomCall state property 2023-10-24 16:23:14 +03:00
Alfonso Grillo
423ff3d2e0 Voice message loader & error handling when sending (#1945)
* Add loader & error handling

* Refactor PlainButtonStyle() -> .plain
2023-10-24 13:20:16 +00:00
Mauro
9299bfde13 Fix Suggestion Pattern when text is empty (#1943)
* fix + debounce improvement

* comment

* improved existing function to be more generic
2023-10-23 17:52:10 +02:00
Nicolas Mauri
54be55e4af Allow to record a voice message (#1926) 2023-10-23 15:47:36 +00:00
Doug
8b72c8ff32 Add AppLockSetupBiometricsScreen. (#1942) 2023-10-23 16:18:25 +01:00
Stefan Ceriu
f7b437d639 Switch ElementCall's base URL to .dev 2023-10-23 18:18:03 +03:00
Mauro
a1146b75d5 new pill view color and size (#1933) 2023-10-23 16:55:04 +02:00
Alfonso Grillo
0bd6bbbef4 Fix EstimatedWaveform amplitudes (#1939)
* Fix range

* Add data range & cleanup

* Fix preview tests
2023-10-23 14:42:56 +00:00
Doug
6fc467f3aa Revert the OIDC callback to use a custom scheme for now. (#1937)
Universal links are still slightly unreliable. We need to host a page at the redirect location so that if universal link detection fails we can fall back to opening the app using the scheme.
2023-10-23 09:32:59 +00:00
Doug
d3c8af5a87 Add AppLockSetupPINScreen. (#1930) 2023-10-23 09:07:13 +00:00
Doug
b6ba38cb19 Implement AppLockScreen as per the designs. (#1925)
Fix a bug in the unlock flow
2023-10-20 17:35:57 +01:00
Stefan Ceriu
7e77c2ffad Bump the RustSDK to v1.1.25 2023-10-20 16:59:27 +03:00
Mauro
04cce54c40 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
5e59c95594 Prevent AttributeGraph crashes, replace generated settings with badge icon with standalone asset 2023-10-20 14:11:37 +03:00
Stefan Ceriu
1fe4244fe0 #1899, #1900, #1901 - Implement chat backup setting screens 2023-10-19 15:34:10 +03:00
Doug
abb824a951 Add App Lock settings screen (#1917) 2023-10-19 12:26:34 +01:00
Doug
92b19813f7 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
c6f90e611d 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
Mauro Romito
17baa9fb7a restoring a test name 2023-10-18 16:01:03 +02:00
Mauro Romito
4cf7621f7e reverting some of the performance improvements 2023-10-18 13:37:10 +02:00
Stefan Ceriu
af3d7f66d7 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
64f5122d32 Add UI to record a voice message from the composer toolbar (#1892) 2023-10-16 15:18:51 +00:00
Mauro
863ea5d385 Pill Performance Improvement part 3 (#1908)
* pill performance improvement

* code improvement

* better doc
2023-10-16 16:43:35 +02:00
Alfonso Grillo
920f9cca6c Enable voiceover in timeline menu (#1907) 2023-10-16 14:00:36 +00:00
Velin92
5862736c89 Translations update 2023-10-16 11:08:37 +02:00
Mauro
86d976f4c0 Pill View rendering, performance improvement part 2 (#1894)
* improvdement

* code improvement
2023-10-16 11:08:03 +02:00