mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-09 16:34:32 -04:00
For custom integrations it might be necessary to allow the SDK to request additional scopes for the OAuth2 authorization code flow. Currently, only the MSC2967 client API and client device scopes are requested statically. Signed-off-by: fl0lli <github@fl0lli.de>
195 lines
6.7 KiB
TOML
195 lines
6.7 KiB
TOML
[workspace]
|
|
members = [
|
|
"benchmarks",
|
|
"bindings/matrix-sdk-crypto-ffi",
|
|
"bindings/matrix-sdk-ffi",
|
|
"crates/*",
|
|
"examples/*",
|
|
"labs/*",
|
|
"testing/*",
|
|
"uniffi-bindgen",
|
|
"xtask",
|
|
]
|
|
exclude = ["testing/data"]
|
|
# xtask, testing and the bindings should only be built when invoked explicitly.
|
|
default-members = ["benchmarks", "crates/*", "labs/*"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
rust-version = "1.85"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1.0.95"
|
|
aquamarine = "0.6.0"
|
|
as_variant = "1.3.0"
|
|
assert-json-diff = "2.0.2"
|
|
assert_matches = "1.5.0"
|
|
assert_matches2 = "0.1.2"
|
|
async-compat = "0.2.4"
|
|
async-rx = "0.1.3"
|
|
async-stream = "0.3.5"
|
|
async-trait = "0.1.85"
|
|
base64 = "0.22.1"
|
|
bitflags = "2.8.0"
|
|
byteorder = "1.5.0"
|
|
chrono = "0.4.39"
|
|
eyeball = { version = "0.8.8", features = ["tracing"] }
|
|
eyeball-im = { version = "0.7.0", features = ["tracing"] }
|
|
eyeball-im-util = "0.9.0"
|
|
futures-core = "0.3.31"
|
|
futures-executor = "0.3.31"
|
|
futures-util = "0.3.31"
|
|
getrandom = { version = "0.2.15", default-features = false }
|
|
gloo-timers = "0.3.0"
|
|
growable-bloom-filter = "2.1.1"
|
|
hkdf = "0.12.4"
|
|
hmac = "0.12.1"
|
|
http = "1.2.0"
|
|
imbl = "5.0.0"
|
|
indexmap = "2.7.1"
|
|
insta = { version = "1.42.1", features = ["json", "redactions"] }
|
|
itertools = "0.14.0"
|
|
js-sys = "0.3.69"
|
|
mime = "0.3.17"
|
|
oauth2 = { version = "5.0.0", default-features = false, features = ["reqwest", "timing-resistant-secret-traits"] }
|
|
once_cell = "1.20.2"
|
|
pbkdf2 = { version = "0.12.2" }
|
|
pin-project-lite = "0.2.16"
|
|
proptest = { version = "1.6.0", default-features = false, features = ["std"] }
|
|
rand = "0.8.5"
|
|
reqwest = { version = "0.12.12", default-features = false }
|
|
rmp-serde = "1.3.0"
|
|
# Be careful to use commits from the https://github.com/ruma/ruma/tree/ruma-0.12
|
|
# branch until a proper release with breaking changes happens.
|
|
ruma = { version = "0.12.5", features = [
|
|
"client-api-c",
|
|
"compat-upload-signatures",
|
|
"compat-user-id",
|
|
"compat-arbitrary-length-ids",
|
|
"compat-tag-info",
|
|
"compat-encrypted-stickers",
|
|
"compat-lax-room-create-deser",
|
|
"compat-lax-room-topic-deser",
|
|
"unstable-msc3401",
|
|
"unstable-msc3488",
|
|
"unstable-msc3489",
|
|
"unstable-msc4075",
|
|
"unstable-msc4140",
|
|
"unstable-msc4143",
|
|
"unstable-msc4171",
|
|
"unstable-msc4278",
|
|
"unstable-msc4286",
|
|
] }
|
|
ruma-common = "0.15.4"
|
|
sentry = "0.36.0"
|
|
sentry-tracing = "0.36.0"
|
|
serde = { version = "1.0.217", features = ["rc"] }
|
|
serde_html_form = "0.2.7"
|
|
serde_json = "1.0.138"
|
|
sha2 = "0.10.8"
|
|
similar-asserts = "1.6.1"
|
|
stream_assert = "0.1.1"
|
|
tempfile = "3.16.0"
|
|
thiserror = "2.0.11"
|
|
tokio = { version = "1.43.1", default-features = false, features = ["sync"] }
|
|
tokio-stream = "0.1.17"
|
|
tracing = { version = "0.1.40", default-features = false, features = ["std"] }
|
|
tracing-core = "0.1.32"
|
|
tracing-subscriber = "0.3.18"
|
|
unicode-normalization = "0.1.24"
|
|
uniffi = { version = "0.28.0" }
|
|
uniffi_bindgen = { version = "0.28.0" }
|
|
url = "2.5.4"
|
|
uuid = "1.12.1"
|
|
vodozemac = { version = "0.9.0", features = ["insecure-pk-encryption"] }
|
|
wasm-bindgen = "0.2.84"
|
|
wasm-bindgen-test = "0.3.50"
|
|
web-sys = "0.3.69"
|
|
wiremock = "0.6.2"
|
|
zeroize = "1.8.1"
|
|
|
|
matrix-sdk = { path = "crates/matrix-sdk", version = "0.13.0", default-features = false }
|
|
matrix-sdk-base = { path = "crates/matrix-sdk-base", version = "0.13.0" }
|
|
matrix-sdk-common = { path = "crates/matrix-sdk-common", version = "0.13.0" }
|
|
matrix-sdk-crypto = { path = "crates/matrix-sdk-crypto", version = "0.13.0" }
|
|
matrix-sdk-ffi-macros = { path = "bindings/matrix-sdk-ffi-macros", version = "0.7.0" }
|
|
matrix-sdk-indexeddb = { path = "crates/matrix-sdk-indexeddb", version = "0.13.0", default-features = false }
|
|
matrix-sdk-qrcode = { path = "crates/matrix-sdk-qrcode", version = "0.13.0" }
|
|
matrix-sdk-sqlite = { path = "crates/matrix-sdk-sqlite", version = "0.13.0", default-features = false }
|
|
matrix-sdk-store-encryption = { path = "crates/matrix-sdk-store-encryption", version = "0.13.0" }
|
|
matrix-sdk-test = { path = "testing/matrix-sdk-test", version = "0.13.0" }
|
|
matrix-sdk-ui = { path = "crates/matrix-sdk-ui", version = "0.13.0", default-features = false }
|
|
|
|
[workspace.lints.rust]
|
|
rust_2018_idioms = "warn"
|
|
semicolon_in_expressions_from_macros = "warn"
|
|
unexpected_cfgs = { level = "warn", check-cfg = [
|
|
'cfg(tarpaulin_include)', # Used by tarpaulin (code coverage)
|
|
'cfg(ruma_unstable_exhaustive_types)', # Used by Ruma's EventContent derive macro
|
|
] }
|
|
unused_extern_crates = "warn"
|
|
unused_import_braces = "warn"
|
|
unused_qualifications = "warn"
|
|
trivial_casts = "warn"
|
|
trivial_numeric_casts = "warn"
|
|
|
|
[workspace.lints.clippy]
|
|
assigning_clones = "allow"
|
|
box_default = "allow"
|
|
cloned_instead_of_copied = "warn"
|
|
dbg_macro = "warn"
|
|
inefficient_to_string = "warn"
|
|
macro_use_imports = "warn"
|
|
manual_let_else = "warn"
|
|
mut_mut = "warn"
|
|
needless_borrow = "warn"
|
|
nonstandard_macro_braces = "warn"
|
|
redundant_clone = "warn"
|
|
str_to_string = "warn"
|
|
todo = "warn"
|
|
unnecessary_semicolon = "warn"
|
|
unused_async = "warn"
|
|
|
|
# Default development profile; default for most Cargo commands, otherwise
|
|
# selected with `--debug`
|
|
[profile.dev]
|
|
# Saves a lot of disk space. If symbols are needed, use the dbg profile.
|
|
debug = 0
|
|
|
|
[profile.dev.package]
|
|
# Optimize quote even in debug mode. Speeds up proc-macros enough to account
|
|
# for the extra time of optimizing it for a clean build of matrix-sdk-ffi.
|
|
quote = { opt-level = 2 }
|
|
sha2 = { opt-level = 2 }
|
|
# faster runs for insta.rs snapshot testing
|
|
insta.opt-level = 3
|
|
similar.opt-level = 3
|
|
|
|
# Custom profile with full debugging info, use `--profile dbg` to select
|
|
[profile.dbg]
|
|
inherits = "dev"
|
|
debug = 2
|
|
|
|
# Custom profile for use in (debug) builds of the binding crates, use
|
|
# `--profile reldbg` to select
|
|
[profile.reldbg]
|
|
inherits = "dbg"
|
|
opt-level = 3
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
# LTO is too slow to compile.
|
|
lto = false
|
|
# Get symbol names for profiling purposes.
|
|
debug = true
|
|
|
|
[patch.crates-io]
|
|
async-compat = { git = "https://github.com/element-hq/async-compat", rev = "5a27c8b290f1f1dcfc0c4ec22c464e38528aa591" }
|
|
const_panic = { git = "https://github.com/jplatte/const_panic", rev = "9024a4cb3eac45c1d2d980f17aaee287b17be498" }
|
|
# Needed to fix rotation log issue on Android (https://github.com/tokio-rs/tracing/issues/2937)
|
|
tracing = { git = "https://github.com/element-hq/tracing.git", rev = "ca9431f74d37c9d3b5e6a9f35b2c706711dab7dd" }
|
|
tracing-core = { git = "https://github.com/element-hq/tracing.git", rev = "ca9431f74d37c9d3b5e6a9f35b2c706711dab7dd" }
|
|
tracing-subscriber = { git = "https://github.com/element-hq/tracing.git", rev = "ca9431f74d37c9d3b5e6a9f35b2c706711dab7dd" }
|
|
tracing-appender = { git = "https://github.com/element-hq/tracing.git", rev = "ca9431f74d37c9d3b5e6a9f35b2c706711dab7dd" }
|
|
paranoid-android = { git = "https://github.com/element-hq/paranoid-android.git", rev = "69388ac5b4afeed7be4401c70ce17f6d9a2cf19b" }
|