Commit Graph

227 Commits

Author SHA1 Message Date
Benoit Marty
fc7898ca36 Add tests for NotifiableEventResolver 2023-11-23 17:36:23 +01:00
ganfra
d04b26365d RoomList : rework a bit the api and make usage of entriesWithDynamicAdapters 2023-11-22 18:06:19 +01:00
Jorge Martin Espinosa
a52d78c3b3 Add intentional mentions (#1843)
* Add intentional mentions
2023-11-21 17:34:00 +01:00
Benoit Marty
71ef0c3c78 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
d33002aa7f SecureBackup: improve error flow when backup state cannot be retrieved, and add tests. 2023-11-20 10:00:21 +01:00
Benoit Marty
3c79390e45 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
3d2d0bff6a Read receipts: mapping 2023-11-16 14:05:00 +01:00
Benoit Marty
968a4d3fd0 Add a View to show the beginning of the timeline (parity with iOS) 2023-11-14 17:31:42 +01:00
Marco Romano
8f1b699271 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
f7f3925fc9 [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
29e1e9b316 Secure Storage: improve API for waitForBackupUploadSteadyState() 2023-10-30 20:16:18 +01:00
Marco Romano
1014380e32 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
0bd9c78836 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
b5ffa6eef3 SecureBackup: update matrix sdk module. 2023-10-26 18:02:34 +02:00
Jorge Martin Espinosa
c40a39bbfa 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
40e19349b5 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
241056b892 Unit and Snapshot tests for error and loading states. 2023-10-24 21:39:53 +01:00
David Langley
e388ea21b6 Merge branch 'develop' into dla/feature/custom_room_notification_settings_list 2023-10-24 17:20:15 +01:00
Benoit Marty
7ffcb39dd3 Test coverage: Add test on DefaultNavigationStateService 2023-10-24 17:17:15 +02:00
Jorge Martin Espinosa
5e547269e7 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
4b43168913 Fix tests and lint 2023-10-19 16:17:57 +01:00
David Langley
af4a1d3fd6 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
72e7d92571 Add tests 2023-10-17 16:08:35 +01:00
renovate[bot]
31d5e7395f 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
0b3fcecbed SignedOut mode - WIP 2023-10-10 10:20:31 +02:00
Benoit Marty
937e053d46 Fetch edited event in advanced (similar to reply mode). 2023-10-04 17:38:17 +02:00
Benoit Marty
cf4ad7649f Merge pull request #1465 from vector-im/feature/bma/codeCoverage
Improve code coverage
2023-10-02 10:18:31 +02:00
Benoit Marty
e47e9b12b0 Add test for MatrixClientsHolder 2023-09-29 15:34:02 +02:00
ganfra
e6b32163ee Room : makes subscribeToSync/unsubscribeFromSync suspendable and makes sure we keep subscription count 2023-09-28 20:16:19 +02:00
Benoit Marty
d32a7c6ddf Simplify the management of inReplyToEventTimelineItem 2023-09-27 11:31:12 +02:00
Benoit Marty
9d0e185d1c Ensure getEventTimelineItemByEventId is called when we enter in reply mode. 2023-09-27 10:48:31 +02:00
Marco Romano
837443c690 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
cebe099c7d Add test. 2023-09-18 16:03:30 +01:00
David Langley
8605673ca1 Merge branch 'develop' into dla/feature/room_list_decoration 2023-09-18 10:34:32 +01:00
Benoit Marty
1bbfad4a8f Fix the test. 2023-09-15 19:24:43 +02:00
Jorge Martín
19caf2e7a7 Create tests 2023-09-15 17:26:39 +02:00
David Langley
fc487ba9da 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
f0aaa56425 Fix test compilation 2023-09-14 19:28:56 +01:00
ganfra
54b290d630 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
b60b481ee0 Merge branch 'develop' into feature/fga/timeline_thread_decoration 2023-09-14 16:57:20 +02:00
Benoit Marty
51e663ffdc Account management with OIDC: split account and session management. #1303 2023-09-14 16:38:13 +02:00
David Langley
91cf00a3c4 Merge branch 'develop' into dla/feature/connect_sdk_to_global_notifications_ui 2023-09-13 13:00:11 +01:00
David Langley
ccd684ea40 Add tests, mocks and lint 2023-09-13 12:44:22 +01:00
ganfra
b6be989884 Thread decoration: add and branch isThreaded method 2023-09-13 12:05:50 +02:00
jonnyandrew
d5b01ac0b4 [Rich text editor] Add feature flag for rich text editor (#1289) 2023-09-13 08:17:02 +00:00
David Langley
7d95feadc1 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
2f6f28bfbb 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
b10932b2dd Merge branch 'develop' into feature/fga/sync_indicator_api 2023-09-07 21:56:48 +02:00
jonnyandrew
11c1fca92e [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
423c7d6444 Sync: use the new SyncIndicator api 2023-09-07 17:03:52 +02:00