Cleanup intervals on destroyed views extension
This commit is contained in:
@@ -70,4 +70,15 @@ export class ViewsExtension implements Extension {
|
||||
this.intervalsBySocket.delete(socketId);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* onDestroy hook
|
||||
* @param data The destroy payload
|
||||
*/
|
||||
async onDestroy() {
|
||||
this.intervalsBySocket.forEach((interval, socketId) => {
|
||||
clearInterval(interval);
|
||||
this.intervalsBySocket.delete(socketId);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -541,8 +541,8 @@ export class Environment {
|
||||
this.toOptionalNumber(process.env.RATE_LIMITER_REQUESTS) ?? 1000;
|
||||
|
||||
/**
|
||||
* Set max allowed realtime connections in a minute before throttling. Defaults
|
||||
* to 50 requests/ip/min.
|
||||
* Set max allowed realtime connections before throttling. Defaults to 50
|
||||
* requests/ip/duration window.
|
||||
*/
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
|
||||
@@ -34,6 +34,7 @@ export default function init(
|
||||
extensions: [
|
||||
new Throttle({
|
||||
throttle: env.RATE_LIMITER_COLLABORATION_REQUESTS,
|
||||
consideredSeconds: env.RATE_LIMITER_DURATION_WINDOW,
|
||||
// Ban time is defined in minutes
|
||||
banTime: 5,
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user