Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase against Element Android v1.6.22 #1109

Draft
wants to merge 37 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
7bdadaa
Merge branch 'release/1.6.20' into develop
ganfra Jul 25, 2024
04c3ba9
version++
ganfra Jul 25, 2024
9c53a09
Fix wrong PR number in changelog.
bmarty Aug 12, 2024
e1ccad5
Fix Weblate conflict.
bmarty Aug 13, 2024
fb10bd5
Remove login with QR code feature.
bmarty Aug 26, 2024
3ab588f
Changelog.
bmarty Aug 26, 2024
0baf670
Fix layout issue.
bmarty Aug 26, 2024
91d9668
More cleanup
bmarty Aug 26, 2024
76616b1
Merge pull request #8890 from element-hq/feature/bma/removeLegacyQrCo…
bmarty Aug 27, 2024
797a4f9
Add unit test on ScanEncryptorUtils.
bmarty Sep 10, 2024
9585262
Add test when a server public key is provided.
bmarty Sep 10, 2024
6a8e978
Merge pull request #8900 from element-hq/feature/bma/testScanEncrypto…
bmarty Sep 11, 2024
5908cd5
Remove dependency on libolm - WIP
bmarty Aug 26, 2024
15c86f3
Better cleanup of the Crypto database.
bmarty Aug 27, 2024
637a227
Remove old unused algorithm `m.secret_storage.v1.curve25519-aes-sha2`
bmarty Sep 10, 2024
fc68f1c
Remove todo and cleanup
bmarty Sep 10, 2024
355621b
Encrypt data for the content scanner using PkEncryption from the Rust…
bmarty Sep 11, 2024
8056285
New SDK: fix API break.
bmarty Sep 11, 2024
14a52d4
ScanEncryptorUtils.getDownloadBodyAndEncryptIfNeeded can throw, ensur…
bmarty Sep 12, 2024
9dcb7c8
Use local val and more compact code.
bmarty Sep 12, 2024
51c20b4
Fix quality issues.
bmarty Sep 12, 2024
f726d16
Fix wrong sha256 conversion and add unit test.
bmarty Sep 16, 2024
2ed0b4f
Update strings.xml
Erquint Sep 16, 2024
4aab1ad
Use Jitsi SDK 10.2.0
bmarty Sep 18, 2024
da94bb8
Fix typo in script name.
bmarty Sep 18, 2024
04a49e9
Merge pull request #8911 from element-hq/feature/bma/jitsi-10.2.0
bmarty Sep 19, 2024
9efb692
Bump org.matrix.rustcomponents:crypto-android from 0.4.1 to 0.4.3
dependabot[bot] Sep 18, 2024
f7195a8
Fix copyright issue.
bmarty Sep 20, 2024
e89bec4
use pkEncryption, to properly close it.
bmarty Sep 23, 2024
1ac5090
Merge pull request #8905 from Erquint/patch-1
bmarty Sep 23, 2024
ac01523
Merge pull request #8901 from element-hq/feature/bma/removeLibolm
bmarty Sep 23, 2024
af2cefe
Changelog for version 1.6.22
bmarty Sep 23, 2024
cfedc00
Adding fastlane file for version 1.6.22
bmarty Sep 23, 2024
9a4602b
Merge branch 'release/1.6.22' into main
bmarty Sep 23, 2024
c8ab88b
Merge element-hq/element-android v1.6.22 into element-rebase
yostyle Sep 26, 2024
1b813f5
Fix conflicts
yostyle Sep 26, 2024
fc3943b
Fix Element FS
yostyle Sep 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion ELEMENT_CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
Changes in Element v1.6.22 (2024-09-23)
=======================================

