atagen

matrix-rust-sdk

public
Star0
Watch0
ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk.git

Blame: bindings/matrix-sdk-ffi/README.md

7ff8adafe9e4atagen2026-10-22 12:30 UTC1
# FFI bindings for the rust matrix SDK
7ff8adafe9e4atagen2026-10-22 12:30 UTC2
7ff8adafe9e4atagen2026-10-22 12:30 UTC3
This uses [`uniffi`](https://mozilla.github.io/uniffi-rs/Overview.html) to build
7ff8adafe9e4atagen2026-10-22 12:30 UTC4
the matrix bindings for native support and wasm-bindgen for web-browser assembly
7ff8adafe9e4atagen2026-10-22 12:30 UTC5
support. Please refer to the specific section to figure out how to build and use
7ff8adafe9e4atagen2026-10-22 12:30 UTC6
the bindings for your platform.
7ff8adafe9e4atagen2026-10-22 12:30 UTC7
7ff8adafe9e4atagen2026-10-22 12:30 UTC8
## Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC9
7ff8adafe9e4atagen2026-10-22 12:30 UTC10
Given the number of platforms targeted, we have broken out a number of features
7ff8adafe9e4atagen2026-10-22 12:30 UTC11
7ff8adafe9e4atagen2026-10-22 12:30 UTC12
### Functionality
7ff8adafe9e4atagen2026-10-22 12:30 UTC13
7ff8adafe9e4atagen2026-10-22 12:30 UTC14
- `sentry`: Enable error monitoring using Sentry, not supports on Wasm
7ff8adafe9e4atagen2026-10-22 12:30 UTC15
  platforms.
7ff8adafe9e4atagen2026-10-22 12:30 UTC16
- `sqlite`: Use SQLite for the session storage.
7ff8adafe9e4atagen2026-10-22 12:30 UTC17
- `bundled-sqlite`: Use an embedded version of SQLite instead of the system
7ff8adafe9e4atagen2026-10-22 12:30 UTC18
  provided one.
7ff8adafe9e4atagen2026-10-22 12:30 UTC19
- `indexeddb`: Use IndexedDB for the session storage.
7ff8adafe9e4atagen2026-10-22 12:30 UTC20
7ff8adafe9e4atagen2026-10-22 12:30 UTC21
### Unstable specs
7ff8adafe9e4atagen2026-10-22 12:30 UTC22
7ff8adafe9e4atagen2026-10-22 12:30 UTC23
- `unstable-msc4274`: Adds support for gallery message types, which contain
7ff8adafe9e4atagen2026-10-22 12:30 UTC24
  multiple media elements.
7ff8adafe9e4atagen2026-10-22 12:30 UTC25
7ff8adafe9e4atagen2026-10-22 12:30 UTC26
## Platforms
7ff8adafe9e4atagen2026-10-22 12:30 UTC27
7ff8adafe9e4atagen2026-10-22 12:30 UTC28
Each supported target should use features to build the relevant system. Here are
7ff8adafe9e4atagen2026-10-22 12:30 UTC29
some suggested feature flags for the major platforms:
7ff8adafe9e4atagen2026-10-22 12:30 UTC30
7ff8adafe9e4atagen2026-10-22 12:30 UTC31
- Android: `"bundled-sqlite,unstable-msc4274,sentry"`
7ff8adafe9e4atagen2026-10-22 12:30 UTC32
- iOS: `"bundled-sqlite,unstable-msc4274,sentry"`
7ff8adafe9e4atagen2026-10-22 12:30 UTC33
- JavaScript/Wasm: `"indexeddb,unstable-msc4274"`
7ff8adafe9e4atagen2026-10-22 12:30 UTC34
7ff8adafe9e4atagen2026-10-22 12:30 UTC35
### Swift/iOS sync
7ff8adafe9e4atagen2026-10-22 12:30 UTC36
7ff8adafe9e4atagen2026-10-22 12:30 UTC37
TBD