← Back to all sparks
E

Element Call

MEETINGS
Velocity5.0

Open-source end-to-end encrypted group video calling built on Matrix

Element Call now routes every participant through their own homeserver's SFU.

matrixwebrtcsfufederationwidget-embedding
Current state
Element Call publishes release candidates rather than finals, and is at v0.24.0-rc.1. The structural change in this window landed in v0.21.0-rc.1, which made multi-SFU the default: each participant connects to the media server associated with their own homeserver, and subscribes read-only to streams on others. Since then the work has been media quality controls, mobile layout for voice and group calls, and a breaking removal of .well-known transport discovery.
Where it's heading
The arc is toward removing negotiation and configuration from the connection path. Multi-SFU removed the argument over which server hosts a call; dropping .well-known transport discovery and the default server config removes guesses that were usually wrong. Alongside that, a steady mobile and widget-embedding thread continues, with React Compiler and spotlight re-render work aimed at the performance cost of running in someone else's app.
Prediction
With multi-SFU now the default and legacy single-SFU still reachable through developer settings, the likely next step is retiring that legacy path rather than adding another connection mode.

Recent moves

  1. 7d ago

    Media quality settings UI; .well-known transport discovery removed

    Adds a media quality settings UI with config-driven defaults, and removes .well-known transport discovery as a breaking change — another guess taken out of the connection path. React Compiler and spotlight re-render work target widget-mode performance.

    View source ↗
  2. 21d ago

    Landscape mobile call layout fixes

    A small candidate: a proper one-on-one layout for landscape mobile calls, grid mode preferred in landscape, and two display fixes. Continuation of the mobile polish thread.

    View source ↗
  3. 1mo ago

    Default gradient background and reworked mobile call design

    A gradient background becomes the default even in widget mode, overridable with background=solid, and voice and group calls on mobile are reworked in a change flagged breaking. Colours from the previous design system are dropped.

    View source ↗
  4. 1mo ago

    Multi-SFU becomes the default call topology

    ⚡ SPARK

    The architectural change this window turns on: participants stop negotiating a shared media server and each connect to their own homeserver's. Everything after it is polish on top of that topology.

    View source ↗
  5. 2mo ago

    matrix_rtc_mode config option and typed connection errors

    Adds a matrix_rtc_mode config option and surfaces LiveKit errors as themselves instead of generic unknowns, with a typed error when matrix_2_0 mode is forced against a homeserver lacking MSC4354 support. Groundwork for the mode switch that lands in v0.21.

    View source ↗
  6. 2mo ago

    Bug fixes, older WebView polyfill and dependency bumps

    Three bug fixes, a polyfill for older WebViews, developer tooling and dependency bumps. Routine maintenance between the substantive candidates.

    View source ↗