Important: this version removes the dependency of the deprecated libolm library.
Application installations that have not been updated to the first version with the migration (1.6.3 release at 2023-06-27) will not be able to migrate the account.
More details in ([#8901](https://github.com/element-hq/element-android/issues/8901))

Other changes
-------------
- Remove legacy QR code login. ([#8889](https://github.com/element-hq/element-android/issues/8889))


Changes in Element v1.6.20 (2024-07-25)
=======================================

Expand All @@ -13,7 +25,7 @@ Bugfixes 🐛
----------
- Fix redacted events not grouped correctly when hidden events are inserted between. ([#8840](https://github.com/element-hq/element-android/issues/8840))
- Element-Android session doesn't encrypt for a dehydrated device ([#8842](https://github.com/element-hq/element-android/issues/8842))
- Intercept only links from `element.io` well known hosts. The previous behaviour broke OIDC login in Element X. ([#8894](https://github.com/element-hq/element-android/issues/8894))
- Intercept only links from `element.io` well known hosts. The previous behaviour broke OIDC login in Element X. ([#8849](https://github.com/element-hq/element-android/issues/8849))

Other changes
-------------
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ allprojects {
}
// Jitsi repo
maven {
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/android-sdk-8.1.1"
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/mobile-sdk-10.2.0"
// Note: to test Jitsi release you can use a local file like this:
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-8.1.1"
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/mobile-sdk-10.2.0"
content {
groups.jitsi.regex.each { includeGroupByRegex it }
groups.jitsi.group.each { includeGroup it }
Expand Down
1 change: 1 addition & 0 deletions dependencies_groups.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ ext.groups = [
'com.facebook.flipper',
'com.facebook.fresco',
'com.facebook.infer.annotation',
'com.facebook.react',
'com.facebook.soloader',
'com.facebook.stetho',
'com.facebook.yoga',
Expand Down
18 changes: 6 additions & 12 deletions docs/jitsi.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,18 @@ The generated maven repository is then host in the project https://github.com/el

#### Jitsi version

Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`.
Update the script `./tools/jitsi/build_jitsi_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`.

Latest tag can be found from this page: https://github.com/jitsi/jitsi-meet-release-notes/blob/master/CHANGELOG-MOBILE-SDKS.md

Currently we are building the version with the tag `android-sdk-8.1.1`.
Currently we are building the version with the tag `mobile-sdk-10.2.0`.

#### Run the build script

At the root of the Element Android, run the following script:

```shell script
./tools/jitsi/build_jisti_libs.sh
./tools/jitsi/build_jitsi_libs.sh
```

It will build the Jitsi Meet Android library and put every generated files in the folder `/tmp/jitsi`
Expand All @@ -49,21 +49,15 @@ It will build the Jitsi Meet Android library and put every generated files in th
- Update the file `./build.gradle` to use the previously created local Maven repository. Currently we have this line:

```groovy
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/android-sdk-8.1.1"
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/mobile-sdk-10.2.0"
```

You can uncomment and update the line starting with `// url "file://...` and comment the line starting with `url`, to test the library using the locally generated Maven repository.

- Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line:

```groovy
api('org.jitsi.react:jitsi-meet-sdk:8.1.1')
```

- Update the dependency of the WebRTC library in the file `./vector/build.gradle`. Currently we have this line:

```groovy
implementation('com.facebook.react:react-native-webrtc:111.0.0-jitsi-13672566@aar')
api('org.jitsi.react:jitsi-meet-sdk:10.2.0')
```

- Perform a gradle sync and build the project
Expand All @@ -88,7 +82,7 @@ If all the tests are passed, you can export the generated Jitsi library to our M
- Update the file `./build.gradle` to use the previously created Maven repository. Currently we have this line:

```groovy
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/android-sdk-8.1.1"
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/mobile-sdk-10.2.0"
```

- Build the project and perform the sanity tests again.
Expand Down
2 changes: 2 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/40106220.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Main changes in this version: crypto sdk upgrade.
Full changelog: https://github.com/element-hq/element-android/releases
2 changes: 1 addition & 1 deletion library/ui-strings/src/main/res/values-fa/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2966,4 +2966,4 @@
\n%s</string>
<string name="create_room_unknown_users_dialog_submit">آغاز گپ به هر حال</string>
<string name="invite_unknown_users_dialog_submit">دعوت به هر حال</string>
</resources>
</resources>
2 changes: 1 addition & 1 deletion library/ui-strings/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2865,4 +2865,4 @@
<string name="room_polls_wait_for_display">显示投票</string>
<string name="rich_text_editor_quote">切换引用</string>
<string name="rich_text_editor_numbered_list">切换有序列表</string>
</resources>
</resources>
125 changes: 82 additions & 43 deletions library/ui-strings/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1175,9 +1175,9 @@

<!-- room settings : alias -->
<string name="room_settings_alias_title">Room addresses</string>
<string name="room_settings_alias_subtitle">See and managed addresses of this room, and its visibility in the room directory.</string>
<string name="room_settings_alias_subtitle">See and manage addresses of this room, and its visibility in the room directory.</string>
<string name="space_settings_alias_title">Space addresses</string>
<string name="space_settings_alias_subtitle">See and managed addresses of this space.</string>
<string name="space_settings_alias_subtitle">See and manage addresses of this space.</string>

<string name="room_alias_published_alias_title">Published Addresses</string>
<string name="room_alias_published_alias_subtitle">Published addresses can be used by anyone on any server to join your room. To publish an address, it needs to be set as a local address first.</string>
Expand Down Expand Up @@ -2229,7 +2229,8 @@
<string name="login_signin_matrix_id_password_notice">If you don’t know your password, go back to reset it.</string>
<string name="login_signin_matrix_id_error_invalid_matrix_id">This is not a valid user identifier. Expected format: \'@user:homeserver.org\'</string>
<string name="autodiscover_well_known_error">Unable to find a valid homeserver. Please check your identifier</string>
<string name="login_scan_qr_code">Scan QR code</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="login_scan_qr_code">Scan QR code</string>

<string name="seen_by">Seen by</string>

Expand Down Expand Up @@ -3474,9 +3475,10 @@
<string name="device_manager_session_rename_edit_hint">Session name</string>
<string name="device_manager_session_rename_description">Custom session names can help you recognize your devices more easily.</string>
<string name="device_manager_session_rename_warning">Please be aware that session names are also visible to people you communicate with.</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">Sign in with QR Code</string>
<string name="device_manager_sessions_sign_in_with_qr_code_description">You can use this device to sign in a mobile or web device with a QR code. There are two ways to do this:</string>

<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="device_manager_sessions_sign_in_with_qr_code_title">Sign in with QR Code</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="device_manager_sessions_sign_in_with_qr_code_description">You can use this device to sign in a mobile or web device with a QR code. There are two ways to do this:</string>
<string name="device_manager_learn_more_sessions_inactive_title">Inactive sessions</string>
<string name="device_manager_learn_more_sessions_inactive">Inactive sessions are sessions you have not used in some time, but they continue to receive encryption keys.\n\nRemoving inactive sessions improves security and performance, and makes it easier for you to identify if a new session is suspicious.</string>
<string name="device_manager_learn_more_sessions_unverified_title">Unverified sessions</string>
Expand Down Expand Up @@ -3514,45 +3516,82 @@
<string name="onboarding_new_app_layout_feedback_message">Tap top right to see the option to feedback.</string>
<string name="onboarding_new_app_layout_button_try">Try it out</string>

<string name="one">1</string>
<string name="two">2</string>
<string name="three">3</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="one">1</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="two">2</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="three">3</string>

<!-- QR Code Login -->
<string name="qr_code_login_header_scan_qr_code_title">Scan QR code</string>
<string name="qr_code_login_header_scan_qr_code_description">Use the camera on this device to scan the QR code shown on your other device:</string>
<string name="qr_code_login_header_show_qr_code_title">Sign in with QR code</string>
<string name="qr_code_login_header_show_qr_code_new_device_description">Use your signed in device to scan the QR code below:</string>
<string name="qr_code_login_header_show_qr_code_link_a_device_description">Scan the QR code below with your device that’s signed out.</string>
<string name="qr_code_login_header_connected_title">Secure connection established</string>
<string name="qr_code_login_header_connected_description">Check your signed in device, the code below should be displayed. Confirm that the code below matches with that device:</string>
<string name="qr_code_login_header_failed_title">Unsuccessful connection</string>
<string name="qr_code_login_header_failed_device_is_not_supported_description">Linking with this device is not supported.</string>
<string name="qr_code_login_header_failed_timeout_description">The linking wasn’t completed in the required time.</string>
<string name="qr_code_login_header_failed_denied_description">The request was denied on the other device.</string>
<string name="qr_code_login_header_failed_other_description">The request failed.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">A security issue was encountered setting up secure messaging. One of the following may be compromised: Your homeserver; Your internet connection(s); Your device(s);</string>
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">The other device is already signed in.</string>
<string name="qr_code_login_header_failed_other_device_not_signed_in_description">The other device must be signed in.</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">That QR code is invalid.</string>
<string name="qr_code_login_header_failed_user_cancelled_description">The sign in was cancelled on the other device.</string>
<string name="qr_code_login_header_failed_homeserver_is_not_supported_description">The homeserver doesn\'t support sign in with QR code.</string>
<string name="qr_code_login_new_device_instruction_1">Open the app on your other device</string>
<string name="qr_code_login_new_device_instruction_2">Go to Settings -> Security &amp; Privacy</string>
<string name="qr_code_login_new_device_instruction_3">Select \'Show QR code\'</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_1">Start at the sign in screen</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_2">Select \'Sign in with QR code\'</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_1">Start at the sign in screen</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_2">Select \'Scan QR code\'</string>
<string name="qr_code_login_show_qr_code_button">Show QR code in this device</string>
<string name="qr_code_login_signing_in_a_mobile_device">Signing in a mobile device?</string>
<string name="qr_code_login_scan_qr_code_button">Scan QR code</string>
<string name="qr_code_login_connecting_to_device">Connecting to device</string>
<string name="qr_code_login_signing_in">Signing you in</string>
<string name="qr_code_login_status_no_match">No match?</string>
<string name="qr_code_login_try_again">Try again</string>
<string name="qr_code_login_confirm_security_code">Confirm</string>
<string name="qr_code_login_confirm_security_code_description">Please ensure that you know the origin of this code. By linking devices, you will provide someone with full access to your account.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_scan_qr_code_title">Scan QR code</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_scan_qr_code_description">Use the camera on this device to scan the QR code shown on your other device:</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_show_qr_code_title">Sign in with QR code</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_show_qr_code_new_device_description">Use your signed in device to scan the QR code below:</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_show_qr_code_link_a_device_description">Scan the QR code below with your device that’s signed out.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_connected_title">Secure connection established</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_connected_description">Check your signed in device, the code below should be displayed. Confirm that the code below matches with that device:</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_title">Unsuccessful connection</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_device_is_not_supported_description">Linking with this device is not supported.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_timeout_description">The linking wasn’t completed in the required time.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_denied_description">The request was denied on the other device.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_other_description">The request failed.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_e2ee_security_issue_description">A security issue was encountered setting up secure messaging. One of the following may be compromised: Your homeserver; Your internet connection(s); Your device(s);</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_other_device_already_signed_in_description">The other device is already signed in.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_other_device_not_signed_in_description">The other device must be signed in.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_invalid_qr_code_description">That QR code is invalid.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_user_cancelled_description">The sign in was cancelled on the other device.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_header_failed_homeserver_is_not_supported_description">The homeserver doesn\'t support sign in with QR code.</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_new_device_instruction_1">Open the app on your other device</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_new_device_instruction_2">Go to Settings -> Security &amp; Privacy</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_new_device_instruction_3">Select \'Show QR code\'</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_link_a_device_scan_qr_code_instruction_1">Start at the sign in screen</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_link_a_device_scan_qr_code_instruction_2">Select \'Sign in with QR code\'</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_link_a_device_show_qr_code_instruction_1">Start at the sign in screen</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_link_a_device_show_qr_code_instruction_2">Select \'Scan QR code\'</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_show_qr_code_button">Show QR code in this device</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_signing_in_a_mobile_device">Signing in a mobile device?</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_scan_qr_code_button">Scan QR code</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_connecting_to_device">Connecting to device</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_signing_in">Signing you in</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_status_no_match">No match?</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_try_again">Try again</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_confirm_security_code">Confirm</string>
<!-- TODO TO BE REMOVED -->
<string tools:ignore="UnusedResources" name="qr_code_login_confirm_security_code_description">Please ensure that you know the origin of this code. By linking devices, you will provide someone with full access to your account.</string>

<!-- Rich text editor -->
<string name="rich_text_editor_format_bold">Apply bold format</string>
Expand Down

This file was deleted.

Loading
Loading