summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2022-05-18 12:21:32 +0100
committerGitHub <noreply@github.com>2022-05-18 12:21:32 +0100
commitdeca250e3f0f18ffc978f17d1f9e440fc8a4af98 (patch)
tree141afefa2167f80dd377f020cc8a1a43718ec8c3
parentDiscard null-containing strings before updating the user directory (#12762) (diff)
downloadsynapse-deca250e3f0f18ffc978f17d1f9e440fc8a4af98.tar.xz
Add some documentation around the `rc_invites` option to the config docs (#12759)
-rw-r--r--changelog.d/12759.doc1
-rw-r--r--docs/usage/configuration/config_documentation.md14
2 files changed, 15 insertions, 0 deletions
diff --git a/changelog.d/12759.doc b/changelog.d/12759.doc
new file mode 100644
index 0000000000..45d1c9c0ca
--- /dev/null
+++ b/changelog.d/12759.doc
@@ -0,0 +1 @@
+Add information regarding the `rc_invites` ratelimiting option to the configuration docs.
diff --git a/docs/usage/configuration/config_documentation.md b/docs/usage/configuration/config_documentation.md
index 3e2031f08a..3ad3085bfa 100644
--- a/docs/usage/configuration/config_documentation.md
+++ b/docs/usage/configuration/config_documentation.md
@@ -1357,6 +1357,20 @@ This option sets ratelimiting how often invites can be sent in a room or to a
 specific user. `per_room` defaults to `per_second: 0.3`, `burst_count: 10` and
 `per_user` defaults to `per_second: 0.003`, `burst_count: 5`. 
 
+Client requests that invite user(s) when [creating a
+room](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3createroom)
+will count against the `rc_invites.per_room` limit, whereas
+client requests to [invite a single user to a
+room](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidinvite)
+will count against both the `rc_invites.per_user` and `rc_invites.per_room` limits.
+
+Federation requests to invite a user will count against the `rc_invites.per_user`
+limit only, as Synapse presumes ratelimiting by room will be done by the sending server.
+
+The `rc_invites.per_user` limit applies to the *receiver* of the invite, rather than the
+sender, meaning that a `rc_invite.per_user.burst_count` of 5 mandates that a single user
+cannot *receive* more than a burst of 5 invites at a time.
+
 Example configuration:
 ```yaml
 rc_invites: