diff --git a/bigbluebutton-html5/imports/startup/server/redis.js b/bigbluebutton-html5/imports/startup/server/redis.js index 6e4cac83bdc916712ffeeebd267db85a7d9b8d5d..870ad3d7052890661453756df2acbce47a2fd9a5 100755 --- a/bigbluebutton-html5/imports/startup/server/redis.js +++ b/bigbluebutton-html5/imports/startup/server/redis.js @@ -2,12 +2,11 @@ import Redis from 'redis'; import { Meteor } from 'meteor/meteor'; import { EventEmitter2 } from 'eventemitter2'; +import { check } from 'meteor/check'; import { isPadMessage, getInstanceIdFromPadMessage, } from './etherpad'; -import { check } from 'meteor/check'; -import fs from 'fs'; import Logger from './logger'; import Metrics from './metrics'; @@ -101,6 +100,9 @@ class MeetingMessageQueue { try { if (this.redisDebugEnabled) { + if (!Meteor.settings.private.analytics.includeChat && eventName === 'GroupChatMessageBroadcastEvtMsg') { + return; + } Logger.debug(`Redis: ${JSON.stringify(data.parsedMessage.core)} emitted`); } @@ -172,7 +174,6 @@ class RedisPubSub { channelsToSubscribe.push(this.customRedisChannel); - switch (this.role) { case 'frontend': this.sub.psubscribe('from-akka-apps-frontend-redis-channel'); @@ -252,19 +253,17 @@ class RedisPubSub { if (this.role === 'frontend') { // receiving this message means we need to look at it. Frontends do not have instanceId. if (meetingIdFromMessageCoreHeader === NO_MEETING_ID) { // if this is a system message - if (eventName === 'MeetingCreatedEvtMsg' || eventName === 'SyncGetMeetingInfoRespMsg') { const meetingIdFromMessageMeetingProp = parsedMessage.core.body.props.meetingProp.intId; this.meetingsQueues[meetingIdFromMessageMeetingProp] = new MeetingMessageQueue(this.emitter, async, this.redisDebugEnabled); if (this.redisDebugEnabled) { Logger.warn('Created frontend queue for meeting', { date: new Date().toISOString(), eventName, meetingIdFromMessageMeetingProp }); } - } } if (!this.meetingsQueues[meetingIdFromMessageCoreHeader]) { - Logger.warn(`Frontend meeting queue had not been initialized ${message}`, { eventName, meetingIdFromMessageCoreHeader} ) + Logger.warn(`Frontend meeting queue had not been initialized ${message}`, { eventName, meetingIdFromMessageCoreHeader }); this.meetingsQueues[NO_MEETING_ID].add({ pattern, channel, @@ -307,11 +306,11 @@ class RedisPubSub { const meetingIdForMeetingEnded = parsedMessage.core.body.meetingId; if (!!this.meetingsQueues[meetingIdForMeetingEnded]) { this.meetingsQueues[NO_MEETING_ID].add({ - pattern, - channel, - eventName, - parsedMessage, - }); + pattern, + channel, + eventName, + parsedMessage, + }); } } // ignore @@ -335,7 +334,6 @@ class RedisPubSub { } } - destroyMeetingQueue(id) { delete this.meetingsQueues[id]; } diff --git a/bigbluebutton-html5/private/config/settings.yml b/bigbluebutton-html5/private/config/settings.yml index 0ecd0abb1c0018d5fa0194668ff19215617fead7..84ed767981d386885a3cf678040236ad787d9734 100755 --- a/bigbluebutton-html5/private/config/settings.yml +++ b/bigbluebutton-html5/private/config/settings.yml @@ -608,6 +608,8 @@ public: flushOnClose: true logTag: '' private: + analytics: + includeChat: true app: host: 127.0.0.1 localesUrl: /locale-list