diff --git a/hosts/bicep/services/matrix/synapse.nix b/hosts/bicep/services/matrix/synapse.nix index 6cbdce5..07f3ce2 100644 --- a/hosts/bicep/services/matrix/synapse.nix +++ b/hosts/bicep/services/matrix/synapse.nix @@ -95,6 +95,32 @@ in { } ]; + experimental_features = { + # MSC3266: Room summary API. Used for knocking over federation + msc3266_enabled = true; + # MSC4222 needed for syncv2 state_after. This allow clients to + # correctly track the state of the room. + msc4222_enabled = true; + }; + + # The maximum allowed duration by which sent events can be delayed, as + # per MSC4140. + max_event_delay_duration = "24h"; + + rc_message = { + # This needs to match at least e2ee key sharing frequency plus a bit of headroom + # Note key sharing events are bursty + per_second = 0.5; + burst_count = 30; + }; + + rc_delayed_event_mgmt = { + # This needs to match at least the heart-beat frequency plus a bit of headroom + # Currently the heart-beat is every 5 seconds which translates into a rate of 0.2s + per_second = 1; + burst_count = 20; + }; + trusted_key_servers = [ { server_name = "matrix.org"; } { server_name = "dodsorf.as"; }