[package] authors = ["Damir Jelić "] description = "The base component to build a Matrix client library." edition = "2021" homepage = "https://github.com/matrix-org/matrix-rust-sdk" keywords = ["matrix", "chat", "messaging", "ruma", "nio"] license = "Apache-2.0" name = "matrix-sdk-base" readme = "README.md" repository = "https://github.com/matrix-org/matrix-rust-sdk" rust-version = { workspace = true } version = "0.7.0" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] default = [] e2e-encryption = ["dep:matrix-sdk-crypto"] js = ["matrix-sdk-common/js", "matrix-sdk-crypto?/js", "ruma/js", "matrix-sdk-store-encryption/js"] qrcode = ["matrix-sdk-crypto?/qrcode"] automatic-room-key-forwarding = ["matrix-sdk-crypto?/automatic-room-key-forwarding"] message-ids = ["matrix-sdk-crypto?/message-ids"] experimental-sliding-sync = ["ruma/unstable-msc3575"] # helpers for testing features build upon this testing = [ "dep:assert_matches", "dep:assert_matches2", "dep:http", "dep:matrix-sdk-test", "matrix-sdk-crypto?/testing", ] [dependencies] as_variant = { workspace = true } assert_matches = { workspace = true, optional = true } assert_matches2 = { workspace = true, optional = true } async-trait = { workspace = true } bitflags = "2.1.0" eyeball = { workspace = true } eyeball-im = { workspace = true } futures-util = { workspace = true } http = { workspace = true, optional = true } matrix-sdk-common = { workspace = true } matrix-sdk-crypto = { workspace = true, optional = true } matrix-sdk-store-encryption = { workspace = true } matrix-sdk-test = { workspace = true, optional = true } once_cell = { workspace = true } ruma = { workspace = true, features = ["canonical-json", "unstable-msc3381"] } serde = { workspace = true, features = ["rc"] } serde_json = { workspace = true } tokio = { workspace = true } thiserror = { workspace = true } tracing = { workspace = true } [dev-dependencies] assert_matches = { workspace = true } assert_matches2 = { workspace = true } assign = "1.1.1" futures-executor = { workspace = true } http = { workspace = true } matrix-sdk-test = { workspace = true } stream_assert = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } [target.'cfg(target_arch = "wasm32")'.dev-dependencies] wasm-bindgen-test = "0.3.33"