Browse Source

feat: Makes it possible to hide the "Save Logs" link. (#8143)

As per @fremzy, the "Save Logs" feature generates a json
file with a bevy of technical information about the
meeting. This log contains the server name, server IP
address, participant's IP addresses (only in p2p sessions)
e.t.c. While this may be a useful feature for the
admin-like 'moderator', it creates unnecessary exposure
when made readily available to all users in the meeting.

This commit fixes #8036 by a config.js option to enable
the link (disabled by default), thus giving the owner of
the deployment the choice of enabling it or not.
master
George Politis 4 years ago
parent
commit
1041cd8055
No account linked to committer's email address

+ 5
- 0
config.js View File

94
     // input and will suggest another valid device if one is present.
94
     // input and will suggest another valid device if one is present.
95
     enableNoAudioDetection: true,
95
     enableNoAudioDetection: true,
96
 
96
 
97
+    // Enabling this will show a "Save Logs" link in the GSM popover that can be
98
+    // used to collect debug information (XMPP IQs, SDP offer/answer cycles)
99
+    // about the call.
100
+    // enableSaveLogs: false,
101
+
97
     // Enabling this will run the lib-jitsi-meet noise detection module which will
102
     // Enabling this will run the lib-jitsi-meet noise detection module which will
98
     // notify the user if there is noise, other than voice, coming from the current
103
     // notify the user if there is noise, other than voice, coming from the current
99
     // selected microphone. The purpose it to let the user know that the input could
104
     // selected microphone. The purpose it to let the user know that the input could

+ 9
- 1
react/features/connection-indicator/components/web/ConnectionIndicator.js View File

84
      */
84
      */
85
     dispatch: Dispatch<any>,
85
     dispatch: Dispatch<any>,
86
 
86
 
87
+    /**
88
+     * Whether or not should display the "Save Logs" link in the local video
89
+     * stats table.
90
+     */
91
+    enableSaveLogs: boolean,
92
+
87
     /**
93
     /**
88
      * Whether or not clicking the indicator should display a popover for more
94
      * Whether or not clicking the indicator should display a popover for more
89
      * details.
95
      * details.
386
                 codec = { codec }
392
                 codec = { codec }
387
                 connectionSummary = { this._getConnectionStatusTip() }
393
                 connectionSummary = { this._getConnectionStatusTip() }
388
                 e2eRtt = { e2eRtt }
394
                 e2eRtt = { e2eRtt }
395
+                enableSaveLogs = { this.props.enableSaveLogs }
389
                 framerate = { framerate }
396
                 framerate = { framerate }
390
                 isLocalVideo = { this.props.isLocalVideo }
397
                 isLocalVideo = { this.props.isLocalVideo }
391
                 maxEnabledResolution = { maxEnabledResolution }
398
                 maxEnabledResolution = { maxEnabledResolution }
440
     const participant
447
     const participant
441
         = typeof participantId === 'undefined' ? getLocalParticipant(state) : getParticipantById(state, participantId);
448
         = typeof participantId === 'undefined' ? getLocalParticipant(state) : getParticipantById(state, participantId);
442
     const props = {
449
     const props = {
443
-        _connectionStatus: participant?.connectionStatus
450
+        _connectionStatus: participant?.connectionStatus,
451
+        enableSaveLogs: state['features/base/config'].enableSaveLogs
444
     };
452
     };
445
 
453
 
446
     if (conference) {
454
     if (conference) {

+ 7
- 2
react/features/connection-stats/components/ConnectionStatsTable.js View File

54
      */
54
      */
55
     e2eRtt: number,
55
     e2eRtt: number,
56
 
56
 
57
+    /**
58
+     * Whether or not should display the "Save Logs" link.
59
+     */
60
+    enableSaveLogs: boolean,
61
+
57
     /**
62
     /**
58
      * The endpoint id of this client.
63
      * The endpoint id of this client.
59
      */
64
      */
153
      * @returns {ReactElement}
158
      * @returns {ReactElement}
154
      */
159
      */
155
     render() {
160
     render() {
156
-        const { isLocalVideo } = this.props;
161
+        const { isLocalVideo, enableSaveLogs } = this.props;
157
 
162
 
158
         return (
163
         return (
159
             <div className = 'connection-info'>
164
             <div className = 'connection-info'>
160
                 { this._renderStatistics() }
165
                 { this._renderStatistics() }
161
                 <div className = 'connection-actions'>
166
                 <div className = 'connection-actions'>
162
-                    { isLocalVideo ? this._renderSaveLogs() : null}
167
+                    { isLocalVideo && enableSaveLogs ? this._renderSaveLogs() : null}
163
                     { this._renderShowMoreLink() }
168
                     { this._renderShowMoreLink() }
164
                 </div>
169
                 </div>
165
                 { this.props.shouldShowMore ? this._renderAdditionalStats() : null }
170
                 { this.props.shouldShowMore ? this._renderAdditionalStats() : null }

Loading…
Cancel
Save