Skip to content

Commit 9889796

Browse files
committed
Merge branch 'release/1.6.50' into main
2 parents 0dacb16 + 7bf5c55 commit 9889796

File tree

42 files changed

+533
-272
lines changed

Some content is hidden

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

42 files changed

+533
-272
lines changed

CHANGES.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
Changes in Element v1.6.50 (2026-02-04)
2+
=======================================
3+
4+
Other changes
5+
-------------
6+
- Update the default bug reporting URL. ([#9097](https://github.com/element-hq/element-android/issues/9097))
7+
- Update OAuth-awareness to support the stable version of MSC3824. ([#9102](https://github.com/element-hq/element-android/issues/9102))
8+
- Update realm plugin to 10.19.0 ([#9111](https://github.com/element-hq/element-android/issues/9116))
9+
- Bump org.matrix.rustcomponents:crypto-android from 26.1.22 to 26.1.28 ([#9114](https://github.com/element-hq/element-android/issues/9114))
10+
- Update sentry to version 8.31.0 ([#9115](https://github.com/element-hq/element-android/issues/9115))
11+
- Update Maplibre dependency to version 11.6.1 ([#9116](https://github.com/element-hq/element-android/issues/9116))
12+
- Remove flipper from the codebase. ([#9117](https://github.com/element-hq/element-android/issues/9117))
13+
114
Changes in Element v1.6.48 (2025-10-15)
215
=======================================
316

dependencies.gradle

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ def markwon = "4.6.2"
1919
def moshi = "1.15.1"
2020
def lifecycle = "2.8.3"
2121
def flowBinding = "1.2.0"
22-
def flipper = "0.259.0"
2322
def epoxy = "5.0.0"
2423
def mavericks = "3.0.9"
2524
def glide = "4.16.0"
2625
def bigImageViewer = "1.8.1"
2726
def jjwt = "0.11.5"
2827
def vanniktechEmoji = "0.16.0"
29-
def sentry = "6.18.1"
28+
def sentry = "8.31.0"
3029
def fragment = "1.8.6"
3130
// Testing
3231
def mockk = "1.13.11"
@@ -95,10 +94,6 @@ ext.libs = [
9594
'hiltAndroidTesting' : "com.google.dagger:hilt-android-testing:$dagger",
9695
'hiltCompiler' : "com.google.dagger:hilt-compiler:$dagger"
9796
],
98-
flipper : [
99-
'flipper' : "com.facebook.flipper:flipper:$flipper",
100-
'flipperNetworkPlugin' : "com.facebook.flipper:flipper-network-plugin:$flipper",
101-
],
10297
element : [
10398
'opusencoder' : "io.element.android:opusencoder:1.1.0",
10499
'wysiwyg' : "io.element.android:wysiwyg:2.38.2"
@@ -132,8 +127,8 @@ ext.libs = [
132127
'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks"
133128
],
134129
maplibre : [
135-
'androidSdk' : "org.maplibre.gl:android-sdk:10.0.2",
136-
'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:1.0.0"
130+
'androidSdk' : "org.maplibre.gl:android-sdk:11.6.1",
131+
'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:3.0.2"
137132
],
138133
mockk : [
139134
'mockk' : "io.mockk:mockk:$mockk",

dependencies_groups.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ ext.groups = [
6969
'com.dropbox.core',
7070
'com.soywiz.korlibs.korte',
7171
'com.facebook.fbjni',
72-
'com.facebook.flipper',
7372
'com.facebook.fresco',
7473
'com.facebook.infer.annotation',
7574
'com.facebook.react',
@@ -114,7 +113,6 @@ ext.groups = [
114113
'com.intellij',
115114
'com.jakewharton.android.repackaged',
116115
'com.jakewharton.timber',
117-
'com.kgurgul.flipper',
118116
'com.linkedin.dexmaker',
119117
'com.mapbox.mapboxsdk',
120118
'com.nulab-inc',

docs/flipper.md

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Main changes in this version: bug fixes and improvements.
2+
Full changelog: https://github.com/element-hq/element-android/releases

matrix-sdk-android/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ buildscript {
1717
}
1818
}
1919
dependencies {
20-
classpath "io.realm:realm-gradle-plugin:10.18.0"
20+
classpath "io.realm:realm-gradle-plugin:10.19.0"
2121
}
2222
}
2323

@@ -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.48\""
65+
buildConfigField "String", "SDK_VERSION", "\"1.6.50\""
6666

6767
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
6868
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""
@@ -221,7 +221,7 @@ dependencies {
221221

222222
implementation libs.google.phonenumber
223223

224-
implementation("org.matrix.rustcomponents:crypto-android:0.11.1")
224+
implementation("org.matrix.rustcomponents:crypto-android:26.1.28")
225225
// api project(":library:rustCrypto")
226226

227227
testImplementation libs.tests.junit

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/SSOAction.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package org.matrix.android.sdk.api.auth
1919
/**
2020
* See https://github.com/matrix-org/matrix-spec-proposals/pull/3824
2121
*/
22-
enum class SSOAction {
23-
LOGIN,
24-
REGISTER;
22+
enum class SSOAction(val value: String) {
23+
LOGIN("login"),
24+
REGISTER("register");
2525
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright 2026 The Matrix.org Foundation C.I.C.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.matrix.android.sdk.api.auth.data
18+
19+
import com.squareup.moshi.Json
20+
import com.squareup.moshi.JsonClass
21+
22+
/**
23+
* This is a subset of the server metadata discovery for the OAuth 2.0 API
24+
* https://spec.matrix.org/v1.16/client-server-api/#get_matrixclientv1auth_metadata
25+
*
26+
* Includes the values from MSC4191: https://github.com/matrix-org/matrix-spec-proposals/pull/4191
27+
*
28+
* <pre>
29+
* {
30+
* "issuer": "https://id.server.org",
31+
* "account_management_uri": "https://id.server.org/my-account",
32+
* "account_management_actions_supported": ["org.matrix.profile", "org.matrix.devices_list"],
33+
* }
34+
* </pre>
35+
* .
36+
*/
37+
38+
@JsonClass(generateAdapter = true)
39+
data class AuthMetadata(
40+
@Json(name = "issuer")
41+
val issuer: String,
42+
43+
@Json(name = "account_management_uri")
44+
val accountManagementUri: String?,
45+
46+
@Json(name = "account_management_actions_supported")
47+
val accountManagementActionsSupported: List<String>?,
48+
)

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

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,17 @@ data class HomeServerCapabilities(
8282
var canRedactRelatedEvents: Boolean = false,
8383

8484
/**
85-
* External account management url for use with MSC3824 delegated OIDC, provided in Wellknown.
85+
* External account management url for use with OAuth API, provided by MSC4191 /auth_metadata discovery or in unstable Wellknown.
8686
*/
8787
val externalAccountManagementUrl: String? = null,
8888

8989
/**
90-
* Authentication issuer for use with MSC3824 delegated OIDC, provided in Wellknown.
90+
* External account management supported actions for use with OAuth API, provided by MSC4191 /auth_metadata discovery.
91+
*/
92+
val externalAccountManagementSupportedActions: List<String>? = null,
93+
94+
/**
95+
* Authentication issuer for use with MSC3824 delegated OIDC, provided by /auth_metadata discovery or in unstable Wellknown.
9196
*/
9297
val authenticationIssuer: String? = null,
9398

@@ -162,4 +167,26 @@ data class HomeServerCapabilities(
162167
const val ROOM_CAP_KNOCK = "knock"
163168
const val ROOM_CAP_RESTRICTED = "restricted"
164169
}
170+
171+
fun getLogoutDeviceURL(deviceId: String): String? {
172+
if (externalAccountManagementUrl == null) {
173+
return null
174+
}
175+
176+
// default to the stable value:
177+
var action = "org.matrix.device_delete"
178+
externalAccountManagementSupportedActions?.also { actions ->
179+
if (actions.contains("org.matrix.device_delete")) {
180+
// server supports stable version so use it
181+
} else if (actions.contains("org.matrix.session_end")) {
182+
// earlier version of MSC4191:
183+
action = "org.matrix.session_end"
184+
} else if (actions.contains("session_end")) {
185+
// previous unspecified version
186+
action = "session_end"
187+
}
188+
}
189+
190+
return externalAccountManagementUrl.removeSuffix("/") + "?action=${action}&device_id=${deviceId}"
191+
}
165192
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,11 @@ internal class DefaultAuthenticationService @Inject constructor(
106106
}
107107

108108
// unstable MSC3824 action param
109-
appendParamToUrl("org.matrix.msc3824.action", action.toString())
109+
// This can be removed once servers have been updated to support the stable one.
110+
appendParamToUrl("org.matrix.msc3824.action", action.value)
111+
112+
// stable param:
113+
appendParamToUrl("action", action.value)
110114
}
111115
}
112116

@@ -297,8 +301,8 @@ internal class DefaultAuthenticationService @Inject constructor(
297301
authAPI.getLoginFlows()
298302
}
299303

300-
// If an m.login.sso flow is present that is flagged as being for MSC3824 OIDC compatibility then we only return that flow
301-
val oidcCompatibilityFlow = loginFlowResponse.flows.orEmpty().firstOrNull { it.type == "m.login.sso" && it.delegatedOidcCompatibility == true }
304+
// If an m.login.sso flow is present that is flagged as being for MSC3824 OAuth compatibility then we only return that flow
305+
val oidcCompatibilityFlow = loginFlowResponse.flows.orEmpty().firstOrNull { it.type == "m.login.sso" && it.delegatedOidcCompatibility }
302306
val flows = if (oidcCompatibilityFlow != null) listOf(oidcCompatibilityFlow) else loginFlowResponse.flows
303307

304308
val supportsGetLoginTokenFlow = loginFlowResponse.flows.orEmpty().firstOrNull { it.type == "m.login.token" && it.getLoginToken == true } != null

0 commit comments

Comments
 (0)