Browse Source

fix(misc) use safeJsonParse from js-utils

release-8443
Saúl Ibarra Corretgé 2 years ago
parent
commit
0cc323d96e

+ 2
- 1
modules/RTC/BridgeChannel.js View File

1
+import { safeJsonParse } from '@jitsi/js-utils/json';
1
 import { getLogger } from '@jitsi/logger';
2
 import { getLogger } from '@jitsi/logger';
2
 
3
 
3
 import RTCEvents from '../../service/RTC/RTCEvents';
4
 import RTCEvents from '../../service/RTC/RTCEvents';
292
             let obj;
293
             let obj;
293
 
294
 
294
             try {
295
             try {
295
-                obj = JSON.parse(data);
296
+                obj = safeJsonParse(data);
296
             } catch (error) {
297
             } catch (error) {
297
                 GlobalOnErrorHandler.callErrorHandler(error);
298
                 GlobalOnErrorHandler.callErrorHandler(error);
298
                 logger.error('Failed to parse channel message as JSON: ', data, error);
299
                 logger.error('Failed to parse channel message as JSON: ', data, error);

+ 2
- 1
modules/RTC/RTC.js View File

1
 import { getLogger } from '@jitsi/logger';
1
 import { getLogger } from '@jitsi/logger';
2
+import clonedeep from 'lodash.clonedeep';
2
 
3
 
3
 import * as JitsiConferenceEvents from '../../JitsiConferenceEvents';
4
 import * as JitsiConferenceEvents from '../../JitsiConferenceEvents';
4
 import { MediaType } from '../../service/RTC/MediaType';
5
 import { MediaType } from '../../service/RTC/MediaType';
369
      * @return {TraceablePeerConnection}
370
      * @return {TraceablePeerConnection}
370
      */
371
      */
371
     createPeerConnection(signaling, pcConfig, isP2P, options) {
372
     createPeerConnection(signaling, pcConfig, isP2P, options) {
372
-        const pcConstraints = JSON.parse(JSON.stringify(RTCUtils.pcConstraints));
373
+        const pcConstraints = clonedeep(RTCUtils.pcConstraints);
373
 
374
 
374
         if (options.enableInsertableStreams) {
375
         if (options.enableInsertableStreams) {
375
             logger.debug('E2EE - setting insertable streams constraints');
376
             logger.debug('E2EE - setting insertable streams constraints');

+ 4
- 3
modules/e2ee/OlmAdapter.js View File

1
 /* global Olm */
1
 /* global Olm */
2
 
2
 
3
+import { safeJsonParse as _safeJsonParse } from '@jitsi/js-utils/json';
3
 import { getLogger } from '@jitsi/logger';
4
 import { getLogger } from '@jitsi/logger';
4
 import base64js from 'base64-js';
5
 import base64js from 'base64-js';
5
 import isEqual from 'lodash.isequal';
6
 import isEqual from 'lodash.isequal';
285
             this._olmAccount = new Olm.Account();
286
             this._olmAccount = new Olm.Account();
286
             this._olmAccount.create();
287
             this._olmAccount.create();
287
 
288
 
288
-            this._idKeys = JSON.parse(this._olmAccount.identity_keys());
289
+            this._idKeys = _safeJsonParse(this._olmAccount.identity_keys());
289
 
290
 
290
             logger.debug(`Olm ${Olm.get_library_version().join('.')} initialized`);
291
             logger.debug(`Olm ${Olm.get_library_version().join('.')} initialized`);
291
             this._init.resolve();
292
             this._init.resolve();
995
         // Generate a One Time Key.
996
         // Generate a One Time Key.
996
         this._olmAccount.generate_one_time_keys(1);
997
         this._olmAccount.generate_one_time_keys(1);
997
 
998
 
998
-        const otKeys = JSON.parse(this._olmAccount.one_time_keys());
999
+        const otKeys = _safeJsonParse(this._olmAccount.one_time_keys());
999
         const otKey = Object.values(otKeys.curve25519)[0];
1000
         const otKey = Object.values(otKeys.curve25519)[0];
1000
 
1001
 
1001
         if (!otKey) {
1002
         if (!otKey) {
1098
  */
1099
  */
1099
 function safeJsonParse(data) {
1100
 function safeJsonParse(data) {
1100
     try {
1101
     try {
1101
-        return JSON.parse(data);
1102
+        return _safeJsonParse(data);
1102
     } catch (e) {
1103
     } catch (e) {
1103
         return {};
1104
         return {};
1104
     }
1105
     }

+ 1
- 1
modules/statistics/AnalyticsAdapter.js View File

113
      * Dispose analytics. Clears all handlers.
113
      * Dispose analytics. Clears all handlers.
114
      */
114
      */
115
     dispose() {
115
     dispose() {
116
-        logger.warn('Disposing of analytics adapter.');
116
+        logger.debug('Disposing of analytics adapter.');
117
 
117
 
118
         if (this.analyticsHandlers && this.analyticsHandlers.size > 0) {
118
         if (this.analyticsHandlers && this.analyticsHandlers.size > 0) {
119
             this.analyticsHandlers.forEach(handler => {
119
             this.analyticsHandlers.forEach(handler => {

+ 4
- 2
modules/transcription/transcriptionServices/SphinxTranscriptionService.js View File

1
 /* global config */
1
 /* global config */
2
 
2
 
3
+import { safeJsonParse } from '@jitsi/js-utils/json';
4
+
3
 import Word from '../word';
5
 import Word from '../word';
4
 
6
 
5
 import audioRecorder from './../audioRecorder';
7
 import audioRecorder from './../audioRecorder';
56
      * @param response the JSON body retrieved from the Sphinx4 server
58
      * @param response the JSON body retrieved from the Sphinx4 server
57
      */
59
      */
58
     formatResponse(response) {
60
     formatResponse(response) {
59
-        const result = JSON.parse(response).objects;
61
+        const result = safeJsonParse(response).objects;
60
 
62
 
61
         // make sure to delete the session id object, which is always
63
         // make sure to delete the session id object, which is always
62
         // the first value in the JSON array
64
         // the first value in the JSON array
87
         let json;
89
         let json;
88
 
90
 
89
         try {
91
         try {
90
-            json = JSON.parse(response);
92
+            json = safeJsonParse(response);
91
         } catch (error) {
93
         } catch (error) {
92
             console.log(error);
94
             console.log(error);
93
 
95
 

+ 2
- 1
modules/xmpp/ChatRoom.js View File

1
+import { safeJsonParse } from '@jitsi/js-utils/json';
1
 import { getLogger } from '@jitsi/logger';
2
 import { getLogger } from '@jitsi/logger';
2
 import $ from 'jquery';
3
 import $ from 'jquery';
3
 import isEqual from 'lodash.isequal';
4
 import isEqual from 'lodash.isequal';
388
 
389
 
389
             if (roomMetadataText) {
390
             if (roomMetadataText) {
390
                 try {
391
                 try {
391
-                    this.roomMetadata._handleMessages(JSON.parse(roomMetadataText));
392
+                    this.roomMetadata._handleMessages(safeJsonParse(roomMetadataText));
392
                 } catch (e) {
393
                 } catch (e) {
393
                     logger.warn('Failed to set room metadata', e);
394
                     logger.warn('Failed to set room metadata', e);
394
                 }
395
                 }

+ 2
- 1
modules/xmpp/JingleHelperFunctions.js View File

1
+import { safeJsonParse } from '@jitsi/js-utils/json';
1
 import { getLogger } from '@jitsi/logger';
2
 import { getLogger } from '@jitsi/logger';
2
 import $ from 'jquery';
3
 import $ from 'jquery';
3
 import { $build } from 'strophe.js';
4
 import { $build } from 'strophe.js';
123
     let json;
124
     let json;
124
 
125
 
125
     try {
126
     try {
126
-        json = JSON.parse(jsonMessageXml.textContent);
127
+        json = safeJsonParse(jsonMessageXml.textContent);
127
     } catch (error) {
128
     } catch (error) {
128
         logger.error(`json-message XML contained invalid JSON, ignoring: ${jsonMessageXml.textContent}`);
129
         logger.error(`json-message XML contained invalid JSON, ignoring: ${jsonMessageXml.textContent}`);
129
 
130
 

+ 2
- 1
modules/xmpp/SignalingLayerImpl.js View File

1
+import { safeJsonParse } from '@jitsi/js-utils/json';
1
 import { getLogger } from '@jitsi/logger';
2
 import { getLogger } from '@jitsi/logger';
2
 import { Strophe } from 'strophe.js';
3
 import { Strophe } from 'strophe.js';
3
 
4
 
136
         this._sourceInfoHandler = (node, mucNick) => {
137
         this._sourceInfoHandler = (node, mucNick) => {
137
             const endpointId = mucNick;
138
             const endpointId = mucNick;
138
             const { value } = node;
139
             const { value } = node;
139
-            const sourceInfoJSON = JSON.parse(value);
140
+            const sourceInfoJSON = safeJsonParse(value);
140
             const emitEventsFromHere = this._doesEndpointSendNewSourceInfo(endpointId);
141
             const emitEventsFromHere = this._doesEndpointSendNewSourceInfo(endpointId);
141
             const endpointSourceState
142
             const endpointSourceState
142
                 = this._remoteSourceState[endpointId] || (this._remoteSourceState[endpointId] = {});
143
                 = this._remoteSourceState[endpointId] || (this._remoteSourceState[endpointId] = {});

+ 2
- 4
modules/xmpp/strophe.jingle.js View File

1
 import { getLogger } from '@jitsi/logger';
1
 import { getLogger } from '@jitsi/logger';
2
 import $ from 'jquery';
2
 import $ from 'jquery';
3
+import clonedeep from 'lodash.clonedeep';
3
 import { $iq, Strophe } from 'strophe.js';
4
 import { $iq, Strophe } from 'strophe.js';
4
 
5
 
5
 import { MediaType } from '../../service/RTC/MediaType';
6
 import { MediaType } from '../../service/RTC/MediaType';
206
                     fromJid,
207
                     fromJid,
207
                     this.connection,
208
                     this.connection,
208
                     this.mediaConstraints,
209
                     this.mediaConstraints,
209
-
210
-                    // Makes a copy in order to prevent exception thrown on RN when either this.p2pIceConfig or
211
-                    // this.jvbIceConfig is modified and there's a PeerConnection instance holding a reference
212
-                    JSON.parse(JSON.stringify(pcConfig)),
210
+                    clonedeep(pcConfig),
213
                     isP2P,
211
                     isP2P,
214
                     /* initiator */ false);
212
                     /* initiator */ false);
215
 
213
 

+ 2
- 1
modules/xmpp/xmpp.js View File

1
+import { safeJsonParse } from '@jitsi/js-utils/json';
1
 import { getLogger } from '@jitsi/logger';
2
 import { getLogger } from '@jitsi/logger';
2
 import $ from 'jquery';
3
 import $ from 'jquery';
3
 import { $msg, Strophe } from 'strophe.js';
4
 import { $msg, Strophe } from 'strophe.js';
1006
         }
1007
         }
1007
 
1008
 
1008
         try {
1009
         try {
1009
-            const json = JSON.parse(jsonString);
1010
+            const json = safeJsonParse(jsonString);
1010
 
1011
 
1011
             // Handle non-exception-throwing cases:
1012
             // Handle non-exception-throwing cases:
1012
             // Neither JSON.parse(false) or JSON.parse(1234) throw errors,
1013
             // Neither JSON.parse(false) or JSON.parse(1234) throw errors,

+ 127
- 76
package-lock.json View File

10
       "hasInstallScript": true,
10
       "hasInstallScript": true,
11
       "license": "Apache-2.0",
11
       "license": "Apache-2.0",
12
       "dependencies": {
12
       "dependencies": {
13
-        "@jitsi/js-utils": "2.0.0",
13
+        "@jitsi/js-utils": "2.1.2",
14
         "@jitsi/logger": "2.0.0",
14
         "@jitsi/logger": "2.0.0",
15
         "@jitsi/sdp-interop": "git+https://github.com/jitsi/sdp-interop#3d49eb4aa26863a3f8d32d7581cdb4321244266b",
15
         "@jitsi/sdp-interop": "git+https://github.com/jitsi/sdp-interop#3d49eb4aa26863a3f8d32d7581cdb4321244266b",
16
         "@jitsi/sdp-simulcast": "0.4.0",
16
         "@jitsi/sdp-simulcast": "0.4.0",
1961
         "url": "https://github.com/sponsors/sindresorhus"
1961
         "url": "https://github.com/sponsors/sindresorhus"
1962
       }
1962
       }
1963
     },
1963
     },
1964
+    "node_modules/@hapi/bourne": {
1965
+      "version": "3.0.0",
1966
+      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
1967
+      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w=="
1968
+    },
1964
     "node_modules/@humanwhocodes/config-array": {
1969
     "node_modules/@humanwhocodes/config-array": {
1965
       "version": "0.6.0",
1970
       "version": "0.6.0",
1966
       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
1971
       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
1992
       }
1997
       }
1993
     },
1998
     },
1994
     "node_modules/@jitsi/js-utils": {
1999
     "node_modules/@jitsi/js-utils": {
1995
-      "version": "2.0.0",
1996
-      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.0.0.tgz",
1997
-      "integrity": "sha512-Rk1JFGdXEJ5+eALVRTMohfn3pdMDQqlCJQEkCMLXKlCpEo+JhsOrB4KzlPo1rV9U8PnRfrf0j5N9uf/0C2a8Gw==",
2000
+      "version": "2.1.2",
2001
+      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.1.2.tgz",
2002
+      "integrity": "sha512-KT6rIr+kJ1AoKf7freQzOH3+ltOyrhe1vyhNukTM/UMStvtrXZyZmNNywhgqegpt0d0DNaHOYLmjj7186AXVcw==",
1998
       "dependencies": {
2003
       "dependencies": {
2004
+        "@hapi/bourne": "^3.0.0",
1999
         "bowser": "2.7.0",
2005
         "bowser": "2.7.0",
2000
         "js-md5": "0.7.3"
2006
         "js-md5": "0.7.3"
2001
       }
2007
       }
2678
       }
2684
       }
2679
     },
2685
     },
2680
     "node_modules/browserslist": {
2686
     "node_modules/browserslist": {
2681
-      "version": "4.19.3",
2682
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz",
2683
-      "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==",
2687
+      "version": "4.21.10",
2688
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz",
2689
+      "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==",
2684
       "dev": true,
2690
       "dev": true,
2691
+      "funding": [
2692
+        {
2693
+          "type": "opencollective",
2694
+          "url": "https://opencollective.com/browserslist"
2695
+        },
2696
+        {
2697
+          "type": "tidelift",
2698
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
2699
+        },
2700
+        {
2701
+          "type": "github",
2702
+          "url": "https://github.com/sponsors/ai"
2703
+        }
2704
+      ],
2685
       "dependencies": {
2705
       "dependencies": {
2686
-        "caniuse-lite": "^1.0.30001312",
2687
-        "electron-to-chromium": "^1.4.71",
2688
-        "escalade": "^3.1.1",
2689
-        "node-releases": "^2.0.2",
2690
-        "picocolors": "^1.0.0"
2706
+        "caniuse-lite": "^1.0.30001517",
2707
+        "electron-to-chromium": "^1.4.477",
2708
+        "node-releases": "^2.0.13",
2709
+        "update-browserslist-db": "^1.0.11"
2691
       },
2710
       },
2692
       "bin": {
2711
       "bin": {
2693
         "browserslist": "cli.js"
2712
         "browserslist": "cli.js"
2694
       },
2713
       },
2695
       "engines": {
2714
       "engines": {
2696
         "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
2715
         "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
2697
-      },
2698
-      "funding": {
2699
-        "type": "opencollective",
2700
-        "url": "https://opencollective.com/browserslist"
2701
       }
2716
       }
2702
     },
2717
     },
2703
     "node_modules/buffer-from": {
2718
     "node_modules/buffer-from": {
2737
       }
2752
       }
2738
     },
2753
     },
2739
     "node_modules/caniuse-lite": {
2754
     "node_modules/caniuse-lite": {
2740
-      "version": "1.0.30001312",
2741
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz",
2742
-      "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==",
2755
+      "version": "1.0.30001519",
2756
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz",
2757
+      "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==",
2743
       "dev": true,
2758
       "dev": true,
2744
-      "funding": {
2745
-        "type": "opencollective",
2746
-        "url": "https://opencollective.com/browserslist"
2747
-      }
2759
+      "funding": [
2760
+        {
2761
+          "type": "opencollective",
2762
+          "url": "https://opencollective.com/browserslist"
2763
+        },
2764
+        {
2765
+          "type": "tidelift",
2766
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
2767
+        },
2768
+        {
2769
+          "type": "github",
2770
+          "url": "https://github.com/sponsors/ai"
2771
+        }
2772
+      ]
2748
     },
2773
     },
2749
     "node_modules/chalk": {
2774
     "node_modules/chalk": {
2750
       "version": "2.4.2",
2775
       "version": "2.4.2",
2946
       }
2971
       }
2947
     },
2972
     },
2948
     "node_modules/core-js-compat": {
2973
     "node_modules/core-js-compat": {
2949
-      "version": "3.21.1",
2950
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz",
2951
-      "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==",
2974
+      "version": "3.32.0",
2975
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz",
2976
+      "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==",
2952
       "dev": true,
2977
       "dev": true,
2953
       "dependencies": {
2978
       "dependencies": {
2954
-        "browserslist": "^4.19.1",
2955
-        "semver": "7.0.0"
2979
+        "browserslist": "^4.21.9"
2956
       },
2980
       },
2957
       "funding": {
2981
       "funding": {
2958
         "type": "opencollective",
2982
         "type": "opencollective",
2959
         "url": "https://opencollective.com/core-js"
2983
         "url": "https://opencollective.com/core-js"
2960
       }
2984
       }
2961
     },
2985
     },
2962
-    "node_modules/core-js-compat/node_modules/semver": {
2963
-      "version": "7.0.0",
2964
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
2965
-      "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
2966
-      "dev": true,
2967
-      "bin": {
2968
-        "semver": "bin/semver.js"
2969
-      }
2970
-    },
2971
     "node_modules/cors": {
2986
     "node_modules/cors": {
2972
       "version": "2.8.5",
2987
       "version": "2.8.5",
2973
       "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
2988
       "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
3106
       "dev": true
3121
       "dev": true
3107
     },
3122
     },
3108
     "node_modules/electron-to-chromium": {
3123
     "node_modules/electron-to-chromium": {
3109
-      "version": "1.4.71",
3110
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz",
3111
-      "integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==",
3124
+      "version": "1.4.487",
3125
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.487.tgz",
3126
+      "integrity": "sha512-XbCRs/34l31np/p33m+5tdBrdXu9jJkZxSbNxj5I0H1KtV2ZMSB+i/HYqDiRzHaFx2T5EdytjoBRe8QRJE2vQg==",
3112
       "dev": true
3127
       "dev": true
3113
     },
3128
     },
3114
     "node_modules/emoji-regex": {
3129
     "node_modules/emoji-regex": {
5170
       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
5185
       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
5171
     },
5186
     },
5172
     "node_modules/node-releases": {
5187
     "node_modules/node-releases": {
5173
-      "version": "2.0.2",
5174
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
5175
-      "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
5188
+      "version": "2.0.13",
5189
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
5190
+      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
5176
       "dev": true
5191
       "dev": true
5177
     },
5192
     },
5178
     "node_modules/normalize-path": {
5193
     "node_modules/normalize-path": {
6716
         "node": ">= 0.8"
6731
         "node": ">= 0.8"
6717
       }
6732
       }
6718
     },
6733
     },
6734
+    "node_modules/update-browserslist-db": {
6735
+      "version": "1.0.11",
6736
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
6737
+      "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
6738
+      "dev": true,
6739
+      "funding": [
6740
+        {
6741
+          "type": "opencollective",
6742
+          "url": "https://opencollective.com/browserslist"
6743
+        },
6744
+        {
6745
+          "type": "tidelift",
6746
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
6747
+        },
6748
+        {
6749
+          "type": "github",
6750
+          "url": "https://github.com/sponsors/ai"
6751
+        }
6752
+      ],
6753
+      "dependencies": {
6754
+        "escalade": "^3.1.1",
6755
+        "picocolors": "^1.0.0"
6756
+      },
6757
+      "bin": {
6758
+        "update-browserslist-db": "cli.js"
6759
+      },
6760
+      "peerDependencies": {
6761
+        "browserslist": ">= 4.21.0"
6762
+      }
6763
+    },
6719
     "node_modules/uri-js": {
6764
     "node_modules/uri-js": {
6720
       "version": "4.4.1",
6765
       "version": "4.4.1",
6721
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
6766
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
8663
         }
8708
         }
8664
       }
8709
       }
8665
     },
8710
     },
8711
+    "@hapi/bourne": {
8712
+      "version": "3.0.0",
8713
+      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
8714
+      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w=="
8715
+    },
8666
     "@humanwhocodes/config-array": {
8716
     "@humanwhocodes/config-array": {
8667
       "version": "0.6.0",
8717
       "version": "0.6.0",
8668
       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
8718
       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
8688
       "requires": {}
8738
       "requires": {}
8689
     },
8739
     },
8690
     "@jitsi/js-utils": {
8740
     "@jitsi/js-utils": {
8691
-      "version": "2.0.0",
8692
-      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.0.0.tgz",
8693
-      "integrity": "sha512-Rk1JFGdXEJ5+eALVRTMohfn3pdMDQqlCJQEkCMLXKlCpEo+JhsOrB4KzlPo1rV9U8PnRfrf0j5N9uf/0C2a8Gw==",
8741
+      "version": "2.1.2",
8742
+      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.1.2.tgz",
8743
+      "integrity": "sha512-KT6rIr+kJ1AoKf7freQzOH3+ltOyrhe1vyhNukTM/UMStvtrXZyZmNNywhgqegpt0d0DNaHOYLmjj7186AXVcw==",
8694
       "requires": {
8744
       "requires": {
8745
+        "@hapi/bourne": "^3.0.0",
8695
         "bowser": "2.7.0",
8746
         "bowser": "2.7.0",
8696
         "js-md5": "0.7.3"
8747
         "js-md5": "0.7.3"
8697
       }
8748
       }
9285
       }
9336
       }
9286
     },
9337
     },
9287
     "browserslist": {
9338
     "browserslist": {
9288
-      "version": "4.19.3",
9289
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz",
9290
-      "integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==",
9339
+      "version": "4.21.10",
9340
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz",
9341
+      "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==",
9291
       "dev": true,
9342
       "dev": true,
9292
       "requires": {
9343
       "requires": {
9293
-        "caniuse-lite": "^1.0.30001312",
9294
-        "electron-to-chromium": "^1.4.71",
9295
-        "escalade": "^3.1.1",
9296
-        "node-releases": "^2.0.2",
9297
-        "picocolors": "^1.0.0"
9344
+        "caniuse-lite": "^1.0.30001517",
9345
+        "electron-to-chromium": "^1.4.477",
9346
+        "node-releases": "^2.0.13",
9347
+        "update-browserslist-db": "^1.0.11"
9298
       }
9348
       }
9299
     },
9349
     },
9300
     "buffer-from": {
9350
     "buffer-from": {
9325
       "dev": true
9375
       "dev": true
9326
     },
9376
     },
9327
     "caniuse-lite": {
9377
     "caniuse-lite": {
9328
-      "version": "1.0.30001312",
9329
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz",
9330
-      "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==",
9378
+      "version": "1.0.30001519",
9379
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz",
9380
+      "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==",
9331
       "dev": true
9381
       "dev": true
9332
     },
9382
     },
9333
     "chalk": {
9383
     "chalk": {
9494
       "dev": true
9544
       "dev": true
9495
     },
9545
     },
9496
     "core-js-compat": {
9546
     "core-js-compat": {
9497
-      "version": "3.21.1",
9498
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz",
9499
-      "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==",
9547
+      "version": "3.32.0",
9548
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz",
9549
+      "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==",
9500
       "dev": true,
9550
       "dev": true,
9501
       "requires": {
9551
       "requires": {
9502
-        "browserslist": "^4.19.1",
9503
-        "semver": "7.0.0"
9504
-      },
9505
-      "dependencies": {
9506
-        "semver": {
9507
-          "version": "7.0.0",
9508
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
9509
-          "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
9510
-          "dev": true
9511
-        }
9552
+        "browserslist": "^4.21.9"
9512
       }
9553
       }
9513
     },
9554
     },
9514
     "cors": {
9555
     "cors": {
9623
       "dev": true
9664
       "dev": true
9624
     },
9665
     },
9625
     "electron-to-chromium": {
9666
     "electron-to-chromium": {
9626
-      "version": "1.4.71",
9627
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz",
9628
-      "integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==",
9667
+      "version": "1.4.487",
9668
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.487.tgz",
9669
+      "integrity": "sha512-XbCRs/34l31np/p33m+5tdBrdXu9jJkZxSbNxj5I0H1KtV2ZMSB+i/HYqDiRzHaFx2T5EdytjoBRe8QRJE2vQg==",
9629
       "dev": true
9670
       "dev": true
9630
     },
9671
     },
9631
     "emoji-regex": {
9672
     "emoji-regex": {
11156
       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
11197
       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
11157
     },
11198
     },
11158
     "node-releases": {
11199
     "node-releases": {
11159
-      "version": "2.0.2",
11160
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
11161
-      "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
11200
+      "version": "2.0.13",
11201
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
11202
+      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
11162
       "dev": true
11203
       "dev": true
11163
     },
11204
     },
11164
     "normalize-path": {
11205
     "normalize-path": {
12276
       "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
12317
       "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
12277
       "dev": true
12318
       "dev": true
12278
     },
12319
     },
12320
+    "update-browserslist-db": {
12321
+      "version": "1.0.11",
12322
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
12323
+      "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
12324
+      "dev": true,
12325
+      "requires": {
12326
+        "escalade": "^3.1.1",
12327
+        "picocolors": "^1.0.0"
12328
+      }
12329
+    },
12279
     "uri-js": {
12330
     "uri-js": {
12280
       "version": "4.4.1",
12331
       "version": "4.4.1",
12281
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
12332
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",

+ 1
- 1
package.json View File

16
   "author": "",
16
   "author": "",
17
   "readmeFilename": "README.md",
17
   "readmeFilename": "README.md",
18
   "dependencies": {
18
   "dependencies": {
19
-    "@jitsi/js-utils": "2.0.0",
19
+    "@jitsi/js-utils": "2.1.2",
20
     "@jitsi/logger": "2.0.0",
20
     "@jitsi/logger": "2.0.0",
21
     "@jitsi/sdp-interop": "git+https://github.com/jitsi/sdp-interop#3d49eb4aa26863a3f8d32d7581cdb4321244266b",
21
     "@jitsi/sdp-interop": "git+https://github.com/jitsi/sdp-interop#3d49eb4aa26863a3f8d32d7581cdb4321244266b",
22
     "@jitsi/sdp-simulcast": "0.4.0",
22
     "@jitsi/sdp-simulcast": "0.4.0",

Loading…
Cancel
Save