You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+69
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,72 @@
1
+
Changes in Element X v0.7.5 (2024-12-06)
2
+
========================================
3
+
4
+
## What's Changed
5
+
### ✨ Features
6
+
* Allow to set caption when uploading file and audio files, and allow adding / edit / remove caption on Event with attachment (also works on local echo) by @bmarty in https://github.com/element-hq/element-x-android/pull/3902
7
+
* Enable all notification actions: quick reply, accept/decline invite, mark as read from notification. by @bmarty in https://github.com/element-hq/element-x-android/pull/3916
8
+
* Video player controller by @bmarty in https://github.com/element-hq/element-x-android/pull/3959
9
+
### 🙌 Improvements
10
+
* change : confirm biometric before allowing biometric unlock. by @ganfra in https://github.com/element-hq/element-x-android/pull/3930
11
+
* Hide media preprocessing by @bmarty in https://github.com/element-hq/element-x-android/pull/3943
12
+
* changes: iterate on room create screen by @ganfra in https://github.com/element-hq/element-x-android/pull/3966
13
+
* change : knock message supporting text display number of characters by @ganfra in https://github.com/element-hq/element-x-android/pull/3970
14
+
* feat(design) : update send button background by @ganfra in https://github.com/element-hq/element-x-android/pull/4000
15
+
### 🐛 Bugfixes
16
+
* Min size for hidden media by @bmarty in https://github.com/element-hq/element-x-android/pull/3906
17
+
* fix : use RoomMembershipObserver to close room screen when leaving by @ganfra in https://github.com/element-hq/element-x-android/pull/3887
18
+
* fix : protect some usages of client to avoid crashes by @bmarty in https://github.com/element-hq/element-x-android/pull/3886
19
+
* Fix long click not working on pinned events timeline by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3940
20
+
* Element Call: display error dialog only when loading the main URL by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3962
21
+
* Fix navigation issue when entering recovery key after navigating from the banner by @bmarty in https://github.com/element-hq/element-x-android/pull/3961
22
+
* navigation : clear backstack when opening room from outer node by @ganfra in https://github.com/element-hq/element-x-android/pull/3984
23
+
* fix : hide keyboard when TextComposer is removed from composition by @ganfra in https://github.com/element-hq/element-x-android/pull/3985
24
+
* fix(room_preview) : catch all exception instead by @ganfra in https://github.com/element-hq/element-x-android/pull/3989
25
+
* fix(room_detail) : hide room avatar preview by @ganfra in https://github.com/element-hq/element-x-android/pull/3992
26
+
* fix(composer) : use HideKeyboardWhenDisposed only in MessagesView by @ganfra in https://github.com/element-hq/element-x-android/pull/3993
27
+
### 🗣 Translations
28
+
* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3936
29
+
* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3975
30
+
### Dependency upgrades
31
+
* Update dependency io.sentry:sentry-android to v7.18.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3891
32
+
* Update plugin sonarqube to v6 - autoclosed by @renovate in https://github.com/element-hq/element-x-android/pull/3895
33
+
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.64 by @renovate in https://github.com/element-hq/element-x-android/pull/3907
34
+
* Update dependency com.autonomousapps.dependency-analysis to v2.5.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3909
35
+
* Update dependency org.robolectric:robolectric to v4.14.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3924
36
+
* Update dependency io.element.android:compound-android to v0.2.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3915
37
+
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.65 by @renovate in https://github.com/element-hq/element-x-android/pull/3932
38
+
* Update media3 to v1.5.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3942
39
+
* Update plugin ktlint to v12.1.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3944
40
+
* Update wysiwyg to v2.37.14 by @renovate in https://github.com/element-hq/element-x-android/pull/3948
41
+
* Update mobile-dev-inc/action-maestro-cloud action to v1.9.7 by @renovate in https://github.com/element-hq/element-x-android/pull/3914
42
+
* Update dependency com.lemonappdev:konsist to v0.17.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3947
43
+
* deps : update rust sdk to 0.2.67 and fix breaking changes by @ganfra in https://github.com/element-hq/element-x-android/pull/3957
44
+
* Update dependency com.lemonappdev:konsist to v0.17.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3983
45
+
* Update plugin sonarqube to v6.0.1.5171 by @renovate in https://github.com/element-hq/element-x-android/pull/3958
46
+
* Update dagger to v2.53 by @renovate in https://github.com/element-hq/element-x-android/pull/3986
47
+
* Update dependency com.sigpwned:emoji4j-core to v16 by @renovate in https://github.com/element-hq/element-x-android/pull/3899
48
+
* dependencies : update rust sdk to 0.2.68 by @ganfra in https://github.com/element-hq/element-x-android/pull/3988
49
+
* Update plugin dependencycheck to v11.1.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3994
50
+
* chore(dependencies) : update rust sdk to 0.2.69 by @ganfra in https://github.com/element-hq/element-x-android/pull/3999
51
+
### Others
52
+
* Send button iteration by @bmarty in https://github.com/element-hq/element-x-android/pull/3901
53
+
* Fix photo / video name by @bmarty in https://github.com/element-hq/element-x-android/pull/3903
54
+
* Render edited caption. by @bmarty in https://github.com/element-hq/element-x-android/pull/3904
55
+
* Rely on the SDK to decide if a caption is editable or not by @bmarty in https://github.com/element-hq/element-x-android/pull/3917
56
+
* Remove AttachmentsState and use the MessagesNavigator by @bmarty in https://github.com/element-hq/element-x-android/pull/3918
57
+
* Fix element call crash when resuming from notification by @bmarty in https://github.com/element-hq/element-x-android/pull/3926
58
+
* Ensure that the SDK is syncing during an incoming call so that the app can cancel the notification by @bmarty in https://github.com/element-hq/element-x-android/pull/3931
59
+
* Add feature flag to temporary disable sending caption by default in production by @bmarty in https://github.com/element-hq/element-x-android/pull/3953
60
+
* Add timeline action item to copy caption by @bmarty in https://github.com/element-hq/element-x-android/pull/3963
61
+
* Fix wrong name of classes and method by @bmarty in https://github.com/element-hq/element-x-android/pull/3971
62
+
* Rework on media module by @bmarty in https://github.com/element-hq/element-x-android/pull/3967
63
+
* Add warning when adding a caption. by @bmarty in https://github.com/element-hq/element-x-android/pull/3977
64
+
* Do not auto-play videos. by @bmarty in https://github.com/element-hq/element-x-android/pull/3978
65
+
* MediaViewer: iterate on design by @bmarty in https://github.com/element-hq/element-x-android/pull/3979
66
+
* feat(crypto): Support new expected UTD causes UX + Analytics by @BillCarsonFr in https://github.com/element-hq/element-x-android/pull/3980
67
+
* increase ringing timeout from 15 seconds to 90 seconds by @fkwp in https://github.com/element-hq/element-x-android/pull/3991
68
+
* MediaViewer: Align title to left and move action bottom to top bar. by @bmarty in https://github.com/element-hq/element-x-android/pull/4003
Copy file name to clipboardExpand all lines: README.md
+6-3
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ Element X Android supports many languages. You can help us to translate the app
59
59
60
60
Note that for now, we keep control on the French and German translations.
61
61
62
-
Translations can be checked screen per screen using our tool Element X Android Gallery, available at https://element-hq.github.io/element-x-android/. Note that this page is updated every Tuesday.
62
+
Translations can be checked screen per screen using our tool Element X Android Gallery, available at https://element-hq.github.io/element-x-android/. Note that this page is updated every Tuesday.
63
63
64
64
More instructions about translating the application can be found at [CONTRIBUTING.md](CONTRIBUTING.md#strings).
65
65
@@ -83,8 +83,11 @@ You can also come chat with the community in the Matrix [room](https://matrix.to
83
83
84
84
## Build instructions
85
85
86
-
Just clone the project and open it in Android Studio.
87
-
Makes sure to select the `app` configuration when building (as we also have sample apps in the project).
86
+
Just clone the project and open it in Android Studio. Make sure to select the
87
+
`app` configuration when building (as we also have sample apps in the project).
88
+
89
+
To build against a local copy of the Rust SDK, see the [Developer
Copy file name to clipboardExpand all lines: docs/_developer_onboarding.md
+39-37
Original file line number
Diff line number
Diff line change
@@ -102,8 +102,8 @@ From these kotlin bindings we can generate native libs (.so files) and kotlin cl
102
102
103
103
#### Matrix Rust Component Kotlin
104
104
105
-
To use these bindings in an android project, we need to wrap this up into an android library (as the form of an .aar file).
106
-
This is the goal of https://github.com/matrix-org/matrix-rust-components-kotlin.
105
+
To use these bindings in an android project, we need to wrap this up into an android library (as the form of an .aar file).
106
+
This is the goal of https://github.com/matrix-org/matrix-rust-components-kotlin.
107
107
This repository is used for distributing kotlin releases of the Matrix Rust SDK.
108
108
It'll provide the corresponding aar and also publish them on maven.
109
109
@@ -117,41 +117,43 @@ You can also have access to the aars through the [release](https://github.com/ma
117
117
118
118
#### Build the SDK locally
119
119
120
-
Easiest way: run the script [../tools/sdk/build_rust_sdk.sh](../tools/sdk/build_rust_sdk.sh) and just answer the questions.
121
-
122
-
Legacy way:
123
-
124
-
If you need to locally build the sdk-android you can use
125
-
the [build](https://github.com/matrix-org/matrix-rust-components-kotlin/blob/main/scripts/build.sh) script.
126
-
127
-
For this please check the [prerequisites](https://github.com/matrix-org/matrix-rust-components-kotlin/blob/main/README.md#prerequisites) from the repo.
128
-
129
-
Checkout both [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk) and [matrix-rust-components-kotlin](https://github.com/matrix-org/matrix-rust-components-kotlin) repositories
Then you can launch the build script from the matrix-rust-components-kotlin repository with the following params:
136
-
137
-
-`-p` Local path to the rust-sdk repository
138
-
-`-o` Optional output path with the expected name of the aar file. By default the aar will be located in the corresponding build/outputs/aar directory.
139
-
-`-r` Flag to build in release mode
140
-
-`-m` Option to select the gradle module to build. Default is sdk.
141
-
-`-t` Option to to select an android target to build against. Default will build for all targets.
142
-
143
-
So for example to build the sdk against aarch64-linux-android target and copy the generated aar to Element X project:
* Depending on the location of the Android SDK, you may need to set
138
+
`ANDROID_HOME`:
139
+
```
140
+
export ANDROID_HOME=$HOME/android/sdk
141
+
```
142
+
143
+
You can then build the Rust SDK by running the script
144
+
[`tools/sdk/build_rust_sdk.sh`](../tools/sdk/build_rust_sdk.sh) and just answering
145
+
the questions.
146
+
147
+
This will prompt you for the path to the Rust SDK, then build it and
148
+
`matrix-rust-components-kotlin`, eventually producing an aar file at
149
+
`./libraries/rustsdk/matrix-rust-sdk.aar`, which will be picked up
150
+
automatically by the Element X Android build.
148
151
149
152
Troubleshooting:
150
153
- You may need to set `ANDROID_NDK_HOME` e.g `export ANDROID_NDK_HOME=~/Library/Android/sdk/ndk`.
151
154
- If you get the error `thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', .cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-ndk-2.11.0/src/cli.rs:345:18` try updating your Cargo NDK version. In this case, 2.11.0 is too old so `cargo install cargo-ndk` to install a newer version.
152
-
- If you get the error `Unsupported class file major version 64` try changing your JVM version. In this case, Java 20 is not supported in Gradle yet, so downgrade to an earlier version (Java 17 worked in this case).
153
-
154
-
You are good to test your local rust development now!
155
+
- If you get the error `Unsupported class file major version <n>`, try changing your JVM version by setting
156
+
`JAVA_HOME` and, if building via Android Studio, "File | Settings | Build, Execution, Deployment | Build Tools | Gradle | Gradle JDK".
155
157
156
158
### The Android project
157
159
@@ -262,7 +264,7 @@ Here are the main points:
262
264
263
265
#### Template and naming
264
266
265
-
This documentation provides you with the steps to install and use the AS plugin for generating modules in your project.
267
+
This documentation provides you with the steps to install and use the AS plugin for generating modules in your project.
266
268
The plugin and templates will help you quickly create new features with a standardized structure.
267
269
268
270
A. Installation
@@ -276,7 +278,7 @@ Follow these steps to install and configure the plugin and templates:
276
278
- Navigate to File/Manage IDE Settings/Import Settings
- Navigate to AS/Settings/Tools/Module Template Settings
281
283
- Click on + / Import From File
282
284
- Pick the `tools/templates/FeatureModule.json`
@@ -296,9 +298,9 @@ Example for a new feature called RoomDetails:
296
298
5. The modules api/impl should be created under `features/roomdetails` directory.
297
299
6. Sync project with Gradle so the modules are recognized (no need to add them to settings.gradle).
298
300
7. You can now add more Presentation classes (Events, State, StateProvider, View, Presenter) in the impl module with the `Template Presentation Classes`.
299
-
To use it, just right click on the package where you want to generate classes, and click on `Template Presentation Classes`.
301
+
To use it, just right click on the package where you want to generate classes, and click on `Template Presentation Classes`.
300
302
Fill the text field with the base name of the classes, ie `RootRoomDetails` in the `root` package.
301
-
303
+
302
304
303
305
Note that naming of files and classes is important, since those names are used to set up code coverage rules. For instance, presenters MUST have a
304
306
suffix `Presenter`,states MUST have a suffix `State`, etc. Also we want to have a common naming along all the modules.
0 commit comments