Derive matrix_synapse_experimental_features_msc4143_enabled from the configured transports

The RTC transports API was enabled based on matrix_rtc_enabled, while the
transports it serves were populated based on matrix_livekit_jwt_service_enabled.
Enabling the LiveKit JWT service on its own (say, when pointing it at an
externally hosted LiveKit server) therefore configured a transport but left
the API which announces it switched off.

Gating the feature on matrix_synapse_matrix_rtc_transports instead keeps the
API and its payload in sync, and makes the empty-transports case that the
variable's own documentation warns about unreachable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Slavi Pantaleev
2026-08-19 13:16:48 +03:00
co-authored by Claude Opus 5
parent 0023616d69
commit 96d94d56d5
2 changed files with 3 additions and 5 deletions
-2
View File
@@ -5195,8 +5195,6 @@ matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_
matrix_synapse_delayed_events_enabled: "{{ matrix_rtc_enabled }}" matrix_synapse_delayed_events_enabled: "{{ matrix_rtc_enabled }}"
matrix_synapse_experimental_features_msc4143_enabled: "{{ matrix_rtc_enabled }}"
matrix_synapse_matrix_rtc_transports_livekit_url: "{{ matrix_livekit_jwt_service_public_url if matrix_livekit_jwt_service_enabled else '' }}" matrix_synapse_matrix_rtc_transports_livekit_url: "{{ matrix_livekit_jwt_service_public_url if matrix_livekit_jwt_service_enabled else '' }}"
matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_rtc_enabled }}" matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_rtc_enabled }}"
@@ -1459,12 +1459,12 @@ matrix_synapse_max_event_delay_duration: 24h
# #
# This is used by MatrixRTC clients to discover the unstable RTC transports API. # This is used by MatrixRTC clients to discover the unstable RTC transports API.
# #
# When enabling this, make sure that `matrix_synapse_matrix_rtc_transports` is not empty. # This follows `matrix_synapse_matrix_rtc_transports`, because serving the RTC transports API without any transports configured
# Serving the RTC transports API without any transports configured breaks MatrixRTC (Element Call) for clients which consult this API. # breaks MatrixRTC (Element Call) for clients which consult this API.
# Such clients treat the API response as authoritative and do not fall back to the `org.matrix.msc4143.rtc_foci` property in the client well-known. # Such clients treat the API response as authoritative and do not fall back to the `org.matrix.msc4143.rtc_foci` property in the client well-known.
# #
# See https://github.com/matrix-org/matrix-spec-proposals/pull/4143 # See https://github.com/matrix-org/matrix-spec-proposals/pull/4143
matrix_synapse_experimental_features_msc4143_enabled: false matrix_synapse_experimental_features_msc4143_enabled: "{{ matrix_synapse_matrix_rtc_transports | length > 0 }}"
# Controls the `matrix_rtc.transports` setting - the list of MatrixRTC transports advertised via the RTC transports API (MSC4143). # Controls the `matrix_rtc.transports` setting - the list of MatrixRTC transports advertised via the RTC transports API (MSC4143).
# #