Matrix SDK
Matrix (matrix.org) SDK written in dart.
Native libraries
For E2EE, vodozemac must be provided.
For flutter apps you can easily import it with the flutter_vodozemac package.
flutter pub add matrix
# Optional: For end to end encryption:
flutter pub add flutter_vodozemac
Get started
See the API documentation for details:
Tests
thread_count=$(getconf _NPROCESSORS_ONLN) // or your favourite number :3
dart test --concurrency=$thread_count test
- Adding the
-x olm
flag will skip tests which require olm - Using
-t olm
will run only olm specific tests, but these will probably break as they need prior setup (which is not marked as olm and hence won't be run)
Libraries
- encryption
- Matrix SDK encryption specific extension
- encryption/cross_signing
- encryption/encryption
- encryption/key_manager
- encryption/key_verification_manager
- encryption/olm_manager
- encryption/ssss
- encryption/utils/base64_unpadded
- encryption/utils/bootstrap
- encryption/utils/json_signature_check_extension
- encryption/utils/key_verification
- encryption/utils/olm_session
- encryption/utils/outbound_group_session
- encryption/utils/pickle_key
- encryption/utils/session_key
- encryption/utils/ssss_cache
- encryption/utils/stored_inbound_group_session
- fake_matrix_api
- matrix
- Matrix SDK written in pure Dart.
- matrix_api_lite
- Lightweight wrapper around the raw matrix API.
- matrix_api_lite/generated/api
- matrix_api_lite/generated/fixed_model
- matrix_api_lite/generated/internal
- matrix_api_lite/generated/model
- matrix_api_lite/matrix_api
- matrix_api_lite/model/algorithm_types
- matrix_api_lite/model/auth/authentication_data
- matrix_api_lite/model/auth/authentication_identifier
- matrix_api_lite/model/auth/authentication_password
- matrix_api_lite/model/auth/authentication_phone_identifier
- matrix_api_lite/model/auth/authentication_recaptcha
- matrix_api_lite/model/auth/authentication_third_party_identifier
- matrix_api_lite/model/auth/authentication_three_pid_creds
- matrix_api_lite/model/auth/authentication_token
- matrix_api_lite/model/auth/authentication_types
- matrix_api_lite/model/auth/authentication_user_identifier
- matrix_api_lite/model/basic_event
- matrix_api_lite/model/basic_event_with_sender
- matrix_api_lite/model/children_state
- matrix_api_lite/model/event_types
- matrix_api_lite/model/events/forwarded_room_key_content
- matrix_api_lite/model/events/image_pack_content
- matrix_api_lite/model/events/olm_plaintext_payload
- matrix_api_lite/model/events/room_encrypted_content
- matrix_api_lite/model/events/room_encryption_content
- matrix_api_lite/model/events/room_key_content
- matrix_api_lite/model/events/room_key_request_content
- matrix_api_lite/model/events/secret_storage_default_key_content
- matrix_api_lite/model/events/secret_storage_key_content
- matrix_api_lite/model/events/tombstone_content
- matrix_api_lite/model/matrix_event
- matrix_api_lite/model/matrix_exception
- matrix_api_lite/model/matrix_keys
- matrix_api_lite/model/message_types
- matrix_api_lite/model/presence
- matrix_api_lite/model/presence_content
- matrix_api_lite/model/room_creation_types
- matrix_api_lite/model/room_keys_keys
- matrix_api_lite/model/room_summary
- matrix_api_lite/model/room_types
- matrix_api_lite/model/stripped_state_event
- matrix_api_lite/model/sync_update
- matrix_api_lite/utils/filter_map_extension
- matrix_api_lite/utils/logs
- matrix_api_lite/utils/map_copy_extension
- matrix_api_lite/utils/print_logs_native
- matrix_api_lite/utils/print_logs_web
- matrix_api_lite/utils/try_get_map_extension
- matrix_api_lite/values
- msc_extensions/extension_audio_events/audio_events
- msc_extensions/extension_recent_emoji/recent_emoji
- Extension to synchronize the recently used widgets with Element clients
- msc_extensions/extension_timeline_export/timeline_export
- msc_extensions/msc_1236_widgets/msc_1236_widgets
- Extensions related to widgets in a room. Widgets are not part of the Matrix specification yet.
- msc_extensions/msc_1236_widgets/src/widget
- msc_extensions/msc_2835_uia_login/msc_2835_uia_login
- Experimental login method using User Interactive Authentication
- msc_extensions/msc_3814_dehydrated_devices/api
- msc_extensions/msc_3814_dehydrated_devices/model/dehydrated_device
- msc_extensions/msc_3814_dehydrated_devices/model/dehydrated_device_events
- msc_extensions/msc_3814_dehydrated_devices/msc_3814_dehydrated_devices
- Extensions for the experimental dehydrated devices MSC, which allows receiving encrypted messages while you have no devices signed in.
- msc_extensions/msc_3935_cute_events/msc_3935_cute_events
- msc_extensions/msc_4140_delayed_events/api
- msc_extensions/msc_4140_delayed_events/models
- msc_extensions/msc_4140_delayed_events/msc_4140_delayed_events
- msc_extensions/msc_unpublished_custom_refresh_token_lifetime/msc_unpublished_custom_refresh_token_lifetime