Commit graph

218 commits

Author SHA1 Message Date
Jorge Martin Espinosa
355ee95964
[Element Call] Keep MatrixClient alive while the call is working (#1695)
* Element Call: keep MatrixClient alive to get event updates
2023-10-31 16:58:33 +01:00
Benoit Marty
90b377b3a5 Secure Storage: improve API for waitForBackupUploadSteadyState() 2023-10-30 20:16:18 +01:00
Marco Romano
0e4141863b
Always treat waveform as List<Float> (#1663)
[MSC3246](https://github.com/matrix-org/matrix-spec-proposals/pull/3246) specifies the waveform as a list of ints because:

> Because floating point numbers are not allowed in Matrix events

Though DSP on audio data is almost always done using their floating point representation.
This PR brings the float<->int rescaling in the `matrix` module so that the application code can always work with float waveform samples.
2023-10-27 12:49:58 +00:00
Jorge Martin Espinosa
44de6adb86
Initial support for member suggestions (#1631)
* Initial support for member suggestion (search and UI)

* Add custom `BottomSheetScaffold` implementation to workaround several scrolling bugs

* Start searching as soon as `@` is typed, add UI following initial designs

* Extract suggestion processing code

* Extract component, add previews, fix tests

* Add tests

* Add exception from kover to the forked bottom sheet code

* Add a feature flag for mentions

- Extract composer & mention suggestions to their composable.
- Extract mentions suggestions processing to its own class.
- Add `MatrixRoom.canTriggerRoomNotification` function.
- Update strings and conditions for displaying the `@room` mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 10:26:40 +00:00
Benoit Marty
3a15b92eb6 SecureBackup: update matrix sdk module. 2023-10-26 18:02:34 +02:00
Jorge Martin Espinosa
030e86f56b
Update the chat screen UI using RoomInfo. (#1640)
* Update the chat screen UI using `RoomInfo`.

This is specially useful for getting live values for `hasRoomCall`.

* Ensure the first `MatrixRoomInfo` is emitted ASAP

* Try excluding `*Present$present$*` inner functions from kover as separate entities

* Update strings

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-26 14:27:42 +00:00
Marco Romano
7d1b671426
Refactor of voice message playing code (#1643)
After PR review suggestions from @jonnyandrew 
User facing functionality doesn't change, but overall architecture and testing is better.
2023-10-26 12:51:12 +02:00
David Langley
75e95333a8 Unit and Snapshot tests for error and loading states. 2023-10-24 21:39:53 +01:00
David Langley
4784235f8d
Merge branch 'develop' into dla/feature/custom_room_notification_settings_list 2023-10-24 17:20:15 +01:00
Benoit Marty
b4cc11ec1e Test coverage: Add test on DefaultNavigationStateService 2023-10-24 17:17:15 +02:00
Jorge Martin Espinosa
46f78ef700
Integrate Element Call with widget API (#1581)
* Integrate Element Call with widget API.

- Add `appconfig` module and extract constants that can be overridden in forks there.
- Add an Element Call feature flag, disabled by default.
- Refactor the whole `ElementCallActivity`, move most logic out of it.
- Integrate with the Rust Widget Driver API (note the Rust SDK version used in this PR lacks some needed changes to make the calls actually work).
- Handle calls differently based on `CallType`.
- Add UI to create/join a call.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-19 15:38:43 +00:00
David Langley
7505ac8eda Fix tests and lint 2023-10-19 16:17:57 +01:00
David Langley
87b8bfe99d Merge branch 'develop' of https://github.com/vector-im/element-x-android into dla/feature/custom_room_notification_settings_list 2023-10-18 22:07:14 +01:00
David Langley
895a5332f2 Add tests 2023-10-17 16:08:35 +01:00
renovate[bot]
054d0a7145
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.62 (#1562)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.62
* Add `sendVoiceMessage()` API from https://github.com/matrix-org/matrix-rust-sdk/pull/2697
* Fix other breaking changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
2023-10-13 08:19:30 +00:00
Benoit Marty
124d6bf95f SignedOut mode - WIP 2023-10-10 10:20:31 +02:00
Benoit Marty
34d05e01eb Fetch edited event in advanced (similar to reply mode). 2023-10-04 17:38:17 +02:00
Benoit Marty
de39179b9d
Merge pull request #1465 from vector-im/feature/bma/codeCoverage
Improve code coverage
2023-10-02 10:18:31 +02:00
Benoit Marty
37249261e1 Add test for MatrixClientsHolder 2023-09-29 15:34:02 +02:00
ganfra
74735605e4 Room : makes subscribeToSync/unsubscribeFromSync suspendable and makes sure we keep subscription count 2023-09-28 20:16:19 +02:00
Benoit Marty
c9c7af6e06 Simplify the management of inReplyToEventTimelineItem 2023-09-27 11:31:12 +02:00
Benoit Marty
a192a8823f Ensure getEventTimelineItemByEventId is called when we enter in reply mode. 2023-09-27 10:48:31 +02:00
Marco Romano
e4c78a2489
Properly format lastMessage when it belongs to a poll. (#1387)
Takes care of properly formatting a room's last message when it belongs to a poll.

NB: Polls still aren't exposed as a room's `last_message` from the rust SDK, so this code won't actually run yet. This will happen after integrating rust SDK version 0.1.57 which includes: https://github.com/matrix-org/matrix-rust-sdk/pull/2580
2023-09-21 15:20:15 +02:00
David Langley
6497d2184f Add test. 2023-09-18 16:03:30 +01:00
David Langley
bc29a31986
Merge branch 'develop' into dla/feature/room_list_decoration 2023-09-18 10:34:32 +01:00
Benoit Marty
27e567e6f4 Fix the test. 2023-09-15 19:24:43 +02:00
Jorge Martín
98bb91cd27 Create tests 2023-09-15 17:26:39 +02:00
David Langley
9a234a875c Merge branch 'develop' of https://github.com/vector-im/element-x-android into dla/feature/room_list_decoration 2023-09-14 19:30:02 +01:00
David Langley
7a7cc2692e Fix test compilation 2023-09-14 19:28:56 +01:00
ganfra
239730702d
Merge pull request #1298 from vector-im/feature/fga/timeline_thread_decoration
Feature/fga/timeline thread decoration
2023-09-14 18:45:33 +02:00
ganfra
cc33e39dc6
Merge branch 'develop' into feature/fga/timeline_thread_decoration 2023-09-14 16:57:20 +02:00
Benoit Marty
b4546118f9 Account management with OIDC: split account and session management. #1303 2023-09-14 16:38:13 +02:00
David Langley
0d53626077
Merge branch 'develop' into dla/feature/connect_sdk_to_global_notifications_ui 2023-09-13 13:00:11 +01:00
David Langley
1260272c33 Add tests, mocks and lint 2023-09-13 12:44:22 +01:00
ganfra
36fdf243cc Thread decoration: add and branch isThreaded method 2023-09-13 12:05:50 +02:00
jonnyandrew
8ab391f615
[Rich text editor] Add feature flag for rich text editor (#1289) 2023-09-13 08:17:02 +00:00
David Langley
c3fbac4678 Merge branch 'develop' of https://github.com/vector-im/element-x-android into dla/feature/connect_sdk_to_global_notifications_ui 2023-09-12 16:30:36 +01:00
David Langley
a0ac324e3f Implement Notification Settings
- Add UI and logic to inform the user of mismatched notification settings and help them correct it.
- Display a warning when the system notification settings are disabled and a link out to the app settings.
- A toggle to disable notifications for the device
- A screen for editing the group and direct chat notification defaults.
- A toggle for switching on/off atRoom and call notifications.
2023-09-12 01:11:13 +01:00
ganfra
555f706fbb Merge branch 'develop' into feature/fga/sync_indicator_api 2023-09-07 21:56:48 +02:00
jonnyandrew
f214493c9d
[Rich text editor] Integrate rich text editor library (#1172)
* Integrate rich text editor

* Also increase swapfile size in test CI

Fixes issue where screenshot tests are terminated due to lack of CI
resources.

See https://github.com/actions/runner-images/discussions/7188#discussioncomment-6750749

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-09-07 15:21:29 +00:00
ganfra
6f86fca2c2 Sync: use the new SyncIndicator api 2023-09-07 17:03:52 +02:00
Yoan Pintas
4a5a01d710
Add room notification settings (#807)
* Add room notification settings

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: David Langley <langley.dave@gmail.com>
2023-09-07 10:24:34 +02:00
Benoit Marty
128c4a7b09
SDK 0.1.49: notification decryption is now fully handled by the Rust SDK. (#1231)
* Revert "Ensure the sync is started when receiving a Push, to ensure that the encryption loop is running."

This reverts commit 82f6f358a7.

* Integrate SDK from https://github.com/matrix-org/matrix-rust-sdk/pull/2505

* Enable retryDecryption() on the NotificationClient.

* SDK 0.1.49 - Encryption Sync is enabled by default now, and retryDecryption is the default too.

* Remove feature flag `UseEncryptionSync`

* Fix sample project build

* Exclude `DeveloperSettingsPresenter` from kover verification.

* Add changelog

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2023-09-06 11:33:36 +02:00
Benoit Marty
82f6f358a7 Ensure the sync is started when receiving a Push, to ensure that the encryption loop is running.
Fixes notification with endecrypted content (#1178)
2023-09-04 12:50:37 +02:00
David Langley
ccd5f6aaa2
Merge branch 'develop' into yostyle/notifications_global_settings 2023-08-30 16:55:35 +01:00
Marco Romano
51bb7febd6
Upgrade rust sdk to v48 (#1186)
- Sends content instead of string in message reply and edit
- Adds poll response and end APIs
- Adds logoUri to OidcConfiguration
2023-08-30 14:31:37 +00:00
David Langley
5e2ec8b504 Merge branch 'develop' of https://github.com/vector-im/element-x-android into yostyle/notifications_global_settings 2023-08-30 15:02:59 +01:00
Florian Renaud
9c6a5bed54 Add unit tests for TimelineItemContentPollFactory 2023-08-29 16:00:18 +02:00
Jorge Martín
4b0f9213d3 Fix lint issues 2023-08-24 15:58:23 +02:00
yostyle
85dd36a681 Update notification settings service interface to match rust SDK 2023-08-24 15:58:22 +02:00