From 10a47040f0a5ec06a1e2dea3cf38999415412983 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Thu, 18 Feb 2021 14:09:30 -0300 Subject: [PATCH] [FIX] Event emitter warning (#20663) --- package-lock.json | 13 ++++++++++--- package.json | 1 + .../modules/notifications/notifications.module.ts | 2 ++ server/modules/streamer/streamer.module.ts | 6 +++--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6034c51b049..3c47731c594 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6219,6 +6219,13 @@ "p-retry": "^3.0.1", "retry": "^0.12.0", "ws": "^5.2.0" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + } } }, "@storybook/addon-actions": { @@ -18745,9 +18752,9 @@ "integrity": "sha512-t0A2msp6BzOf+QAcI6z9XMktLj52OjGQg+8SJH6v5+3uxNpWYRR3wQmfA+6xtMU9kOC59qk9licus5dYcrYkMQ==" }, "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "events": { "version": "1.1.1", diff --git a/package.json b/package.json index d91868b9b14..69cb53a043c 100644 --- a/package.json +++ b/package.json @@ -188,6 +188,7 @@ "emailreplyparser": "^0.0.5", "emojione": "^4.5.0", "eslint-plugin-import": "^2.22.0", + "eventemitter3": "^4.0.7", "express": "^4.17.1", "express-rate-limit": "^5.1.3", "fflate": "^0.5.3", diff --git a/server/modules/notifications/notifications.module.ts b/server/modules/notifications/notifications.module.ts index 27c824c691d..37f2337966f 100644 --- a/server/modules/notifications/notifications.module.ts +++ b/server/modules/notifications/notifications.module.ts @@ -87,6 +87,8 @@ export class NotificationsModule { }; streamer.on(userId, userEvent); + + publication.onStop(() => streamer.removeListener(userId, userEvent)); }); this.streamUser = new this.Streamer('notify-user'); diff --git a/server/modules/streamer/streamer.module.ts b/server/modules/streamer/streamer.module.ts index 0d97b9e9fa5..dd08ac0b52a 100644 --- a/server/modules/streamer/streamer.module.ts +++ b/server/modules/streamer/streamer.module.ts @@ -1,4 +1,4 @@ -import { EventEmitter } from 'events'; +import { EventEmitter } from 'eventemitter3'; class StreamerCentralClass extends EventEmitter { public instances: Record = {}; @@ -359,8 +359,8 @@ export abstract class Streamer extends EventEmitter implements IStreamer { }); } - emit(eventName: string, ...args: any[]): boolean { - return this._emit(eventName, args, undefined, true); + emit(eventName: string | symbol, ...args: any[]): boolean { + return this._emit(eventName as string, args, undefined, true); } __emit(eventName: string, ...args: any[]): boolean {