summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2019-06-28 15:17:15 +0100
committerBrendan Abolivier <babolivier@matrix.org>2019-06-28 15:22:16 +0100
commit01d0f8e701b4c2ddd04eee1a26edef952c0ac558 (patch)
tree3fae82ac7bb9ed7080ed8ddc3c8d2e3006719e3a
parentDocker image: Add a migrate_config mode (#5567) (diff)
downloadsynapse-01d0f8e701b4c2ddd04eee1a26edef952c0ac558.tar.xz
Don't update the ratelimiter before sending a 3PID invite
This would cause emails being sent, but Synapse responding with a 429 when creating the event. The client would then retry, and with bad timing the same scenario would happen again. Some testing I did ended up sending me 10 emails for one single invite because of this.
-rw-r--r--synapse/handlers/room_member.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index 4d6e883802..c860acf970 100644
--- a/synapse/handlers/room_member.py
+++ b/synapse/handlers/room_member.py
@@ -676,7 +676,7 @@ class RoomMemberHandler(object):
 
         # We need to rate limit *before* we send out any 3PID invites, so we
         # can't just rely on the standard ratelimiting of events.
-        yield self.base_handler.ratelimit(requester)
+        yield self.base_handler.ratelimit(requester, update=False)
 
         can_invite = yield self.third_party_event_rules.check_threepid_can_be_invited(
             medium, address, room_id