Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/vector-im/element-android i…
Browse files Browse the repository at this point in the history
…nto synodim-merge-upstream
  • Loading branch information
Dominic Tubach committed Nov 15, 2022
2 parents feeb1a1 + db35f5c commit ed466d8
Show file tree
Hide file tree
Showing 555 changed files with 13,979 additions and 2,764 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/enhancement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ body:
- type: markdown
attributes:
value: |
Thank you for taking the time to propose a new feature or make a suggestion.
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas).
- type: textarea
id: usecase
attributes:
Expand Down
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ body:
- [ ] Check the update of the store descriptions (using Google Translate if necessary) to ensure that the changes are acceptable to be published to the stores.
- [ ] While Weblate is locked, and after the PR from Weblate has been merged, handle all the TODOs in the main `strings.xml` file
- [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect.
- [ ] Ensure all [the required PRs](https://github.com/vector-im/element-android/pulls?q=is%3Aopen+is%3Apr+label%3AZ-NextRelease) have been merged
### Do the release
Expand All @@ -32,7 +31,6 @@ body:
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
- [ ] Create an account on matrix.org and do some smoke tests that the sanity test does not cover like: 1-1 call, 1-1 video call, Jitsi call for instance
- [ ] Run towncrier: `towncrier build --version v1.2.3 --draft` (remove `--draft` do write the file CHANGES.md)
- [ ] Check that the folder `changelog.d` is empty. It can happen that some remaining files stay here
- [ ] Check the file CHANGES.md consistency. It's possible to reorder items (most important changes first) or change their section if relevant. Also an opportunity to fix some typo, or rewrite things
- [ ] Add file for fastlane under ./fastlane/metadata/android/en-US/changelogs
- [ ] (optional) Push the branch and start a draft PR (will not be merged), to check that the CI is happy with all the changes.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/post-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ jobs:
needs:
- should-i-run
- ui-tests
if: always() && (needs.should-i-run.result == 'success' ) && ((needs.codecov-units.result != 'success' ) || (needs.ui-tests.result != 'success') || (needs.integration-tests.result != 'success'))
if: always() && (needs.should-i-run.result == 'success' ) && (needs.ui-tests.result != 'success')
# No concurrency required, runs every time on a schedule.
steps:
- uses: michaelkaye/[email protected]
Expand Down
61 changes: 61 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
Changes in Element v1.5.4 (2022-10-19)
======================================

Features ✨
----------
- Add WYSIWYG editor, under a lab flag. ([#7288](https://github.com/vector-im/element-android/issues/7288))
- New Device management, can be enabled in the labs settings.
- Voice broadcast can be enabled in the labs settings (recording is possible only on Android 10 and up).

Bugfixes 🐛
----------
- Fix wrong mic button direction to cancel on RTL languages ([#5968](https://github.com/vector-im/element-android/issues/5968))
- Handle properly when getUser returns null - prefer using getUserOrDefault ([#7372](https://github.com/vector-im/element-android/issues/7372))
- [Device Management] Long session names not handled well ([#7310](https://github.com/vector-im/element-android/issues/7310))
- Fix editing formatted messages with plain text editor ([#7359](https://github.com/vector-im/element-android/issues/7359))

In development 🚧
----------------
- [Device Management] Save "matrix_client_information" events on login/registration ([#7257](https://github.com/vector-im/element-android/issues/7257))
- [Device management] Add lab flag for the feature ([#7336](https://github.com/vector-im/element-android/issues/7336))
- [Device management] Add lab flag for matrix client info account data event ([#7344](https://github.com/vector-im/element-android/issues/7344))
- [Device Management] Redirect to the new screen everywhere when lab flag is on ([#7374](https://github.com/vector-im/element-android/issues/7374))
- [Device Management] Show correct device type icons ([#7277](https://github.com/vector-im/element-android/issues/7277))
- [Device Management] Render extended device info ([#7294](https://github.com/vector-im/element-android/issues/7294))
- [Device management] Improve the parsing for OS of Desktop/Web sessions ([#7321](https://github.com/vector-im/element-android/issues/7321))
- [Device management] Hide the IP address and last activity date on current session ([#7324](https://github.com/vector-im/element-android/issues/7324))
- [Device management] Update the unknown verification status icon ([#7327](https://github.com/vector-im/element-android/issues/7327))
- [Voice Broadcast] Add the "io.element.voice_broadcast_info" state event with a minimalist timeline widget ([#7273](https://github.com/vector-im/element-android/issues/7273))
- [Voice Broadcast] Aggregate state events in the timeline ([#7283](https://github.com/vector-im/element-android/issues/7283))
- [Voice Broadcast] Record and send non aggregated voice messages to the room ([#7363](https://github.com/vector-im/element-android/issues/7363))
- [Voice Broadcast] Start listening to a voice broadcast ([#7387](https://github.com/vector-im/element-android/issues/7387))
- [Voice Broadcast] Enable the feature (behind a lab flag and only for Android 10 and up) ([#7393](https://github.com/vector-im/element-android/issues/7393))
- [Voice Broadcast] Add additional data in events ([#7397](https://github.com/vector-im/element-android/issues/7397))
- Implements MSC3881: Parses `enabled` and `device_id` fields from updated Pusher API ([#7217](https://github.com/vector-im/element-android/issues/7217))
- Adds pusher toggle setting to device manager v2 ([#7261](https://github.com/vector-im/element-android/issues/7261))
- Implement QR Code Login UI ([#7338](https://github.com/vector-im/element-android/issues/7338))
- Implements client-side of local notification settings event ([#7300](https://github.com/vector-im/element-android/issues/7300))
- Links "Enable Notifications for this session" setting to enabled value in pusher ([#7281](https://github.com/vector-im/element-android/issues/7281))

SDK API changes ⚠️
------------------
- Stop using `original_event` field from `/relations` endpoint ([#7282](https://github.com/vector-im/element-android/issues/7282))
- Add `formattedText` or similar optional parameters in several methods:
* RelationService:
* editTextMessage
* editReply
* replyToMessage
* SendService:
* sendQuotedTextMessage
This allows us to send any HTML formatted text message without needing to rely on automatic Markdown > HTML translation. All these new parameters have a `null` value by default, so previous calls to these API methods remain compatible. ([#7288](https://github.com/vector-im/element-android/issues/7288))
- Add support for `m.login.token` auth during QR code based sign in ([#7358](https://github.com/vector-im/element-android/issues/7358))
- Allow getting the formatted or plain text body of a message for the fun `TimelineEvent.getTextEditableContent()`. ([#7359](https://github.com/vector-im/element-android/issues/7359))

Other changes
-------------
- Refactor TimelineFragment, split it into MessageComposerFragment and VoiceRecorderFragment. ([#7285](https://github.com/vector-im/element-android/issues/7285))
- Dependency to arrow has been removed. Please use `org.matrix.android.sdk.api.util.Optional` instead. ([#7335](https://github.com/vector-im/element-android/issues/7335))
- Update WYSIWYG editor designs. ([#7354](https://github.com/vector-im/element-android/issues/7354))
- Update WYSIWYG library to v0.2.1. ([#7384](https://github.com/vector-im/element-android/issues/7384))


Changes in Element v1.5.2 (2022-10-05)
======================================

Expand Down
43 changes: 40 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ buildscript {
classpath 'com.google.gms:google-services:4.3.14'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.4.0.2513'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5'
classpath "com.likethesalad.android:stem-plugin:2.2.2"
classpath "com.likethesalad.android:stem-plugin:2.2.3"
classpath 'org.owasp:dependency-check-gradle:7.2.1'
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.10"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.20"
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
classpath 'app.cash.paparazzi:paparazzi-gradle-plugin:1.0.0'
classpath 'app.cash.paparazzi:paparazzi-gradle-plugin:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Expand All @@ -44,6 +44,8 @@ plugins {
id "org.jlleitschuh.gradle.ktlint" version "11.0.0"
// Detekt
id "io.gitlab.arturbosch.detekt" version "1.21.0"
// Ksp
id "com.google.devtools.ksp" version "1.7.20-1.0.6"

// Dependency Analysis
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
Expand Down Expand Up @@ -146,6 +148,9 @@ allprojects {
// To have XML report for Danger
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
}
filter {
exclude { element -> element.file.path.contains("$buildDir/generated/") }
}
disabledRules = [
// TODO Re-enable these 4 rules after reformatting project
"indent",
Expand Down Expand Up @@ -327,3 +332,35 @@ ext.initScreenshotTests = { project ->
}
}
}

// Workaround to have KSP generated Kotlin code available in the IDE (for code completion)
// Ref: https://github.com/airbnb/epoxy/releases/tag/5.0.0beta02
subprojects { project ->
afterEvaluate {
if (project.hasProperty("android")) {
android {
if (it instanceof com.android.build.gradle.LibraryExtension) {
libraryVariants.all { variant ->
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
if (outputFolder.exists()) {
variant.addJavaSourceFoldersToModel(outputFolder)
android.sourceSets.getAt(variant.name).java {
srcDir(outputFolder)
}
}
}
} else if (it instanceof com.android.build.gradle.AppExtension) {
applicationVariants.all { variant ->
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
if (outputFolder.exists()) {
variant.addJavaSourceFoldersToModel(outputFolder)
android.sourceSets.getAt(variant.name).java {
srcDir(outputFolder)
}
}
}
}
}
}
}
}
30 changes: 13 additions & 17 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,35 +1,34 @@
ext.versions = [

'minSdk' : 21,
'compileSdk' : 32,
'targetSdk' : 32,
'compileSdk' : 33,
'targetSdk' : 33,
'sourceCompat' : JavaVersion.VERSION_11,
'targetCompat' : JavaVersion.VERSION_11,
]

def gradle = "7.2.2"
def gradle = "7.3.1"
// Ref: https://kotlinlang.org/releases.html
def kotlin = "1.7.20"
def kotlinCoroutines = "1.6.4"
def dagger = "2.44"
def appDistribution = "16.0.0-beta04"
def retrofit = "2.9.0"
def arrow = "0.8.2"
def markwon = "4.6.2"
def moshi = "1.14.0"
def lifecycle = "2.5.1"
def flowBinding = "1.2.0"
def flipper = "0.164.0"
def epoxy = "4.6.2"
def mavericks = "2.7.0"
def glide = "4.14.1"
def flipper = "0.171.1"
def epoxy = "5.0.0"
def mavericks = "3.0.1"
def glide = "4.14.2"
def bigImageViewer = "1.8.1"
def jjwt = "0.11.5"
// Temporary version to unblock #6929. Once 0.16.0 is released we should use it, and revert
// the whole commit which set version 0.16.0-SNAPSHOT
def vanniktechEmoji = "0.16.0-SNAPSHOT"

def sentry = "6.4.1"
def sentry = "6.4.3"

def fragment = "1.5.3"

Expand All @@ -51,12 +50,12 @@ ext.libs = [
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
],
androidx : [
'activity' : "androidx.activity:activity:1.5.1",
'activity' : "androidx.activity:activity-ktx:1.6.0",
'appCompat' : "androidx.appcompat:appcompat:1.5.1",
'biometric' : "androidx.biometric:biometric:1.1.0",
'core' : "androidx.core:core-ktx:1.8.0",
'core' : "androidx.core:core-ktx:1.9.0",
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.4",
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
'fragmentTesting' : "androidx.fragment:fragment-testing:$fragment",
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.4",
Expand Down Expand Up @@ -87,7 +86,7 @@ ext.libs = [
'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
// Phone number https://github.com/google/libphonenumber
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.12.56"
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.12.57"
],
dagger : [
'dagger' : "com.google.dagger:dagger:$dagger",
Expand All @@ -102,6 +101,7 @@ ext.libs = [
],
element : [
'opusencoder' : "io.element.android:opusencoder:1.1.0",
'wysiwyg' : "io.element.android:wysiwyg:0.2.1"
],
squareup : [
'moshi' : "com.squareup.moshi:moshi:$moshi",
Expand All @@ -114,10 +114,6 @@ ext.libs = [
rx : [
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0"
],
arrow : [
'core' : "io.arrow-kt:arrow-core:$arrow",
'instances' : "io.arrow-kt:arrow-instances-core:$arrow"
],
markwon : [
'core' : "io.noties.markwon:core:$markwon",
'extLatex' : "io.noties.markwon:ext-latex:$markwon",
Expand Down
5 changes: 4 additions & 1 deletion dependencies_groups.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ ext.groups = [
'com.google',
'com.google.android',
'com.google.api.grpc',
'com.google.auto',
'com.google.auto.service',
'com.google.auto.value',
'com.google.code.findbugs',
Expand All @@ -101,6 +102,7 @@ ext.groups = [
'com.googlecode.json-simple',
'com.googlecode.libphonenumber',
'com.ibm.icu',
'com.intellij',
'com.jakewharton.android.repackaged',
'com.jakewharton.timber',
'com.kgurgul.flipper',
Expand Down Expand Up @@ -132,7 +134,6 @@ ext.groups = [
'commons-io',
'commons-logging',
'info.picocli',
'io.arrow-kt',
'io.element.android',
'io.github.davidburstrom.contester',
'io.github.detekt.sarif4k',
Expand All @@ -146,6 +147,7 @@ ext.groups = [
'io.netty',
'io.noties.markwon',
'io.opencensus',
'io.perfmark',
'io.reactivex.rxjava2',
'io.realm',
'io.sentry',
Expand Down Expand Up @@ -176,6 +178,7 @@ ext.groups = [
'org.apache.httpcomponents',
'org.apache.sanselan',
'org.bouncycastle',
'org.ccil.cowan.tagsoup',
'org.checkerframework',
'org.codehaus',
'org.codehaus.groovy',
Expand Down
2 changes: 1 addition & 1 deletion docs/unit_testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ class ViewModelTest {
private var initialState = ViewState.Empty

@get:Rule
val mvrxTestRule = MvRxTestRule(testDispatcher = UnconfinedTestDispatcher())
val mavericksTestRule = MavericksTestRule(testDispatcher = UnconfinedTestDispatcher())

@Test
fun `when handling MyAction, then emits Loading and Content states`() {
Expand Down
2 changes: 2 additions & 0 deletions fastlane/metadata/android/cs-CZ/changelogs/40105000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Odložené přímé zprávy jsou ve výchozím nastavení povoleny.
Úplný seznam změn: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/cs-CZ/changelogs/40105020.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Nové rozvržení aplikace je povoleno ve výchozím nastavení!
Úplný seznam změn: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/de-DE/changelogs/40105000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Die wichtigste Änderung in dieser Version: Verzögerte Direktnachrichten standardmäßig aktiviert!
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.2.0
2 changes: 2 additions & 0 deletions fastlane/metadata/android/de-DE/changelogs/40105020.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Die wichtigste Änderung in dieser Version: Neues App-Layout standardmäßig aktiviert!
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.2.0
2 changes: 2 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/40105040.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Main changes in this version: New features under the labs settings: Rich text composer, new device management, voice broadcast. Still under active development!
Full changelog: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/et/changelogs/40105000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: ajastatud otsesõnumite saatmine on nüüd vaikimisi kasutusel.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/et/changelogs/40105020.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: rakenduse uus kujundus on nüüd vaikimisi kasutusel.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/fa/changelogs/40105000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
تغییرات عمده در این نگارش: پیام‌های مستقیم تعویقی به کار افتاده به صورت پیش‌گزیده!
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/fa/changelogs/40105020.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
تغییرات عمده در این نگارش: چینش کارهٔ جدید به کار افتاده به صورت پیش‌گزیده!
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/fr-FR/changelogs/40105000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Principaux changements pour cette version : Création des conversations privées différée activée par défaut.
Intégralité des changements : https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/fr-FR/changelogs/40105020.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Principaux changements pour cette version : Nouvelle disposition de l’application activée par défaut !
Intégralité des changements : https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/id/changelogs/40105000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Pesan langsung yang ditangguhkan diaktifkan secara bawaan.
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
2 changes: 2 additions & 0 deletions fastlane/metadata/android/id/changelogs/40105020.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Tata letak aplikasi baru diaktifkan secara bawaan!
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
Loading

0 comments on commit ed466d8

Please sign in to comment.