From 959a55a9f862849b622fbde9e56d5830fa7da3fb Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 08:05:03 +0200 Subject: [PATCH 01/11] Use correct preposition Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c82e4b0..30482888 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ requiring a separate Matrix client. ### 📲 In-App Calling (Widget Mode in Messenger Apps) -When used as a widget 🧩, Element Call is solely responsible on the core calling +When used as a widget 🧩, Element Call is solely responsible for the core calling functionality (MatrixRTC). Authentication, event handling, and room state updates (via the Client-Server API) are handled by the hosting client. Communication between Element Call and the client is managed through the widget From a2c6b8102ac22175e4301d550bd72def8e00d24d Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 08:19:49 +0200 Subject: [PATCH 02/11] Link to self-hosting guide Signed-off-by: Johannes Marbach --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30482888..770a7361 100644 --- a/README.md +++ b/README.md @@ -118,8 +118,8 @@ For operating and deploying Element Call on your own server, refer to the ## 🧭 MatrixRTC Backend Discovery and Selection For proper Element Call operation each site deployment needs a MatrixRTC backend -setup as outlined in the [Self-Hosting](#self_hosting). A typical federated site -deployment for three different sites A, B and C is depicted below. +setup as outlined in the [Self-Hosting Guide](./docs/self_hosting.md). A typical +federated site deployment for three different sites A, B and C is depicted below.

