matrix library
Matrix SDK written in pure Dart.
Classes
- AlgorithmTypes
- ArchivedRoom
- AssertedIdentity
- MSC3086: Asserted identity on VoIP calls https://github.com/matrix-org/matrix-doc/pull/3086
- AuthenticationData
- AuthenticationFlow
- For each endpoint, a server offers one or more 'flows' that the client can use to authenticate itself. Each flow comprises a series of stages
- AuthenticationIdentifier
- AuthenticationIdentifierTypes
- AuthenticationPassword
- AuthenticationPhoneIdentifier
- AuthenticationRecaptcha
- AuthenticationThirdPartyIdentifier
- AuthenticationThreePidCreds
- For email based identity: https://matrix.org/docs/spec/client_server/r0.6.1#email-based-identity-homeserver Or phone number based identity: https://matrix.org/docs/spec/client_server/r0.6.1#phone-number-msisdn-based-identity-homeserver
- AuthenticationToken
- AuthenticationTypes
- AuthenticationUserIdentifier
- BasicEvent
- BasicEventWithSender
- BasicRoomEvent
- CachedPresence
- CallCapabilities
- https://github.com/matrix-org/matrix-doc/blob/dbkr/msc2747/proposals/2747-voip-call-transfer.md#capability-advertisment https://github.com/matrix-org/matrix-doc/blob/dbkr/msc2746/proposals/2746-reliable-voip.md#add-dtmf
- CallErrorCode
- CallOptions
- Initialization parameters of the call session.
- CallReplaces
- MSC2747: VoIP call transfers https://github.com/matrix-org/matrix-doc/pull/2747
- CallReplacesTarget
- CallSession
- A call session object
- Capabilities
- Categories
- ChangePasswordCapability
- ChildRoomsChunk
- CiphertextInfo
- ClaimKeysResponse
- Client
- Represents a Matrix client to communicate with a Matrix homeserver and is the entry point for this SDK.
- CommandArgs
- ConnectionInfo
- ConnectionTester
- CrossSigningKey
- CuteEventContent
- DatabaseApi
- Device
- A client device
- DeviceInfo
- DeviceKeys
- DeviceKeysList
- DeviceListsUpdate
- DiscoveryInformation
- Used by clients to determine the homeserver, identity server, and other optional components they should be interacting with.
- EncryptedFile
- EvaluatedPushRuleAction
- Event
- All data exchanged over Matrix is expressed as an "event". Typically each client action (e.g. sending a message) correlates with exactly one event.
- EventContext
- The events and state surrounding the requested event.
- EventFilter
- EventTypes
- EventUpdate
- Represents a new event (e.g. a message in a room) or an update for an already known event.
- FamedlySdkHiveDatabase
-
This is a basic database for the Matrix SDK using the hive store. You need
to make sure that you perform
Hive.init()
orHive.flutterInit()
before you use this. - FieldType
- Definition of valid values for a field.
- Filter
- FixedTimeoutHttpClient
- ForwardedRoomKeyContent
- GetEventByTimestampResponse
- GetEventsResponse
- GetKeysChangesResponse
- GetNotificationsResponse
- GetPresenceResponse
- GetPublicRoomsResponse
- A list of the rooms on the server.
- GetRelatingEventsResponse
- GetRelatingEventsWithRelTypeAndEventTypeResponse
- GetRelatingEventsWithRelTypeResponse
- GetRoomEventsResponse
- A list of messages with a new token to request more.
- GetRoomIdByAliasResponse
- GetRoomKeysVersionCurrentResponse
- GetRoomKeysVersionResponse
- GetSpaceHierarchyResponse
- GetThreadRootsResponse
- GetUrlPreviewResponse
- GetVersionsResponse
- Group
- Configuration for group.
- GroupCall
- GroupCallErrorCode
- GroupCallEvent
- GroupCallIntent
- TODO(@duan): Need to add voice activity detection mechanism const int SPEAKING_THRESHOLD = -60; // dB
- GroupCallState
- GroupCallTerminationReason
- GroupCallType
- Groupings
- GroupValue
- The results for a particular group value.
- HiveCollectionsDatabase
- This database does not support file caching!
- HomeserverInformation
- HomeserverSummary
- ICallHandlers
- IdentityServerInformation
- IGroupCallRoomMemberCallState
- IGroupCallRoomMemberDevice
- IGroupCallRoomMemberFeed
- IGroupCallRoomMemberState
- ImagePackContent
- ImagePackImageContent
- ImagePackPackContent
- IncludeEventContext
- Invite3pid
- InvitedRoomUpdate
- ISendEventResponse
- JoinedRoomUpdate
- KeyBackupData
- The key data
- LatestReceiptState
- LatestReceiptStateData
- LatestReceiptStateForTimeline
- LeftRoomUpdate
- Location
- LogEvent
- LoginFlow
- LoginResponse
- Logs
- MatrixApi
- MatrixAudioFile
- MatrixCrossSigningKey
- MatrixDefaultLocalizations
- MatrixDeviceKeys
- MatrixEvent
- MatrixFile
- MatrixIdentifierStringExtensionResults
- MatrixImageFile
- MatrixImageFileResizeArguments
- MatrixImageFileResizedResponse
- MatrixLocalizations
- MatrixSdkDatabase
- MatrixSignableKey
- MatrixVideoFile
- MatrixWidget
- MessageTypes
- MultiKey
- NativeImplementations
- provides native implementations for demanding arithmetic operations in order to prevent the UI from blocking
- NativeImplementationsDummy
- NativeImplementationsIsolate
-
a NativeImplementations based on Flutter's
compute
function - NativeImplementationsWebWorker
- Notification
- OlmPlaintextPayload
- OpenIdCredentials
- PassphraseInfo
- PeekEventsResponse
- Presence
- PresenceContent
- Profile
- ProfileInformation
- Protocol
- ProtocolInstance
- PublicRoomQueryFilter
- PublicRoomsChunk
- PushCondition
- Pusher
- PusherData
- PusherId
- PushNotification
- Push Notification object from https://spec.matrix.org/v1.2/push-gateway-api/
- PushNotificationCounts
- PushNotificationDevice
- PushRule
- PushRuleAction
- PushruleEvaluator
- PushRuleSet
- QueryKeysResponse
- QueryPublicRoomsResponse
- A list of the rooms on the server.
- Receipt
- Represents a receipt. This user has read an event at the given time.
- ReceiptData
- ReceiptEventContent
- RefreshResponse
- RegisterResponse
- RelationshipTypes
- RequestedKeyInfo
- RequestTokenResponse
- Result
- The result object.
- ResultCategories
- ResultRoomEvents
- Room
- Represents a Matrix room.
- RoomCreationTypes
- RoomEncryptedContent
- RoomEncryptionContent
- RoomEventFilter
- RoomEventsCriteria
- RoomFilter
- RoomKeyBackup
- The backed up keys for a room.
- RoomKeyContent
- RoomKeyRequestContent
- RoomKeys
- RoomKeysUpdateResponse
- RoomMember
- RoomSummary
- RoomsUpdate
- RoomVersionsCapability
- SdkError
- SDPStreamMetadata
- SDPStreamMetadataPurpose
- SDPStreamPurpose
- MSC3077: Support for multi-stream VoIP https://github.com/matrix-org/matrix-doc/pull/3077
- SearchFilter
- SearchResults
- SearchResultsEventContext
- SearchUserDirectoryResponse
- SecretStorageDefaultKeyContent
- SecretStorageKeyContent
- ServerConfig
- SessionInfo
- SignableKey
- SimpleSignableKey
- SpaceRoomsChunk
- StateEvent
- StateFilter
- StrippedStateEvent
- SyncRoomUpdate
- SyncStatusUpdate
- SyncUpdate
- Tag
- TagType
- ThirdPartyIdentifier
- ThirdPartySigned
-
A signature of an
m.third_party_invite
token to prove that this user owns a third party identity which has been invited to the room. - ThirdPartyUser
- ThreePidCredentials
- ThreepidCreds
- Timeline
-
Represents the timeline of a room. The callback onUpdate will be triggered
automatically. The initial
event list will be retreived when created by the
room.getTimeline()
method. - TimelineUpdate
- TimeoutHttpClient
- Http Client that enforces a timeout on requests. Timeout calculation is done in a subclass.
- Timeouts
- ToDeviceEvent
- ToDeviceEventDecryptionError
- TokenOwnerInfo
- TombstoneContent
- TryGet
- TupleKey
- TurnServerCredentials
- Tweaks
-
UiaRequest<
T> - Wrapper to handle User interactive authentication requests
- UnreadNotificationCounts
- User
- Represents a Matrix User which may be a participant in a Matrix Room.
- UserProfile
- VoIP
- WebRTCDelegate
- Delegate WebRTC basic functionality.
- WhoIsInfo
- WrappedMediaStream
- Wrapped MediaStream, used to adapt Widget to display
Extensions
- AccountKindEnhancedEnum
- AccountKindFromStringExtension
- BackupAlgorithmEnhancedEnum
- BackupAlgorithmFromStringExtension
- CommandsClientExtension
- CreateRoomPresetEnhancedEnum
- CreateRoomPresetFromStringExtension
- DehydratedDeviceHandler
- DirectionEnhancedEnum
- DirectionFromStringExtension
- EventFormatEnhancedEnum
- EventFormatFromStringExtension
- EventStatusExtension
- FilterMap
- ForwardedRoomKeyContentBasicEventExtension
- FromHiveKeyExtension
- GroupCallClientUtils
- GroupCallUtils
- GroupKeyEnhancedEnum
- GroupKeyFromStringExtension
- GuestAccessDisplayString
- HistoryVisibilityDisplayString
- HiveKeyExtension
- IdServerUnbindResultEnhancedEnum
- IdServerUnbindResultFromStringExtension
- ImagePackContentBasicEventExtension
- ImagePackRoomExtension
- IncludeEnhancedEnum
- IncludeFromStringExtension
- JoinRulesDisplayString
- KeyKindEnhancedEnum
- KeyKindFromStringExtension
- LoginTypeEnhancedEnum
- LoginTypeFromStringExtension
- MapCopyExtension
- MatrixIdExtension
- MatrixWidgets
- MembershipEnhancedEnum
- MembershipFromStringExtension
- MethodEnhancedEnum
- MethodFromStringExtension
- MxcUriExtension
- PresenceTypeEnhancedEnum
- PresenceTypeFromStringExtension
- PushRuleKindEnhancedEnum
- PushRuleKindFromStringExtension
- ReceiptTypeEnhancedEnum
- ReceiptTypeFromStringExtension
- RecentEmojiExtension
- Syncs recent emojis in account data
- RoomEncryptedContentBasicEventExtension
- RoomEncryptionContentBasicEventExtension
- RoomKeyContentBasicEventExtension
- RoomKeyRequestContentBasicEventExtension
- RoomMemberChangeTypeExtension
- RoomVersionAvailableEnhancedEnum
- RoomVersionAvailableFromStringExtension
- RTCIceCandidateExt
- SearchOrderEnhancedEnum
- SearchOrderFromStringExtension
- SecretStorageDefaultKeyContentBasicEventExtension
- SecretStorageKeyContentBasicEventExtension
- SyncUpdateFilters
-
This extension adds easy-to-use filters for the sync update, meant to be used on the
client.onSync
stream, e.g.client.onSync.stream.where((s) => s.hasRoomUpdate)
. Multiple filters can easily be combind with boolean logic:client.onSync.stream.where((s) => s.hasRoomUpdate || s.hasPresenceUpdate)
- ThirdPartyIdentifierMediumEnhancedEnum
- ThirdPartyIdentifierMediumFromStringExtension
- ToMatrixFile
- TombstoneContentBasicEventExtension
- TrailingSlash
- TryGetMapExtension
- UiaLogin
- VisibilityEnhancedEnum
- VisibilityFromStringExtension
Constants
- emptyRoomName → const String
- fileSendingStatusKey → const String
- maxLength → const int
- messageSendingStatusKey → const String
- sdpStreamMetadataKey → const String
-
validSigils
→ const Set<
String> - voipProtoVersion → const String
- https://github.com/matrix-org/matrix-doc/pull/2746 version 1
Functions
-
convertToJson(
Map map) → Map< String, dynamic> -
Hive always gives back an
_InternalLinkedHasMap<dynamic, dynamic>
. This creates a deep copy of the json and makes sure that the format is alwaysMap<String, dynamic>
. -
copyMap(
Map map) → Map< String, dynamic> -
The store always gives back an
_InternalLinkedHasMap<dynamic, dynamic>
. This creates a deep copy of the json and makes sure that the format is alwaysMap<String, dynamic>
. -
decryptFileImplementation(
EncryptedFile input) → Future< Uint8List?> - you would likely want to use NativeImplementations and Client.nativeImplementations instead
-
encryptFile(
Uint8List input) → Future< EncryptedFile> -
eventStatusFromInt(
int intValue) → EventStatus -
Returns
EventStatusEnum
value fromintValue
. -
genCallID(
) → String -
hasAudioDevice(
) → Future< bool> -
hasVideoDevice(
) → Future< bool> -
imagePackUsageFromJson(
List< String> ? json) → List<ImagePackUsage> ? -
imagePackUsageToJson(
List< ImagePackUsage> ? usage, List<String> ? prevUsage) → List<String> -
latestEventStatus(
EventStatus status1, EventStatus status2) → EventStatus - Takes two EventStatus values and returns the one with higher (better in terms of message sending) status.
-
makeJson(
Map json, [bool copy = false]) → Map< String, Object?> -
replaceStream(
StreamedResponse base, Stream< List< stream) → StreamedResponseint> > -
roomAliasFromRoomName(
String roomName) → String -
setTracksEnabled(
List< MediaStreamTrack> tracks, bool enabled) → void -
startWebWorker(
) → Future< void> - CAUTION: THIS FILE NEEDS TO BE MANUALLY COMPILED
-
stopMediaStream(
MediaStream? stream) → Future< void>
Enums
- AccountKind
- BackupAlgorithm
- CallDirection
- CallEvent
- CallParty
- CallState
- CallType
- CreateRoomPreset
- Direction
- EncryptionHealthState
- EventFormat
- EventStatus
- Defines event status:
- EventUpdateType
- FileSendingStatus
- GroupKey
- GuestAccess
- HistoryVisibility
- IdServerUnbindResult
- ImagePackUsage
- Include
- JoinRules
- KeyKind
- Level
- LoginState
- LoginType
- MatrixError
- Membership
- Method
- PresenceType
- PushRuleKind
- PushRuleState
- ReceiptType
- RequestType
- RoomMemberChangeType
- The kind of what has changed with this m.room.member event to have a comparable type.
- RoomVersionAvailable
- The stability of the room version.
- SearchOrder
- SyncStatus
- ThirdPartyIdentifierMedium
- ThumbnailMethod
- UiaRequestState
- UserVerifiedStatus
- Visibility
Typedefs
- RoomSorter = int Function(Room a, Room b)
-
WebWorkerStackTraceCallback
= FutureOr<
StackTrace> Function(String obfuscatedStackTrace) - converts a stringifyed, obfuscated StackTrace into a StackTrace
Exceptions / Errors
- BadServerLoginTypesException
- BadServerVersionsException
- CallError
- FileTooBigMatrixException
- GroupCallError
- MatrixConnectionException
- MatrixException
- Represents a special response from the Homeserver for errors.
- SyncConnectionException
- WebWorkerError