Commit graph

254 commits

Author SHA1 Message Date
Benoit Marty
f94f5e4713 Second attempt... 2023-12-20 14:33:16 +01:00
Benoit Marty
ee766ecf26 Providing a thumbnail when sending a media is now optional. 2023-12-19 10:41:44 +01:00
Benoit Marty
1b0a4093d9 Fix test which was passing for wrong reason. 2023-12-15 20:07:11 +01:00
Benoit Marty
8f286c8ce6
Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-14 17:34:49 +01:00
Jorge Martin Espinosa
d27e9e5265
Add warning message to 'mentions and keywords only' notification option (#2028)
* Add warning message to 'mentions and keywords only'

 It should be displayed when it's not supported by the homeserver

* Only display disclaimer in the room notification settings if the room is encrypted

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix test and add another one

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-12-14 16:15:39 +00:00
Benoit Marty
664e8b6d5b
Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-14 16:58:23 +01:00
ganfra
ac7dd355aa Fix test compilation again. 2023-12-14 16:08:22 +01:00
Benoit Marty
e725747ea3
Merge pull request #2015 from element-hq/feature/bma/asyncMedia
ReadReceipt
2023-12-14 16:03:09 +01:00
ganfra
5d37c66caf
Merge pull request #1897 from element-hq/jonny/timeline-poll-edited
Display edited indicator for polls in the timeline
2023-12-14 08:13:11 +01:00
Benoit Marty
36ccc1ccbd Fix API break regarding ReceiptType 2023-12-13 18:02:06 +01:00
ganfra
863d156e4d Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-13 17:22:55 +01:00
ganfra
6378f6cffe Poll history : add tests and fix others 2023-12-13 16:20:01 +01:00
ganfra
449c331879 Timeline: exposes simple request for backward pagination 2023-12-12 14:23:50 +01:00
Benoit Marty
cdec7048ac Update test. 2023-12-08 16:52:12 +01:00
Benoit Marty
e8e2e95e02 Follow SDK method renaming: fix_recovery_issues() got renamed to recover() 2023-12-05 17:40:47 +01:00
Benoit Marty
66ac1e271f Add notification setting to enable/disable being notified for room invite (#1944) 2023-12-04 17:50:21 +01:00
Benoit Marty
f6ec76b5ef
Merge branch 'develop' into jonny/timeline-poll-edited 2023-12-04 16:01:09 +01:00
ganfra
15d86c2981
Merge pull request #1938 from vector-im/feature/fga/user_detail_direct_chat
Feature/fga/user detail direct chat
2023-12-01 13:46:01 +01:00
ganfra
6cf2099b03
Merge pull request #1920 from vector-im/feature/fga/dynamic_room_list_incremental_load
RoomList: introduce incremental loading to improve performances.
2023-11-30 19:51:13 +01:00
ganfra
1921b4f18f Merge branch 'develop' into feature/fga/user_detail_direct_chat 2023-11-30 18:10:51 +01:00
ganfra
3efbf4747d StartDM : add tests 2023-11-30 18:05:26 +01:00
Jorge Martin Espinosa
2e8d5ac86a
Set a default power level to join calls in room (#1927)
* Set a default power level to join calls.

Also, create new rooms taking this power level into account.

* Modify test to make sure we display the disabled state even when there is an ongoing call

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-30 09:47:48 +00:00
Jorge Martin Espinosa
ba4d3a70c7
Try to make all collections used in Compose code immutable (#1922)
* Try to make all collections used in Compose code immutable.

Mark sealed interfaces as `@Immutable` too

* Add gradle code to check the compose compiler reports

* Fix some more unstable classes
2023-11-29 15:02:08 +00:00
ganfra
fda114d648 RoomList: introduce incremental loading to improve performances. 2023-11-29 11:53:15 +01:00
Marco Romano
6ea26dd6c4
Upgrade to rust sdk 0.1.71 (#1905)
https://github.com/matrix-org/matrix-rust-components-kotlin/releases/tag/sdk-v0.1.71

There are breaking changes as specified in: https://github.com/vector-im/element-x-android/issues/1898 plus the one related to the poll history feature.
2023-11-29 10:34:51 +01:00
jonnyandrew
583131de6a
Display edited poll indicator in the timeline 2023-11-27 13:14:00 +00:00
jonnyandrew
8fcec4a006
Allow polls to be edited (#1869)
Polls can be edited if they do not have any votes

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-24 16:47:58 +00:00
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