HomeServerCapabilities

data class HomeServerCapabilities(    val canChangePassword: Boolean = true,     val canChangeDisplayName: Boolean = true,     val canChangeAvatar: Boolean = true,     val canChange3pid: Boolean = true,     val maxUploadFileSize: Long = MAX_UPLOAD_FILE_SIZE_UNKNOWN,     val lastVersionIdentityServerSupported: Boolean = false,     val defaultIdentityServerUrl: String? = null,     val roomVersions: RoomVersionCapabilities? = null,     val canUseThreading: Boolean = false,     val canControlLogoutDevices: Boolean = false,     val canLoginWithQrCode: Boolean = false,     val canUseThreadReadReceiptsAndNotifications: Boolean = false,     val canRemotelyTogglePushNotificationsOfDevices: Boolean = false,     var canRedactRelatedEvents: Boolean = false,     val externalAccountManagementUrl: String? = null,     val authenticationIssuer: String? = null,     val disableNetworkConstraint: Boolean? = null)

Constructors

Link copied to clipboard
fun HomeServerCapabilities(    canChangePassword: Boolean = true,     canChangeDisplayName: Boolean = true,     canChangeAvatar: Boolean = true,     canChange3pid: Boolean = true,     maxUploadFileSize: Long = MAX_UPLOAD_FILE_SIZE_UNKNOWN,     lastVersionIdentityServerSupported: Boolean = false,     defaultIdentityServerUrl: String? = null,     roomVersions: RoomVersionCapabilities? = null,     canUseThreading: Boolean = false,     canControlLogoutDevices: Boolean = false,     canLoginWithQrCode: Boolean = false,     canUseThreadReadReceiptsAndNotifications: Boolean = false,     canRemotelyTogglePushNotificationsOfDevices: Boolean = false,     canRedactRelatedEvents: Boolean = false,     externalAccountManagementUrl: String? = null,     authenticationIssuer: String? = null,     disableNetworkConstraint: Boolean? = null)

Types

Link copied to clipboard
object Companion
Link copied to clipboard

Functions

Link copied to clipboard

Check if a feature is supported by the homeserver.

fun isFeatureSupported(feature: String, byRoomVersion: String): Boolean
Link copied to clipboard
fun versionOverrideForFeature(feature: String): String?

Use this method to know if you should force a version when creating a room that requires this feature. You can also use #isFeatureSupported prior to this call to check if the feature is supported and report some feedback to user.

Properties

Link copied to clipboard
val authenticationIssuer: String? = null

Authentication issuer for use with MSC3824 delegated OIDC, provided in Wellknown.

Link copied to clipboard
val canChange3pid: Boolean = true

True if it is possible to change the 3pid associations of the account.

Link copied to clipboard
val canChangeAvatar: Boolean = true

True if it is possible to change the avatar of the account.

Link copied to clipboard
val canChangeDisplayName: Boolean = true

True if it is possible to change the display name of the account.

Link copied to clipboard
val canChangePassword: Boolean = true

True if it is possible to change the password of the account.

Link copied to clipboard
val canControlLogoutDevices: Boolean = false

True if the home server supports controlling the logout of all devices when changing password.

Link copied to clipboard
val canLoginWithQrCode: Boolean = false

True if the home server supports login via qr code, false otherwise.

Link copied to clipboard
var canRedactRelatedEvents: Boolean = false

True if the home server supports redaction of related events.

val canRemotelyTogglePushNotificationsOfDevices: Boolean = false

True if the home server supports remote toggle of Pusher for a given device.

Link copied to clipboard
val canUseThreading: Boolean = false

True if the home server support threading.

Link copied to clipboard
val canUseThreadReadReceiptsAndNotifications: Boolean = false

True if the home server supports threaded read receipts and unread notifications.

Link copied to clipboard
val defaultIdentityServerUrl: String? = null

Default identity server url, provided in Wellknown.

Link copied to clipboard
val delegatedOidcAuthEnabled: Boolean
Link copied to clipboard
val disableNetworkConstraint: Boolean? = null

If set to true, the SDK will not use the network constraint when configuring Worker for the WorkManager, provided in Wellknown.

Link copied to clipboard
val externalAccountManagementUrl: String? = null

External account management url for use with MSC3824 delegated OIDC, provided in Wellknown.

Link copied to clipboard
val lastVersionIdentityServerSupported: Boolean = false

Last version identity server and binding supported.

Link copied to clipboard
val maxUploadFileSize: Long

Max size of file which can be uploaded to the homeserver in bytes. MAX_UPLOAD_FILE_SIZE_UNKNOWN if unknown or not retrieved yet.

Link copied to clipboard
val roomVersions: RoomVersionCapabilities? = null

Room versions supported by the server. This capability describes the default and available room versions a server supports, and at what level of stability. Clients should make use of this capability to determine if users need to be encouraged to upgrade their rooms.