Parcourir la 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 il y a 4 ans
Parent
révision
1041cd8055
Aucun compte lié à l'adresse e-mail de l'auteur

+ 5
- 0
config.js Voir le fichier

@@ -94,6 +94,11 @@ var config = {
94 94
     // input and will suggest another valid device if one is present.
95 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 102
     // Enabling this will run the lib-jitsi-meet noise detection module which will
98 103
     // notify the user if there is noise, other than voice, coming from the current
99 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 Voir le fichier

@@ -84,6 +84,12 @@ type Props = AbstractProps & {
84 84
      */
85 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 94
      * Whether or not clicking the indicator should display a popover for more
89 95
      * details.
@@ -386,6 +392,7 @@ class ConnectionIndicator extends AbstractConnectionIndicator<Props, State> {
386 392
                 codec = { codec }
387 393
                 connectionSummary = { this._getConnectionStatusTip() }
388 394
                 e2eRtt = { e2eRtt }
395
+                enableSaveLogs = { this.props.enableSaveLogs }
389 396
                 framerate = { framerate }
390 397
                 isLocalVideo = { this.props.isLocalVideo }
391 398
                 maxEnabledResolution = { maxEnabledResolution }
@@ -440,7 +447,8 @@ export function _mapStateToProps(state: Object, ownProps: Props) {
440 447
     const participant
441 448
         = typeof participantId === 'undefined' ? getLocalParticipant(state) : getParticipantById(state, participantId);
442 449
     const props = {
443
-        _connectionStatus: participant?.connectionStatus
450
+        _connectionStatus: participant?.connectionStatus,
451
+        enableSaveLogs: state['features/base/config'].enableSaveLogs
444 452
     };
445 453
 
446 454
     if (conference) {

+ 7
- 2
react/features/connection-stats/components/ConnectionStatsTable.js Voir le fichier

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

Chargement…
Annuler
Enregistrer