1 files changed, 4 insertions, 1 deletions
diff --git a/synapse/api/ratelimiting.py b/synapse/api/ratelimiting.py
index 849c18ceda..54d13026c9 100644
--- a/synapse/api/ratelimiting.py
+++ b/synapse/api/ratelimiting.py
@@ -128,6 +128,9 @@ class Ratelimiter:
performed_count = action_count - time_delta * rate_hz
if performed_count < 0:
performed_count = 0
+
+ # Reset the start time and forgive all actions
+ action_count = 0
time_start = time_now_s
# This check would be easier read as performed_count + n_actions > burst_count,
@@ -140,7 +143,7 @@ class Ratelimiter:
else:
# We haven't reached our limit yet
allowed = True
- action_count = performed_count + n_actions
+ action_count = action_count + n_actions
if update:
self.actions[key] = (action_count, time_start, rate_hz)
|