No description
Follow-up to
|
||
|---|---|---|
| crates | ||
| docs | ||
| examples/tab-two-member | ||
| .gitignore | ||
| Cargo.toml | ||
| README.md | ||
mimi-ims
A self-hosted MIMI/MLS-based end-to-end encrypted messaging service. Backend
embeds mimi-core (Apache-2.0) +
openmls (RFC 9420). Browser client loads an
OpenMLS engine compiled to wasm32-unknown-unknown.
Status: Phase 0 (spikes). Not a usable service. See
examples/tab-two-member/README.md for the S1 feasibility + bundle-size gate.
Layout
crates/
ims-engine/ pure MIMI/MLS engine; builds for native AND wasm
ims-wasm/ wasm-bindgen browser bindings over ims-engine
ims-server/ internal API server (skeleton; Phase 2)
examples/
tab-two-member/ S1 spike: two tabs, one MLS group, one message
Why MIMI / MLS, not Matrix
MIMI is built around MLS (RFC 9420) end-to-end. Matrix's MLS support is still incomplete. MIMI is pre-standard (draft-ietf-mimi-protocol-06, expires Oct 2026); this project tracks the drafts and accepts the churn.
Build
# Native (smoke):
cargo build -p ims-server
# WASM (S1 spike):
cargo build --release -p ims-wasm --target wasm32-unknown-unknown
wasm-bindgen --out-dir examples/tab-two-member/pkg --target web --no-typescript \
target/wasm32-unknown-unknown/release/ims_wasm.wasm
S1 gate
Gzipped ims_wasm_bg.wasm must be ≤ 1.5 MB to GO. See
examples/tab-two-member/README.md.