Add a developer option for history sharing on invite (#4821)
Adds a new developer flag, enabling our experimental support for MSC4268.
This commit is contained in:
parent
17c0bd88b6
commit
9be05262e2
3 changed files with 13 additions and 0 deletions
|
|
@ -112,6 +112,17 @@ enum class FeatureFlags(
|
||||||
defaultValue = { false },
|
defaultValue = { false },
|
||||||
isFinished = false,
|
isFinished = false,
|
||||||
),
|
),
|
||||||
|
EnableKeyShareOnInvite(
|
||||||
|
key = "feature.enableKeyShareOnInvite",
|
||||||
|
title = "Share encrypted history with new members",
|
||||||
|
description = "When inviting a user to an encrypted room that has history visibility set to \"shared\"," +
|
||||||
|
" share encrypted history with that user, and accept encrypted history when you are invited to such a room." +
|
||||||
|
"\nRequires an app restart to take effect." +
|
||||||
|
"\n\nWARNING: this feature is EXPERIMENTAL and not all security precautions are implemented." +
|
||||||
|
" Do not enable on production accounts.",
|
||||||
|
defaultValue = { false },
|
||||||
|
isFinished = false,
|
||||||
|
),
|
||||||
Knock(
|
Knock(
|
||||||
key = "feature.knock",
|
key = "feature.knock",
|
||||||
title = "Ask to join",
|
title = "Ask to join",
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,7 @@ class RustMatrixClientFactory @Inject constructor(
|
||||||
TrustRequirement.UNTRUSTED
|
TrustRequirement.UNTRUSTED
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
.enableShareHistoryOnInvite(featureFlagService.isFeatureEnabled(FeatureFlags.EnableKeyShareOnInvite))
|
||||||
.run {
|
.run {
|
||||||
// Apply sliding sync version settings
|
// Apply sliding sync version settings
|
||||||
when (slidingSyncType) {
|
when (slidingSyncType) {
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ class FakeFfiClientBuilder : ClientBuilder(NoPointer) {
|
||||||
override fun slidingSyncVersionBuilder(versionBuilder: SlidingSyncVersionBuilder) = this
|
override fun slidingSyncVersionBuilder(versionBuilder: SlidingSyncVersionBuilder) = this
|
||||||
override fun userAgent(userAgent: String) = this
|
override fun userAgent(userAgent: String) = this
|
||||||
override fun username(username: String) = this
|
override fun username(username: String) = this
|
||||||
|
override fun enableShareHistoryOnInvite(enableShareHistoryOnInvite: Boolean): ClientBuilder = this
|
||||||
|
|
||||||
override suspend fun buildWithQrCode(qrCodeData: QrCodeData, oidcConfiguration: OidcConfiguration, progressListener: QrLoginProgressListener): Client {
|
override suspend fun buildWithQrCode(qrCodeData: QrCodeData, oidcConfiguration: OidcConfiguration, progressListener: QrLoginProgressListener): Client {
|
||||||
return FakeFfiClient()
|
return FakeFfiClient()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue