You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 65cfeb2
Browse filesBrowse the repository at this point in the historyBrowse files
fix(settings): state that rate-limit periods are milliseconds
Every shipped limit counts in milliseconds - 1000, 60000, 900000, 3600000 - but
nothing said so: RateLimit.period is a bare number, so period: 60 for a minute
became a 60 ms window, a thousand times tighter than intended, honoured without
complaint.
The unit is now stated on RateLimit and on each rateLimits block in
resources/default-settings.yaml, and the validator rejects what cannot be a
count of milliseconds: a fraction, a string, a non-number, or below 1.
fix(settings): state that rate-limit periods are milliseconds and reject a period that is not one
6
+
7
+
Every shipped limit counts in milliseconds — `1000`, `60000`, `900000`, `3600000` — but nothing said so. `RateLimit.period` is a bare `number`, so an operator writing `period: 60` for a minute got a 60 ms window: a limit a thousand times tighter than intended, honoured without complaint, and nothing in review caught it.
8
+
9
+
The unit is now stated on `RateLimit` and on every `rateLimits` block in `resources/default-settings.yaml`, and `validateRateLimitPeriods` rejects what cannot be a count of milliseconds: a fraction, a string, a non-number, or anything below one millisecond. A whole number is not enough to tell 60 from 60000, which is why the unit is documented where it is set.
0 commit comments