Element Call federated setup From b0c1c48ad4f4da0874808515df8cb0a4744a80a1 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 08:26:42 +0200 Subject: [PATCH 03/11] Add missing article Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 770a7361..27e94c9d 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ federated site deployment for three different sites A, B and C is depicted below ### Backend Discovery -MatrixRTC backend (according to +The MatrixRTC backend (according to [MSC4143](https://github.com/matrix-org/matrix-spec-proposals/pull/4143)) is announced by the Matrix site's `.well-known/matrix/client` file and discovered via the `org.matrix.msc4143.rtc_foci` key, e.g.: From abce4d16fc43d2817254831ffac5a42a15955c5f Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 08:29:47 +0200 Subject: [PATCH 04/11] Add missing article Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27e94c9d..65b504d4 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ via `livekit_service_url`. - Each call participant proposes their discovered MatrixRTC backend from `org.matrix.msc4143.rtc_foci` in their `org.matrix.msc3401.call.member` state event. -- For **LiveKit** MatrixRTC backend +- For the **LiveKit** MatrixRTC backend ([MSC4195](https://github.com/hughns/matrix-spec-proposals/blob/hughns/matrixrtc-livekit/proposals/4195-matrixrtc-livekit.md)), the **first participant who joined the call** defines via the `foci_preferred` key in their `org.matrix.msc3401.call.member` which actual MatrixRTC backend From 0160f60c6d0103458cd5d72ef22965aaa7fa8be1 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 08:33:36 +0200 Subject: [PATCH 05/11] Reorder sentence fragments for better readability Signed-off-by: Johannes Marbach --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 65b504d4..9421d9e5 100644 --- a/README.md +++ b/README.md @@ -153,9 +153,8 @@ via `livekit_service_url`. `org.matrix.msc4143.rtc_foci` in their `org.matrix.msc3401.call.member` state event. - For the **LiveKit** MatrixRTC backend ([MSC4195](https://github.com/hughns/matrix-spec-proposals/blob/hughns/matrixrtc-livekit/proposals/4195-matrixrtc-livekit.md)), - the **first participant who joined the call** defines via the `foci_preferred` - key in their `org.matrix.msc3401.call.member` which actual MatrixRTC backend - will be used for this call. + the **first participant who joined the call** defines which backend will be used for this call via + the `foci_preferred` key in their `org.matrix.msc3401.call.member` state event. - During the actual call join flow, the **[MatrixRTC Authorization Service](https://github.com/element-hq/lk-jwt-service)** provides the client with the **LiveKit SFU WebSocket URL** and an **access JWT token** in order to exchange media via WebRTC. From 69b5209071911046fef78d4ad05d415a0e663cc9 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 08:40:08 +0200 Subject: [PATCH 06/11] Fix typo Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9421d9e5..827ea6ec 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ A docker compose file `dev-backend-docker-compose.yml` is provided to start the whole stack of components which is required for a local development environment including federation: -- Minimum Synapse Setup (servernameis: `synapse.m.localhost`, `synapse.othersite.m.localhost`) +- Minimum Synapse Setup (servernames: `synapse.m.localhost`, `synapse.othersite.m.localhost`) - MatrixRTC Authorization Service (Note requires Federation API and hence a TLS reverse proxy) - Minimum LiveKit SFU setup using dev defaults for config - Minimum `localhost` Certificate Authority (CA) for Transport Layer Security (TLS) From 9d522913f938c950246e60277d2696438c04d250 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 09:46:41 +0200 Subject: [PATCH 07/11] Add missing colon Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 827ea6ec..dc4432eb 100644 --- a/README.md +++ b/README.md @@ -210,7 +210,7 @@ whole stack of components which is required for a local development environment including federation: - Minimum Synapse Setup (servernames: `synapse.m.localhost`, `synapse.othersite.m.localhost`) -- MatrixRTC Authorization Service (Note requires Federation API and hence a TLS reverse proxy) +- MatrixRTC Authorization Service (Note: requires Federation API and hence a TLS reverse proxy) - Minimum LiveKit SFU setup using dev defaults for config - Minimum `localhost` Certificate Authority (CA) for Transport Layer Security (TLS) - Hostnames: `m.localhost`, `*.m.localhost`, `*.othersite.m.localhost` From 198d9616464f605de907c60cc1fe24be2300938a Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 09:48:46 +0200 Subject: [PATCH 08/11] Add missing apostrophe Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc4432eb..a421bdcf 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ including federation: - Minimum LiveKit SFU setup using dev defaults for config - Minimum `localhost` Certificate Authority (CA) for Transport Layer Security (TLS) - Hostnames: `m.localhost`, `*.m.localhost`, `*.othersite.m.localhost` - - Add [./backend/dev_tls_local-ca.crt](./backend/dev_tls_local-ca.crt) to your web browsers trusted + - Add [./backend/dev_tls_local-ca.crt](./backend/dev_tls_local-ca.crt) to your web browser's trusted certificates - Minimum TLS reverse proxy for - Synapse homeserver: `synapse.m.localhost` and `synapse.othersite.m.localhost` From 0ca2b6d4ea88d6097ddca8b057f0801774f96b85 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 09:49:58 +0200 Subject: [PATCH 09/11] Remove extra space and add colon Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a421bdcf..a3a0c1bf 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ Run backend components: ```sh pnpm backend -# or for podman-compose +# or for podman-compose: # podman-compose -f dev-backend-docker-compose.yml up ``` From 80f573e8997326d10f4c5baabdc4c5c7ba6c2b71 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 09:50:42 +0200 Subject: [PATCH 10/11] Add missing apostrophe Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3a0c1bf..758d6a8a 100644 --- a/README.md +++ b/README.md @@ -241,7 +241,7 @@ pnpm backend > `https://synapse.m.localhost/.well-known/matrix/client`. This can be either > done by adding the minimum localhost CA > ([./backend/dev_tls_local-ca.crt](./backend/dev_tls_local-ca.crt)) to your web -> browsers trusted certificates or by simply copying and pasting each URL into +> browser's trusted certificates or by simply copying and pasting each URL into > your browser’s address bar and follow the prompts to add the exception. ### Playwright tests From 18a128b86527b6b62379b7b52a777a8929ccce05 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 18 May 2026 09:56:37 +0200 Subject: [PATCH 11/11] Fix linking link Signed-off-by: Johannes Marbach --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 758d6a8a..31253cda 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ pnpm dev See also: -- [Developing with linked packages](./linking.md) +- [Developing with linked packages](./docs/linking.md) ### Backend