Evaluate element-hq/matrix-rust-rtc as the MatrixRTC layer for crates/matrix-rtc (#41) #146

Open
opened 2026-10-02 16:53:22 +00:00 by robocub · 0 comments
Member

Element's Rust MatrixRTC SDK (element-hq/matrix-rust-rtc, AGPL-3.0 / Element Commercial) implements what crates/matrix-rtc hand-rolls today: MSC4143 call membership, per-participant frame E2EE with keys delivered over Olm to-device, multi-SFU (MSC4195) per-focus connections, simulcast subscription, and a LiveKit transport behind a transport-neutral API.

Most of our recent interop bugs live in exactly that layer (#135, #139, #144). Adopting the reference implementation could remove a lot of code and track the spec for us.

Before any pivot (ADR first, as part of #41):

  • Many identities per process: the bridge drives dozens of ghosts through the appservice; does the SDK support that, including masqueraded appservice users?
  • Server-side Linux use as a plain Rust crate (its bindings target Android/iOS/WASM).
  • livekit-rust version and pinning (CLAUDE.md constraint 7); frame-crypto KDF compatibility (constraint 3).
  • API stability: the project is young; wait for it to settle.

Not urgent; recorded for the #41 planning.

Element's Rust MatrixRTC SDK ([element-hq/matrix-rust-rtc](https://github.com/element-hq/matrix-rust-rtc), AGPL-3.0 / Element Commercial) implements what `crates/matrix-rtc` hand-rolls today: MSC4143 call membership, per-participant frame E2EE with keys delivered over Olm to-device, multi-SFU (MSC4195) per-focus connections, simulcast subscription, and a LiveKit transport behind a transport-neutral API. Most of our recent interop bugs live in exactly that layer (#135, #139, #144). Adopting the reference implementation could remove a lot of code and track the spec for us. Before any pivot (ADR first, as part of #41): - **Many identities per process:** the bridge drives dozens of ghosts through the appservice; does the SDK support that, including masqueraded appservice users? - **Server-side Linux use** as a plain Rust crate (its bindings target Android/iOS/WASM). - **livekit-rust version** and pinning (CLAUDE.md constraint 7); frame-crypto KDF compatibility (constraint 3). - **API stability:** the project is young; wait for it to settle. Not urgent; recorded for the #41 planning.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nether/nether-voicebridge#146
No description provided.