From 654aea79b28c3e5d968f475d89a4dafbdde5c114 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 22 Jul 2026 07:56:17 +0300 Subject: [PATCH] Remove obsolete Synapse experimental feature flags (msc3266, msc4140, msc4429) None of these flags exist in current Synapse: - msc3266_enabled: MSC3266 support was stabilized in Synapse v1.153.0 and the room summary API is now always enabled - msc4140_enabled: this was never a Synapse configuration setting in any released version. Delayed events have always been controlled by the `max_event_delay_duration` setting, which the playbook was emitting alongside the flag. The toggle is now named `matrix_synapse_delayed_events_enabled`. - msc4429_enabled: MSC4429 support has not landed in any released Synapse version, so this flag never had any effect Co-Authored-By: Claude Fable 5 --- group_vars/matrix_servers | 4 +-- roles/custom/matrix-synapse/defaults/main.yml | 29 ++++--------------- .../matrix-synapse/tasks/validate_config.yml | 4 +++ .../templates/synapse/homeserver.yaml.j2 | 2 +- 4 files changed, 11 insertions(+), 28 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index a4776e5fb..be05c6d5f 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4933,15 +4933,13 @@ matrix_synapse_ext_synapse_http_antispam_config_async: "{{ matrix_bot_draupnir_s 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') if matrix_synapse_usage_exporter_enabled else '') }}" -matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_rtc_enabled }}" - matrix_synapse_matrix_authentication_service_enabled: "{{ matrix_authentication_service_enabled }}" matrix_synapse_matrix_authentication_service_endpoint: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}" matrix_synapse_matrix_authentication_service_secret: "{{ matrix_authentication_service_config_matrix_secret if matrix_authentication_service_enabled else '' }}" 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_rtc_enabled }}" +matrix_synapse_delayed_events_enabled: "{{ matrix_rtc_enabled }}" matrix_synapse_experimental_features_msc4143_enabled: "{{ matrix_rtc_enabled }}" diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 0bd130db9..ea570ab14 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -537,7 +537,7 @@ matrix_synapse_federation_rr_transactions_per_room_per_second: 50 # Controls the rate limit for delayed event management. # -# This is only applied if `matrix_synapse_experimental_features_msc4140_enabled` is set to `true`. +# This is only applied if `matrix_synapse_delayed_events_enabled` is set to `true`. matrix_synapse_rc_delayed_event_mgmt: per_second: 1 burst_count: 20 @@ -1435,16 +1435,7 @@ matrix_synapse_experimental_features_msc4108_enabled: false ################################################################################ -# Controls whether to enable the "room summary API" experimental feature. -# See https://github.com/matrix-org/matrix-spec-proposals/pull/3266 -# Despite being experimental, this feature is mandatory for the next-generation Element X clients, which is why it is enabled by default: -# https://github.com/element-hq/element-x-ios/issues/3713#issuecomment-2620958291 -# If you're worried about the privacy implications of this unauthenticated API, see: -# https://github.com/deepbluev7/matrix-doc/blob/room-summaries/proposals/3266-room-summary.md#client-server-api -# Set this to false if you still want to disable to API for some reason. Note that doing so breaks Element X compatibility though. -matrix_synapse_experimental_features_msc3266_enabled: true - -# Controls whether to enable the "Delayed Events" experimental feature. +# Controls whether to enable the "Delayed Events" feature (MSC4140). # Delayed events are required for proper call (Element Call) participation signalling. # If disabled it is very likely that you end up with stuck calls in Matrix rooms. # @@ -1453,11 +1444,12 @@ matrix_synapse_experimental_features_msc3266_enabled: true # - `matrix_synapse_rc_delayed_event_mgmt` # # See https://github.com/matrix-org/matrix-spec-proposals/pull/4140 -matrix_synapse_experimental_features_msc4140_enabled: false +matrix_synapse_delayed_events_enabled: false # Controls the maximum allowed duration by which sent events can be delayed, as per MSC4140. +# Synapse enables delayed events based on this configuration setting being present. # -# See `matrix_synapse_experimental_features_msc4140_enabled`. +# This is only applied if `matrix_synapse_delayed_events_enabled` is set to `true`. matrix_synapse_max_event_delay_duration: 24h # Controls whether to enable the MSC4143 experimental feature (RTC transports). @@ -1492,14 +1484,6 @@ matrix_synapse_experimental_features_msc4306_enabled: false # See https://github.com/matrix-org/matrix-spec-proposals/pull/4354 matrix_synapse_experimental_features_msc4354_enabled: false -# Controls whether to enable the MSC4429 experimental feature (profile updates for legacy `/sync`). -# -# This allows servers to notify clients using the legacy `/sync` endpoint of profile changes -# for other users, enabling features such as user status. -# -# See https://github.com/matrix-org/matrix-spec-proposals/pull/4429 -matrix_synapse_experimental_features_msc4429_enabled: false - # Holds the final `experimental_features` configuration for the Synapse homeserver. # # This is constructed from various other variables and is not meant to be redefined directly. @@ -1515,14 +1499,11 @@ matrix_synapse_experimental_features_default: | { 'msc2409_to_device_messages_enabled': matrix_synapse_experimental_features_msc2409_to_device_messages_enabled | bool, 'msc3202_transaction_extensions': matrix_synapse_experimental_features_msc3202_transaction_extensions_enabled | bool, - 'msc3266_enabled': matrix_synapse_experimental_features_msc3266_enabled | bool, 'msc4108_enabled': matrix_synapse_experimental_features_msc4108_enabled | bool, - 'msc4140_enabled': matrix_synapse_experimental_features_msc4140_enabled | bool, 'msc4143_enabled': matrix_synapse_experimental_features_msc4143_enabled | bool, 'msc4222_enabled': matrix_synapse_experimental_features_msc4222_enabled | bool, 'msc4306_enabled': matrix_synapse_experimental_features_msc4306_enabled | bool, 'msc4354_enabled': matrix_synapse_experimental_features_msc4354_enabled | bool, - 'msc4429_enabled': matrix_synapse_experimental_features_msc4429_enabled | bool, } | dict2items | selectattr('value') diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index 8d59fa30a..dcc47525c 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -86,6 +86,10 @@ - {'old': 'matrix_synapse_experimental_features_msc4133_enabled', 'new': ''} + - {'old': 'matrix_synapse_experimental_features_msc3266_enabled', 'new': ''} + - {'old': 'matrix_synapse_experimental_features_msc4140_enabled', 'new': 'matrix_synapse_delayed_events_enabled'} + - {'old': 'matrix_synapse_experimental_features_msc4429_enabled', 'new': ''} + - {'old': 'matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled', 'new': ''} - {'old': 'matrix_synapse_container_image_force_pull', 'new': ' (the new community.docker.docker_image_pull module handles this natively)'} diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 18daa7102..5f69450f6 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -3005,7 +3005,7 @@ matrix_authentication_service: experimental_features: {{ matrix_synapse_experimental_features | to_json }} -{% if matrix_synapse_experimental_features_msc4140_enabled %} +{% if matrix_synapse_delayed_events_enabled %} max_event_delay_duration: {{ matrix_synapse_max_event_delay_duration | to_json }} rc_delayed_event_mgmt: {{ matrix_synapse_rc_delayed_event_mgmt | to_json }} {% endif %}