From 9a11e5e1fe602d4562b3f9b7f88f531c3d06e2ed Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 12 Mar 2025 09:19:03 +0200 Subject: [PATCH] Auto-enable experimental Synapse features required by Element Call when Element Call is enabled --- docs/configuring-playbook-element-call.md | 9 ++++++++- group_vars/matrix_servers | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-element-call.md b/docs/configuring-playbook-element-call.md index 930dd829e..4f32f79b9 100644 --- a/docs/configuring-playbook-element-call.md +++ b/docs/configuring-playbook-element-call.md @@ -13,6 +13,9 @@ Element Call is a native Matrix video conferencing application developed by [Ele See the project's [documentation](https://github.com/element-hq/element-call) to learn more. +> [!WARNING] +> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's very likely that it only works with the Synapse homeserver. + ## Decide on a domain and path By default, Element Call is configured to be served on the `call.element.DOMAIN` domain, controlled by the `matrix_element_call_hostname` variable. @@ -38,7 +41,11 @@ Add the following configuration to your `inventory/host_vars/matrix.DOMAIN/vars. matrix_element_call_enabled: true ``` -💡 Enabling Element Call will automatically enable the [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) and [Livekit Server](configuring-playbook-livekit-server.md) services. +💡 Enabling Element Call will automatically: + +- enable the [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) and [Livekit Server](configuring-playbook-livekit-server.md) services + +- enable a few experimental features in Synapse that Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) ## Installing diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 6c0fddca4..4097c26c9 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4928,6 +4928,8 @@ matrix_synapse_ext_media_repo_enabled: "{{ matrix_media_repo_enabled }}" matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}" matrix_synapse_report_stats_endpoint: "http://{{ matrix_synapse_usage_exporter_identifier }}:{{ matrix_synapse_usage_exporter_container_port | string }}/report-usage-stats/push" +matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_element_call_enabled }}" + matrix_synapse_experimental_features_msc3861_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}" matrix_synapse_experimental_features_msc3861_issuer: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}" matrix_synapse_experimental_features_msc3861_client_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'syn.ngauth.cs', rounds=655555) | to_uuid }}" @@ -4936,6 +4938,10 @@ matrix_synapse_experimental_features_msc3861_account_management_url: "{{ matrix_ matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}" +matrix_synapse_experimental_features_msc4140_enabled: "{{ matrix_element_call_enabled }}" + +matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_element_call_enabled }}" + # Disable password authentication when delegating authentication to Matrix Authentication Service. # Unless this is done, Synapse fails on startup with: # > Error in configuration at 'password_config.enabled':