| 1 | [package] |
| 2 | name = "macltok" |
| 3 | version = "0.1.0" |
| 4 | edition = "2024" |
| 5 | description = "A compact application backend on top of the Matrix Rust SDK" |
| 6 | |
| 7 | [features] |
| 8 | default = [] |
| 9 | mirror = [] |
| 10 | serde = ["dep:serde", "imbl/serde"] |
| 11 | sqlite = ["matrix-sdk/sqlite", "serde", "dep:url", "dep:matrix-sdk-store-encryption", "dep:rusqlite"] |
| 12 | bundled-sqlite = ["sqlite", "matrix-sdk/bundled-sqlite"] |
| 13 | indexeddb = [ |
| 14 | "matrix-sdk/indexeddb", |
| 15 | "serde", |
| 16 | "dep:url", |
| 17 | "dep:matrix-sdk-store-encryption", |
| 18 | "dep:indexed_db_futures", |
| 19 | "dep:js-sys", |
| 20 | "dep:wasm-bindgen", |
| 21 | "dep:wasm-bindgen-futures", |
| 22 | "dep:web-sys", |
| 23 | ] |
| 24 | |
| 25 | [dependencies] |
| 26 | futures-util = { version = "0.3.31", default-features = false, features = ["std"] } |
| 27 | http = "1" |
| 28 | imbl = { version = "6.1.0", default-features = false } |
| 29 | matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["e2e-encryption"] } |
| 30 | matrix-sdk-base = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false } |
| 31 | matrix-sdk-crypto = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false } |
| 32 | matrix-sdk-store-encryption = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", optional = true } |
| 33 | matrix-sdk-ui = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false } |
| 34 | ruma = { version = "0.16.0", default-features = false, features = ["unstable-msc2545", "unstable-msc4095"] } |
| 35 | serde = { version = "1.0.219", features = ["derive", "rc"], optional = true } |
| 36 | serde_json = { version = "1.0.143", features = ["raw_value"] } |
| 37 | thiserror = "2.0.16" |
| 38 | mime = "0.3.17" |
| 39 | sha2 = "0.10.9" |
| 40 | tokio = { version = "1.47.1", features = ["macros", "sync"] } |
| 41 | tracing = "0.1.41" |
| 42 | url = { version = "2.5.7", optional = true } |
| 43 | rusqlite = { version = "0.37", optional = true } |
| 44 | |
| 45 | [target.'cfg(target_family = "wasm")'.dependencies] |
| 46 | getrandom = { version = "0.2", features = ["js"] } |
| 47 | getrandom3 = { package = "getrandom", version = "0.3", features = ["wasm_js"] } |
| 48 | getrandom4 = { package = "getrandom", version = "0.4", features = ["wasm_js"] } |
| 49 | indexed_db_futures = { package = "matrix_indexed_db_futures", version = "0.7.0", optional = true, features = ["typed-arrays"] } |
| 50 | js-sys = { version = "0.3.105", optional = true } |
| 51 | matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["js"] } |
| 52 | matrix-sdk-ui = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["js"] } |
| 53 | # the sdk's own wasm reqwest leaves out stream, which the bounded media download needs |
| 54 | reqwest = { version = "0.13.1", default-features = false, features = ["stream"] } |
| 55 | uuid = { version = "1", features = ["js"] } |
| 56 | wasm-bindgen = { version = "0.2.128", optional = true } |
| 57 | wasm-bindgen-futures = { version = "0.4.78", optional = true } |
| 58 | web-sys = { version = "0.3.105", optional = true, features = [ |
| 59 | "IdbFactory", |
| 60 | "IdbOpenDbRequest", |
| 61 | "IdbRequest", |
| 62 | "Window", |
| 63 | "WorkerGlobalScope", |
| 64 | ] } |
| 65 | |
| 66 | [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] |
| 67 | matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["testing"] } |
| 68 | matrix-sdk-test = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd" } |
| 69 | tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread", "signal", "time"] } |
| 70 | wiremock = "0.6.5" |
| 71 | |
| 72 | [target.'cfg(target_family = "wasm")'.dev-dependencies] |
| 73 | tokio = { version = "1.47.1", features = ["macros", "rt"] } |
| 74 | wasm-bindgen-test = "0.3" |
| 75 | |
| 76 | [[example]] |
| 77 | name = "headless" |
| 78 | required-features = ["sqlite"] |
| 79 | |
| 80 | [lints.rust] |
| 81 | unsafe_code = "forbid" |
| 82 | |
| 83 | [lints.clippy] |
| 84 | all = "warn" |