diff --git a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml index c5816ea51..e40178cef 100644 --- a/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-draupnir/tasks/validate_config.yml @@ -45,9 +45,17 @@ with_items: - {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_pantalaimon_use }}"} - {'name': 'matrix_bot_draupnir_config_accessToken', when: "{{ matrix_bot_draupnir_login_native }}"} - - {'name': 'matrix_bot_draupnir_pantalaimon_use', when: "{{ matrix_bot_draupnir_config_experimentalRustCrypto }}"} when: "item.when | bool and not (vars[item.name] == '' or vars[item.name] is none)" +- name: Fail when matrix_bot_draupnir_config_experimentalRustCrypto is enabled together with matrix_bot_draupnir_pantalaimon_use + ansible.builtin.fail: + msg: >- + Your configuration is trying to enable matrix_bot_draupnir_config_experimentalRustCrypto and matrix_bot_draupnir_pantalaimon_use at the same time. + These settings are mutually incompatible and therefore cant be used at the same time. + when: + - matrix_bot_draupnir_pantalaimon_use + - matrix_bot_draupnir_config_experimentalRustCrypto + - when: "matrix_bot_draupnir_pantalaimon_use == 'true' and matrix_bot_draupnir_pantalaimon_breakage_ignore == 'false'" block: - name: Inject warning if Pantalaimon is used together with Draupnir diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 0aa9d5f4b..23c08241c 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -468,6 +468,13 @@ matrix_synapse_rc_federation: 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`. +matrix_synapse_rc_delayed_event_mgmt: + per_second: 1 + burst_count: 20 + # Controls the templates directory setting. # # See: @@ -1265,7 +1272,9 @@ matrix_synapse_experimental_features_msc3266_enabled: true # 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. # -# Related to `matrix_synapse_max_event_delay_duration` +# Related to: +# - `matrix_synapse_max_event_delay_duration` +# - `matrix_synapse_rc_delayed_event_mgmt` # # See https://github.com/matrix-org/matrix-spec-proposals/pull/4140 matrix_synapse_experimental_features_msc4140_enabled: false diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 218be3b03..bd76b5e14 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -2999,6 +2999,7 @@ experimental_features: {% if matrix_synapse_experimental_features_msc4140_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 %} # vim:ft=yaml