relax websocket rate limits

* the frontend opens 2 websockets at startup (I'm not completely clear
  why), and that `minInterval:1sec` was breaking the second connection
* as the comment says, "catching up" generates many noteSubscribe
  messages
This commit is contained in:
dakkar 2024-08-18 15:23:45 +01:00
parent 38430f8ef3
commit caa0fecdc9

View file

@ -100,7 +100,6 @@ export class StreamingApiServerService {
key: 'wsconnect', key: 'wsconnect',
duration: ms('5min'), duration: ms('5min'),
max: 32, max: 32,
minInterval: ms('1sec'),
})) { })) {
socket.write('HTTP/1.1 429 Rate Limit Exceeded\r\n\r\n'); socket.write('HTTP/1.1 429 Rate Limit Exceeded\r\n\r\n');
socket.destroy(); socket.destroy();
@ -145,10 +144,14 @@ export class StreamingApiServerService {
} }
const rateLimiter = () => { const rateLimiter = () => {
// rather high limit, because when catching up at the top of a
// timeline, the frontend may render many many notes, each of
// which causes a message via `useNoteCapture` to ask for
// realtime updates of that note
return this.rateLimitThis(user, requestIp, { return this.rateLimitThis(user, requestIp, {
key: 'wsmessage', key: 'wsmessage',
duration: ms('5sec'), duration: ms('2sec'),
max: 256, max: 4090,
}); });
}; };