diff --git a/.github/workflows/sanity_test.yml b/.github/workflows/sanity_test.yml index 53b70276c5..213c43b716 100644 --- a/.github/workflows/sanity_test.yml +++ b/.github/workflows/sanity_test.yml @@ -56,10 +56,10 @@ jobs: java-version: '11' - name: Run sanity tests on API ${{ matrix.api-level }} uses: reactivecircus/android-emulator-runner@v2 - continue-on-error: true # allow pipeline to upload failure results with: emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none api-level: ${{ matrix.api-level }} + profile: 24 # Pixel 5 emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160 script: | adb root @@ -67,13 +67,12 @@ jobs: touch emulator.log chmod 777 emulator.log adb logcat >> emulator.log & - ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || adb pull storage/emulated/0/Pictures/failure_screenshots - + ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 - name: Upload Failing Test Report Log - if: failure() uses: actions/upload-artifact@v2 + if: failure() with: name: sanity-error-results path: | emulator.log - failure_screenshots/ + failure_screenshots/ \ No newline at end of file diff --git a/.github/workflows/sync-from-external-sources.yml b/.github/workflows/sync-from-external-sources.yml index 6a4f8ef147..2da8e10542 100644 --- a/.github/workflows/sync-from-external-sources.yml +++ b/.github/workflows/sync-from-external-sources.yml @@ -7,6 +7,8 @@ on: jobs: sync-emojis: runs-on: ubuntu-latest + # Skip in forks + if: github.repository == 'vector-im/element-android' steps: - uses: actions/checkout@v2 - name: Set up Python 3.8 @@ -39,6 +41,8 @@ jobs: sync-sas-strings: runs-on: ubuntu-latest + # Skip in forks + if: github.repository == 'vector-im/element-android' steps: - uses: actions/checkout@v2 - name: Set up Python 3.8 diff --git a/CHANGES.md b/CHANGES.md index 9590adc060..561bae9b9f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,35 @@ +Changes in Element v1.3.8 (2021-11-17) +====================================== + +Features ✨ +---------- + - Android 12 support ([#4433](https://github.com/vector-im/element-android/issues/4433)) + - Make notification text spoiler aware ([#3477](https://github.com/vector-im/element-android/issues/3477)) + - Poll Feature - Create Poll Screen (Disabled for now) ([#4367](https://github.com/vector-im/element-android/issues/4367)) + - Adds support for images inside message notifications ([#4402](https://github.com/vector-im/element-android/issues/4402)) + +Bugfixes 🐛 +---------- + - Render markdown in room list ([#452](https://github.com/vector-im/element-android/issues/452)) + - Fix incorrect cropping of conversation icons ([#4424](https://github.com/vector-im/element-android/issues/4424)) + - Fix potential NullPointerException crashes in Room and User account data sources ([#4428](https://github.com/vector-im/element-android/issues/4428)) + - Unable to establish Olm outbound session from fallback key ([#4446](https://github.com/vector-im/element-android/issues/4446)) + - Fixes intermittent crash on sign out due to the session being incorrectly recreated whilst being closed ([#4480](https://github.com/vector-im/element-android/issues/4480)) + +SDK API changes ⚠️ +------------------ + - Add content scanner API from MSC1453 + API documentation : https://github.com/matrix-org/matrix-content-scanner#api ([#4392](https://github.com/vector-im/element-android/issues/4392)) + - Breaking SDK API change to PushRuleListener, the separated callbacks have been merged into one with a data class which includes all the previously separated push information ([#4401](https://github.com/vector-im/element-android/issues/4401)) + +Other changes +------------- + - Finish migration from RxJava to Flow ([#4219](https://github.com/vector-im/element-android/issues/4219)) + - Remove redundant text in feature request issue form ([#4257](https://github.com/vector-im/element-android/issues/4257)) + - Add and improve issue triage workflows ([#4435](https://github.com/vector-im/element-android/issues/4435)) + - Update issue template to bring in line with element-web ([#4452](https://github.com/vector-im/element-android/issues/4452)) + + Changes in Element v1.3.7 (2021-11-04) ====================================== diff --git a/README.md b/README.md index e89fb15010..a085bf7da1 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,20 @@ At each Element release, the SDK module is copied to a dedicated repository: htt The version 1.0.0 of Element still misses some features which was previously included in Riot-Android. The team will work to add them on a regular basis. +# Releases to app stores + +There is some delay between when a release is created and when it appears in the app stores (Google Play Store and F-Droid). Here are some of the reasons: + +* Not all versioned releases that appear on GitHub are considered stable. Each release is first considered beta: this continues for at least two days. If the release is stable (no serious issues or crashes are reported), then it is released as a production release in Google Play Store, and a request is sent to F-Droid too. +* Each release on the Google Play Store undergoes review by Google before it comes out. This can take an unpredictable amount of time. In some cases it has taken several weeks. +* In order for F-Droid to guarantee that the app you receive exactly matches the public source code, they build releases themselves. When a release is considered stable, Element staff inform the F-Droid maintainers and it is added to the build queue. Depending on the load on F-Droid's infrastructure, it can take some time for releases to be built. This always takes at least 24 hours, and can take several days. + +If you would like to receive releases more quickly (bearing in mind that they may not be stable) you have a number of options: + +1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store. +2. Install a [release APK](https://github.com/vector-im/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version. +3. If you're really brave, install the [very latest dev build](https://buildkite.com/matrix-dot-org/element-android/builds/latest?branch=develop&state=passed) - click on *Assemble (GPlay or FDroid) Debug version* then on *Artifacts*. + ## Contributing Please refer to [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) if you want to contribute on Matrix Android projects! diff --git a/build.gradle b/build.gradle index e9045b99c7..4c3734892d 100644 --- a/build.gradle +++ b/build.gradle @@ -69,9 +69,9 @@ allprojects { maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } // Jitsi repo maven { - url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.1.0" + url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.10.0" // Note: to test Jitsi release you can use a local file like this: - // url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.1.0" + // url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.10.0" } google() mavenCentral() diff --git a/changelog.d/3449.bugfix b/changelog.d/3449.bugfix new file mode 100644 index 0000000000..a4385fda2e --- /dev/null +++ b/changelog.d/3449.bugfix @@ -0,0 +1 @@ +Fixes left over text when inserting emojis via the ':' menu and replaces the last typed ':' rather than the one at the end of the message \ No newline at end of file diff --git a/changelog.d/3477.feature b/changelog.d/3477.feature deleted file mode 100644 index c6f8820b4c..0000000000 --- a/changelog.d/3477.feature +++ /dev/null @@ -1 +0,0 @@ -Make notification text spoiler aware \ No newline at end of file diff --git a/changelog.d/3833.bugfix b/changelog.d/3833.bugfix new file mode 100644 index 0000000000..7d25fb2aad --- /dev/null +++ b/changelog.d/3833.bugfix @@ -0,0 +1 @@ +Fixing queued voice message failing to send or retry \ No newline at end of file diff --git a/changelog.d/4022.bugfix b/changelog.d/4022.bugfix new file mode 100644 index 0000000000..517926e018 --- /dev/null +++ b/changelog.d/4022.bugfix @@ -0,0 +1 @@ +Keeping device screen on whilst recording and playing back voice messages \ No newline at end of file diff --git a/changelog.d/4067.bugfix b/changelog.d/4067.bugfix new file mode 100644 index 0000000000..63d62df840 --- /dev/null +++ b/changelog.d/4067.bugfix @@ -0,0 +1 @@ +Allow voice messages to continue recording during device rotation \ No newline at end of file diff --git a/changelog.d/4144.bugfix b/changelog.d/4144.bugfix new file mode 100644 index 0000000000..1168245ecc --- /dev/null +++ b/changelog.d/4144.bugfix @@ -0,0 +1 @@ +Allowing users to hang up VOIP calls during the initialisation phase (avoids getting stuck in the call screen if something goes wrong) \ No newline at end of file diff --git a/changelog.d/4219.misc b/changelog.d/4219.misc deleted file mode 100644 index 69950e0915..0000000000 --- a/changelog.d/4219.misc +++ /dev/null @@ -1 +0,0 @@ -Finish migration from RxJava to Flow \ No newline at end of file diff --git a/changelog.d/4246.feature b/changelog.d/4246.feature new file mode 100644 index 0000000000..6695edf590 --- /dev/null +++ b/changelog.d/4246.feature @@ -0,0 +1 @@ +Make Element Android Thread aware diff --git a/changelog.d/4257.misc b/changelog.d/4257.misc deleted file mode 100644 index fa0657bfea..0000000000 --- a/changelog.d/4257.misc +++ /dev/null @@ -1 +0,0 @@ -Remove redundant text in feature request issue form diff --git a/changelog.d/4338.bugfix b/changelog.d/4338.bugfix new file mode 100644 index 0000000000..539c32672c --- /dev/null +++ b/changelog.d/4338.bugfix @@ -0,0 +1 @@ +Make the verification shields the same in Element Web and Element Android \ No newline at end of file diff --git a/changelog.d/4343.bugfix b/changelog.d/4343.bugfix new file mode 100644 index 0000000000..a516af351b --- /dev/null +++ b/changelog.d/4343.bugfix @@ -0,0 +1 @@ +Fix a display issue in the composer when the replied message is changed. diff --git a/changelog.d/4367.feature b/changelog.d/4367.feature deleted file mode 100644 index c001cc778f..0000000000 --- a/changelog.d/4367.feature +++ /dev/null @@ -1 +0,0 @@ -Poll Feature - Create Poll Screen (Disabled for now) \ No newline at end of file diff --git a/changelog.d/4392.removal b/changelog.d/4392.removal deleted file mode 100644 index 42ba81152a..0000000000 --- a/changelog.d/4392.removal +++ /dev/null @@ -1,2 +0,0 @@ -Add content scanner API from MSC1453 -API documentation : https://github.com/matrix-org/matrix-content-scanner#api \ No newline at end of file diff --git a/changelog.d/4401.removal b/changelog.d/4401.removal deleted file mode 100644 index ce58372a18..0000000000 --- a/changelog.d/4401.removal +++ /dev/null @@ -1 +0,0 @@ -Breaking SDK API change to PushRuleListener, the separated callbacks have been merged into one with a data class which includes all the previously separated push information diff --git a/changelog.d/4402.feature b/changelog.d/4402.feature deleted file mode 100644 index 29b9f9a337..0000000000 --- a/changelog.d/4402.feature +++ /dev/null @@ -1 +0,0 @@ -Adds support for images inside message notifications \ No newline at end of file diff --git a/changelog.d/4424.bugfix b/changelog.d/4424.bugfix deleted file mode 100644 index 679440d204..0000000000 --- a/changelog.d/4424.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix incorrect cropping of conversation icons \ No newline at end of file diff --git a/changelog.d/4428.bugfix b/changelog.d/4428.bugfix deleted file mode 100644 index 381f246fee..0000000000 --- a/changelog.d/4428.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix potential NullPointerException crashes in Room and User account data sources diff --git a/changelog.d/4435.misc b/changelog.d/4435.misc deleted file mode 100644 index 14e2425d79..0000000000 --- a/changelog.d/4435.misc +++ /dev/null @@ -1 +0,0 @@ -Add and improve issue triage workflows diff --git a/changelog.d/4446.bugfix b/changelog.d/4446.bugfix deleted file mode 100644 index 140e18a3ba..0000000000 --- a/changelog.d/4446.bugfix +++ /dev/null @@ -1 +0,0 @@ -Unable to establish Olm outbound session from fallback key \ No newline at end of file diff --git a/changelog.d/4452.misc b/changelog.d/4452.misc deleted file mode 100644 index 10d98c32c3..0000000000 --- a/changelog.d/4452.misc +++ /dev/null @@ -1 +0,0 @@ -Update issue template to bring in line with element-web diff --git a/changelog.d/4480.bugfix b/changelog.d/4480.bugfix deleted file mode 100644 index 5769fb4efa..0000000000 --- a/changelog.d/4480.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes intermittent crash on sign out due to the session being incorrectly recreated whilst being closed \ No newline at end of file diff --git a/changelog.d/4488.bugfix b/changelog.d/4488.bugfix new file mode 100644 index 0000000000..a0b4aa661e --- /dev/null +++ b/changelog.d/4488.bugfix @@ -0,0 +1 @@ +Dismissing the Fdroid variant Listening for notifications on sign out, fixes crash when tapping the notification when signed out \ No newline at end of file diff --git a/changelog.d/4504.misc b/changelog.d/4504.misc new file mode 100644 index 0000000000..1f7741618e --- /dev/null +++ b/changelog.d/4504.misc @@ -0,0 +1 @@ +Upgrade Jitsi lib (and so webrtc) from Jitsi android-sdk-3.1.0 to android-sdk-3.10.0 \ No newline at end of file diff --git a/changelog.d/4507.misc b/changelog.d/4507.misc new file mode 100644 index 0000000000..a1f231c82c --- /dev/null +++ b/changelog.d/4507.misc @@ -0,0 +1 @@ +Improve crypto logs to help debug decryption failures \ No newline at end of file diff --git a/changelog.d/4515.misc b/changelog.d/4515.misc new file mode 100644 index 0000000000..f47ace25d4 --- /dev/null +++ b/changelog.d/4515.misc @@ -0,0 +1 @@ +Voice recording mic button refactor with small animation tweaks in preparation for voice drafts \ No newline at end of file diff --git a/changelog.d/452.bugfix b/changelog.d/452.bugfix deleted file mode 100644 index 6e3d2539b5..0000000000 --- a/changelog.d/452.bugfix +++ /dev/null @@ -1 +0,0 @@ -Render markdown in room list \ No newline at end of file diff --git a/changelog.d/4520.bugfix b/changelog.d/4520.bugfix new file mode 100644 index 0000000000..58314025f1 --- /dev/null +++ b/changelog.d/4520.bugfix @@ -0,0 +1 @@ +Fix a crash when displaying the bootstrap bottom sheet \ No newline at end of file diff --git a/changelog.d/4539.bugfix b/changelog.d/4539.bugfix new file mode 100644 index 0000000000..0e133cbadc --- /dev/null +++ b/changelog.d/4539.bugfix @@ -0,0 +1 @@ +Remove duplicated settings declaration diff --git a/changelog.d/4552.bugfix b/changelog.d/4552.bugfix new file mode 100644 index 0000000000..188e5fb1f6 --- /dev/null +++ b/changelog.d/4552.bugfix @@ -0,0 +1 @@ +Fixes .ogg files failing to upload to rooms \ No newline at end of file diff --git a/dependencies.gradle b/dependencies.gradle index 8cc7b3b260..19fd5b441b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -11,7 +11,7 @@ def gradle = "7.0.3" // Ref: https://kotlinlang.org/releases.html def kotlin = "1.5.31" def kotlinCoroutines = "1.5.2" -def dagger = "2.40.1" +def dagger = "2.40.2" def retrofit = "2.9.0" def arrow = "0.8.2" def markwon = "4.6.2" @@ -45,13 +45,13 @@ ext.libs = [ 'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines" ], androidx : [ - 'appCompat' : "androidx.appcompat:appcompat:1.3.1", + 'appCompat' : "androidx.appcompat:appcompat:1.4.0", 'core' : "androidx.core:core-ktx:1.7.0", 'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1", 'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3", - 'fragmentKtx' : "androidx.fragment:fragment-ktx:1.3.6", - 'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.1", - 'work' : "androidx.work:work-runtime-ktx:2.7.0", + 'fragmentKtx' : "androidx.fragment:fragment-ktx:1.4.0", + 'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.2", + 'work' : "androidx.work:work-runtime-ktx:2.7.1", 'autoFill' : "androidx.autofill:autofill:1.1.0", 'preferenceKtx' : "androidx.preference:preference-ktx:1.1.1", 'junit' : "androidx.test.ext:junit:1.1.3", diff --git a/docs/jitsi.md b/docs/jitsi.md index 389e7d71ec..55cedaedb1 100644 --- a/docs/jitsi.md +++ b/docs/jitsi.md @@ -18,7 +18,7 @@ The generated maven repository is then host in the project https://github.com/ve Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`. -Currently we are building the version with the tag `android-sdk-3.1.0`. +Currently we are building the version with the tag `android-sdk-3.10.0`. ### Run the build script @@ -35,7 +35,7 @@ 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/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0" +url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.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. @@ -43,13 +43,13 @@ You can uncomment and update the line starting with `// url "file://...` and com - Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line: ```groovy -implementation('org.jitsi.react:jitsi-meet-sdk:3.1.0') +implementation('org.jitsi.react:jitsi-meet-sdk:3.10.0') ``` - 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:1.87.3-jitsi-6624067@aar') +implementation('com.facebook.react:react-native-webrtc:1.92.1-jitsi-9093212@aar') ``` - Perform a gradle sync and build the project @@ -74,7 +74,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/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0" +url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.0" ``` - Build the project and perform the sanity tests again. diff --git a/fastlane/metadata/android/en-US/changelogs/40103070.txt b/fastlane/metadata/android/en-US/changelogs/40103070.txt index ad225133c2..9a7030728a 100644 --- a/fastlane/metadata/android/en-US/changelogs/40103070.txt +++ b/fastlane/metadata/android/en-US/changelogs/40103070.txt @@ -1,2 +1,2 @@ Main changes in this version: Bug fixes mainly regarding the notifications. -Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.7 \ No newline at end of file +Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2 \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/40103080.txt b/fastlane/metadata/android/en-US/changelogs/40103080.txt new file mode 100644 index 0000000000..fc00c5da9e --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40103080.txt @@ -0,0 +1,2 @@ +Main changes in this version: Bug fixes! +Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.8 \ No newline at end of file diff --git a/library/ui-styles/src/debug/res/layout/debug_social_login.xml b/library/ui-styles/src/debug/res/layout/debug_social_login.xml new file mode 100644 index 0000000000..895ecddad4 --- /dev/null +++ b/library/ui-styles/src/debug/res/layout/debug_social_login.xml @@ -0,0 +1,113 @@ + + + + + + + +