Commit graph

443 commits

Author SHA1 Message Date
Benoit Marty
f44a4a3a31 Fix AlsoCouldBeApply issue. 2023-12-04 18:07:04 +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
1779e53e93 Let RustNotificationSettingsService handle the lifecycle of notificationSettings, and call setDelegate(null) 2023-12-04 17:50:21 +01:00
Benoit Marty
ef2de28ac6
Merge pull request #1942 from vector-im/renovate/org.matrix.rustcomponents-sdk-android-0.x
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.73
2023-12-01 17:49:20 +01:00
Benoit Marty
5ae5f994eb Fix compilation issue 2023-12-01 15:29:45 +01:00
Benoit Marty
b7361f2b48
Merge pull request #1925 from vector-im/feature/bma/testAndroidMediaPreProcessor
Feature/bma/test android media pre processor
2023-12-01 13:53:55 +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
Benoit Marty
a7d78cae78 Remove useless suspend modifier 2023-11-29 17:03:27 +01: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
Jorge Martin Espinosa
ab8402a4dc
Open room member avatar in a media viewer (#1911)
* Open room member avatar in viewer.

The `MediaViewer` was extracted to its own library module.

* Update screenshots

* Restore KSP processor in `:libraries:mediaviewer:api`, this should generate Showkase components again.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-28 17:39:41 +00:00
Benoit Marty
9059126b2e Use kotlin.time.Duration instead of java.time.Duration. Also use Duration in TimelineItemVideoContent, like in TimelineItemAudioContent and TimelineItemVoiceContent 2023-11-27 21:58:58 +01: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
ganfra
656fcbd5e4 Fix see room in room list after leaving it #1006 2023-11-24 12:03:37 +01:00
Benoit Marty
68463c2e0c Remove UnknownMessageType, should be handled by OtherMessageType now. 2023-11-23 20:18:53 +01:00
ganfra
40efe4844e
Merge pull request #1865 from vector-im/feature/fga/room_list_dynamic_api
RoomList : rework a bit the api and make usage of entriesWithDynamicAdapter
2023-11-23 12:07:55 +01:00
Jorge Martin Espinosa
d413aa1ee3
Add plain text representation of messages (#1850)
* Add plain text representation of messages.

This is used in the room list as the last message in a room, in the message summary when a message is selected, in the 'replying to' block, in the 'replied to' block in a message in the timeline, and in notifications.
2023-11-23 08:29:20 +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
5d4313acea
Merge pull request #1832 from vector-im/renovate/org.matrix.rustcomponents-sdk-android-0.x
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.68
2023-11-20 14:00:23 +01:00
Benoit Marty
58012268f4
Merge branch 'develop' into feature/bma/readReceipts 2023-11-20 12:15:32 +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
589eeb4a51 Fix wrong list used when forwarding an Event to some rooms fails. 2023-11-16 17:54:22 +01:00
ganfra
d36943cc41 Suppress usage of removeTimeline method (#1824) 2023-11-16 14:11:00 +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
Jorge Martin Espinosa
d648f85d75
Add active call icon to room list summaries (#1792)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-13 15:35:11 +00:00
Marco Romano
58e05d139c
Always ensure media temp dir exists (#1790)
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
 
## Type of change

- [ ] Feature
- [x] Bugfix
- [ ] Technical
- [ ] Other :

## Content

`RustMediaLoader` creates the "${cacheDir}/temp/media" dir only once at class creation. Unfortunately when clearing an app's cache this directory will be deleted and the app's process won't be killed, so subsequent usages of the same instance of `RustMediaLoader` will not work because `cacheDirectory` does not exists. This fix makes sure that such directory is always checked and created if needed.

## Motivation and context

Fixes https://github.com/vector-im/element-x-android/issues/1788

## Screenshots / GIFs

<!--
We have screenshot tests in the project, so attaching screenshots to a PR is not mandatory, as far as there
is a Composable Preview covering the changes. In this case, the change will appear in the file diff.
Note that all the UI composables should be covered by a Composable Preview.

Providing a video of the change is still very useful for the reviewer and for the history of the project.

You can use a table like this to show screenshots comparison.
Uncomment this markdown table below and edit the last line `|||`:
|copy screenshot of before here|copy screenshot of after here|

|Before|After|
|-|-|
|||
 -->

## Tests

<!-- Explain how you tested your development -->

- Step 1
- Step 2
- Step ...

## Tested devices

- [ ] Physical
- [ ] Emulator
- OS version(s):

## Checklist

<!-- Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked. -->

- [ ] Changes have been tested on an Android device or Android emulator with API 23
- [ ] UI change has been tested on both light and dark themes
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md#accessibility
- [ ] Pull request is based on the develop branch
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md#changelog
- [ ] Pull request includes screenshots or videos if containing UI changes
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
- [ ] You've made a self review of your PR
2023-11-13 15:52:53 +01:00
Benoit Marty
5850f5342d Move Knit to Gradle catalog and use alias(libs.plugins.kotlin.serialization). Fix issue with JNA 2023-11-13 09:58:00 +01:00
Benoit Marty
67d58bac35 Move remaining hard-coded dependency to Gradle catalog. We had 2 different version of material3 library. 2023-11-10 16:56:04 +01:00
Benoit Marty
8819522423 Replace hard-coded value by value from gradle datalog 2023-11-10 16:25:58 +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
Benoit Marty
d85deaf785
Merge pull request #1769 from vector-im/feature/bma/chatBackupWaitingForSync
Ensure BackupState and RecoveryState values are set from the SDK only…
2023-11-09 09:21:51 +01:00
Benoit Marty
8e7075b920
Merge pull request #1770 from vector-im/feature/bma/noBannerIfKeyBackIsEnabled
Show full history if key backup is enabled.
2023-11-08 14:00:25 +01:00
renovate[bot]
9e66180d20
Update kotlin (#1697)
* Update kotlin

* Lower Sonar RAM usage, remove redundant `Dkotlin.daemon.jvm.options`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-08 12:58:14 +00:00
Benoit Marty
f64eb5218c Show full history if key backup is enabled. 2023-11-08 12:41:15 +01:00
Benoit Marty
348da6bec2 Ensure BackupState and RecoveryState values are set from the SDK only when the first sync is finished. 2023-11-08 11:33:02 +01:00
Jorge Martin Espinosa
52c9565ac8
Fix crash on logout (#1749) 2023-11-07 14:24:31 +01:00
renovate[bot]
74ccdf83f6
Update dependency org.matrix.rustcomponents:sdk-android to v0.1.67 (#1747)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.67

* Fix breaking change in `RustMediaLoader`.

* Fix breaking change in `DefaultCallWidgetSettingsProvider`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
2023-11-07 07:53:24 +00:00
Benoit Marty
a1b97fe99e Remove useless wrapping in lazy block, since the value was assigned later during object construction. 2023-11-02 16:14:21 +01:00
Benoit Marty
3e9710a0c1 Do not throw the exception. 2023-10-31 21:03:43 +01:00
Benoit Marty
2f62779ad4 Sign out: handle no network error. 2023-10-31 21:03:43 +01:00
Benoit Marty
4fb825b5cb TimelineEncryptedHistoryBannerView: render depend on verification and key backup state (#1576) 2023-10-31 21:03:43 +01:00
Benoit Marty
20d6383b8a Map new state BackupUploadState.Error 2023-10-31 21:03:43 +01:00