Commit graph

227 commits

Author SHA1 Message Date
Benoit Marty
ec459165db Add tests for NotifiableEventResolver 2023-11-23 17:36:23 +01:00
ganfra
0fb4eb005c RoomList : rework a bit the api and make usage of entriesWithDynamicAdapters 2023-11-22 18:06:19 +01:00
Jorge Martin Espinosa
97e9528e13
Add intentional mentions (#1843)
* Add intentional mentions
2023-11-21 17:34:00 +01:00
Benoit Marty
004804a7c8
Merge pull request #1834 from vector-im/feature/bma/readReceipts
Render send state and read receipts
2023-11-20 14:39:13 +01:00
Benoit Marty
c07a032157 SecureBackup: improve error flow when backup state cannot be retrieved, and add tests. 2023-11-20 10:00:21 +01:00
Benoit Marty
d352f14665 BackupState.DISABLED has been removed. Now when the value is UNKNOWN, the app need to invoke EncryptionService.doesBackupExistOnServer() to check if a Backup exists. 2023-11-17 17:32:14 +01:00
Benoit Marty
1b9e6ae71e Read receipts: mapping 2023-11-16 14:05:00 +01:00
Benoit Marty
2cb0060f96 Add a View to show the beginning of the timeline (parity with iOS) 2023-11-14 17:31:42 +01:00
Marco Romano
b83d8733e2
Don't leak MediaFileHandle when downloading voice messages (#1748)
Uses the new `MediaFile.persist()` [API](https://github.com/matrix-org/matrix-rust-sdk/pull/2789) to cache voice messages.
This allows to close the `MediaFile` handle after use and keeping the file.
Also disables rust sdk caching for voice messages as we'll use the app's cache dir for that purpose.

Fixes: https://github.com/vector-im/element-meta/issues/2175
2023-11-09 14:15:11 +00:00
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