Skip to content

Commit 310cecf

Browse files
committed
Merge branch 'release/1.6.14' into main
2 parents effdca1 + f7095d8 commit 310cecf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1650
-136
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
/local.properties
44
# idea files: exclude everything except dictionnaries
55
.idea/caches
6+
.idea/copilot
67
.idea/libraries
78
.idea/inspectionProfiles
89
.idea/sonarlint

CHANGES.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
1+
Changes in Element v1.6.14 (2024-04-02)
2+
=======================================
3+
4+
Bugfixes 🐛
5+
----------
6+
- Fix send button blinking once for each character you are typing in RTE. ([#send_button_blinking](https://github.com/element-hq/element-android/issues/send_button_blinking))
7+
- Fix infinite loading on secure backup setup ("Re-Authentication needed" bottom sheet). ([#8786](https://github.com/element-hq/element-android/issues/8786))
8+
9+
Other changes
10+
-------------
11+
- Improve UTD reporting by adding additional fields to the report. ([#8780](https://github.com/element-hq/element-android/issues/8780))
12+
- Add a report user action in the message bottom sheet and on the user profile page. ([#8796](https://github.com/element-hq/element-android/issues/8796))
13+
14+
115
Changes in Element v1.6.12 (2024-02-16)
216
=======================================
317

418
This update provides important security fixes, please update now.
519

620
Security fixes 🔐
721
-----------------
8-
- Add a check on incoming intent. ([#1506 internal](https://github.com/matrix-org/internal-config/issues/1506))
9-
- Store temporary files created for Camera in the media folder. ([#1505 internal](https://github.com/matrix-org/internal-config/issues/1505))
22+
- Add a check on incoming intent. [CVE-2024-26131](https://www.cve.org/CVERecord?id=CVE-2024-26131) / [GHSA-j6pr-fpc8-q9vm](https://github.com/element-hq/element-android/security/advisories/GHSA-j6pr-fpc8-q9vm)
23+
- Store temporary files created for Camera in a dedicated media folder. [CVE-2024-26132](https://www.cve.org/CVERecord?id=CVE-2024-26132) / [GHSA-8wj9-cx7h-pvm4](https://github.com/element-hq/element-android/security/advisories/GHSA-8wj9-cx7h-pvm4)
1024

1125
Bugfixes 🐛
1226
----------

dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ ext.libs = [
101101
],
102102
element : [
103103
'opusencoder' : "io.element.android:opusencoder:1.1.0",
104-
'wysiwyg' : "io.element.android:wysiwyg:2.29.0"
104+
'wysiwyg' : "io.element.android:wysiwyg:2.35.0"
105105
],
106106
squareup : [
107107
'moshi' : "com.squareup.moshi:moshi:$moshi",
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Main changes in this version: Bugfixes and improvements.
2+
Full changelog: https://github.com/element-hq/element-android/releases

library/ui-strings/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,8 +1953,11 @@
19531953
<string name="content_reported_as_spam_content">"This content was reported as spam.\n\nIf you don't want to see any more content from this user, you can ignore them to hide their messages."</string>
19541954
<string name="content_reported_as_inappropriate_title">"Reported as inappropriate"</string>
19551955
<string name="content_reported_as_inappropriate_content">"This content was reported as inappropriate.\n\nIf you don't want to see any more content from this user, you can ignore them to hide their messages."</string>
1956+
<string name="user_reported_as_inappropriate_title">"Reported user"</string>
1957+
<string name="user_reported_as_inappropriate_content">"The user has been reported.\n\nIf you don't want to see any more content from this user, you can ignore them to hide their messages."</string>
19561958

19571959
<string name="message_ignore_user">Ignore user</string>
1960+
<string name="message_report_user">Report user</string>
19581961

19591962
<string name="room_list_quick_actions_notifications_all_noisy">"All messages (noisy)"</string>
19601963
<string name="room_list_quick_actions_notifications_all">"All messages"</string>

matrix-sdk-android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ android {
6262
// that the app's state is completely cleared between tests.
6363
testInstrumentationRunnerArguments clearPackageData: 'true'
6464

65-
buildConfigField "String", "SDK_VERSION", "\"1.6.12\""
65+
buildConfigField "String", "SDK_VERSION", "\"1.6.14\""
6666

6767
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
6868
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/LiveEventListener.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.matrix.android.sdk.api.session
1818

19+
import org.matrix.android.sdk.api.session.crypto.MXCryptoError
1920
import org.matrix.android.sdk.api.session.events.model.Event
2021
import org.matrix.android.sdk.api.util.JsonDict
2122

@@ -27,7 +28,7 @@ interface LiveEventListener {
2728

2829
fun onEventDecrypted(event: Event, clearEvent: JsonDict)
2930

30-
fun onEventDecryptionError(event: Event, throwable: Throwable)
31+
fun onEventDecryptionError(event: Event, cryptoError: MXCryptoError)
3132

3233
fun onLiveToDeviceEvent(event: Event)
3334

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DecryptRoomEventUseCase.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ import org.matrix.android.sdk.api.session.crypto.model.OlmDecryptionResult
2222
import org.matrix.android.sdk.api.session.events.model.Event
2323
import javax.inject.Inject
2424

25-
internal class DecryptRoomEventUseCase @Inject constructor(private val olmMachine: OlmMachine) {
25+
internal class DecryptRoomEventUseCase @Inject constructor(
26+
private val cryptoService: RustCryptoService
27+
) {
2628

2729
suspend operator fun invoke(event: Event): MXEventDecryptionResult {
28-
return olmMachine.decryptRoomEvent(event)
30+
return cryptoService.decryptEvent(event, "")
2931
}
3032

3133
suspend fun decryptAndSaveResult(event: Event) {

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/Device.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,6 @@ internal class Device @AssistedInject constructor(
172172
* This will not fetch out fresh data from the Rust side.
173173
**/
174174
internal fun toCryptoDeviceInfo(): CryptoDeviceInfo {
175-
// val keys = innerDevice.keys.map { (keyId, key) -> keyId to key }.toMap()
176-
177175
return CryptoDeviceInfo(
178176
deviceId = innerDevice.deviceId,
179177
userId = innerDevice.userId,

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OlmMachine.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,18 +189,21 @@ internal class OlmMachine @Inject constructor(
189189
is OwnUserIdentity -> ownIdentity.trustsOurOwnDevice()
190190
else -> false
191191
}
192+
val ownDevice = inner.getDevice(userId(), deviceId, 0u)!!
193+
val creationTime = ownDevice.firstTimeSeenTs.toLong()
192194

193195
return CryptoDeviceInfo(
194196
deviceId(),
195197
userId(),
196-
// TODO pass the algorithms here.
197-
listOf(),
198+
ownDevice.algorithms,
198199
keys,
199200
mapOf(),
200-
UnsignedDeviceInfo(),
201+
UnsignedDeviceInfo(
202+
deviceDisplayName = ownDevice.displayName
203+
),
201204
DeviceTrustLevel(crossSigningVerified, locallyVerified = true),
202205
false,
203-
null
206+
creationTime
204207
)
205208
}
206209

@@ -291,7 +294,7 @@ internal class OlmMachine @Inject constructor(
291294
// checking the returned to devices to check for room keys.
292295
// XXX Anyhow there is now proper signaling we should soon stop parsing them manually
293296
receiveSyncChanges.toDeviceEvents.map {
294-
outAdapter.fromJson(it) ?: Event()
297+
outAdapter.fromJson(it) ?: Event()
295298
}
296299
}
297300

@@ -882,6 +885,7 @@ internal class OlmMachine @Inject constructor(
882885
inner.queryMissingSecretsFromOtherSessions()
883886
}
884887
}
888+
885889
@Throws(CryptoStoreException::class)
886890
suspend fun enableBackupV1(key: String, version: String) {
887891
return withContext(coroutineDispatchers.computation) {

0 commit comments

Comments
 (0)