Pārlūkot izejas kodu

feat: Sends event on not allowed error.

Updates amplitude to include the update about sending events on exiting the page.
factor2
damencho 1 gadu atpakaļ
vecāks
revīzija
b87e6abc11

+ 125
- 79
package-lock.json Parādīt failu

@@ -43,7 +43,7 @@
43 43
         "@vladmandic/human-models": "2.5.9",
44 44
         "@xmldom/xmldom": "0.8.7",
45 45
         "abab": "2.0.6",
46
-        "amplitude-js": "8.2.1",
46
+        "amplitude-js": "8.21.9",
47 47
         "base64-js": "1.5.1",
48 48
         "bc-css-flags": "3.0.0",
49 49
         "clipboard-copy": "4.0.1",
@@ -127,7 +127,7 @@
127 127
         "@babel/preset-env": "7.21.5",
128 128
         "@babel/preset-react": "7.16.0",
129 129
         "@jitsi/eslint-config": "4.1.5",
130
-        "@types/amplitude-js": "8.16.2",
130
+        "@types/amplitude-js": "8.16.5",
131 131
         "@types/audioworklet": "0.0.29",
132 132
         "@types/dom-screen-wake-lock": "1.0.1",
133 133
         "@types/js-md5": "0.4.3",
@@ -238,6 +238,11 @@
238 238
       "extraneous": true,
239 239
       "devDependencies": {}
240 240
     },
241
+    "node_modules/@amplitude/analytics-connector": {
242
+      "version": "1.5.0",
243
+      "resolved": "https://registry.npmjs.org/@amplitude/analytics-connector/-/analytics-connector-1.5.0.tgz",
244
+      "integrity": "sha512-T8mOYzB9RRxckzhL0NTHwdge9xuFxXEOplC8B1Y3UX3NHa3BLh7DlBUZlCOwQgMc2nxDfnSweDL5S3bhC+W90g=="
245
+    },
241 246
     "node_modules/@amplitude/react-native": {
242 247
       "version": "2.7.0",
243 248
       "resolved": "https://registry.npmjs.org/@amplitude/react-native/-/react-native-2.7.0.tgz",
@@ -248,38 +253,43 @@
248 253
       }
249 254
     },
250 255
     "node_modules/@amplitude/types": {
251
-      "version": "1.9.2",
252
-      "resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.9.2.tgz",
253
-      "integrity": "sha512-s+Q/O8kNfocZiyGvVdtM5T4JGPwLRZ4Q26wtEF5xJhyCtJglGMe0ixe6u/6iW9s4JHIq+LlPlUu5095pVsdtNA==",
256
+      "version": "1.10.2",
257
+      "resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.10.2.tgz",
258
+      "integrity": "sha512-I8qenRI7uU6wKNb9LiZrAosSHVoNHziXouKY81CrqxH9xhVTEIJFXeuCV0hbtBr0Al/8ejnGjQRx+S2SvU/pPg==",
254 259
       "engines": {
255 260
         "node": ">=10"
256 261
       }
257 262
     },
258 263
     "node_modules/@amplitude/ua-parser-js": {
259
-      "version": "0.7.24",
260
-      "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.24.tgz",
261
-      "integrity": "sha512-VbQuJymJ20WEw0HtI2np7EdC3NJGUWi8+Xdbc7uk8WfMIF308T0howpzkQ3JFMN7ejnrcSM/OyNGveeE3TP3TA==",
264
+      "version": "0.7.33",
265
+      "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
266
+      "integrity": "sha512-wKEtVR4vXuPT9cVEIJkYWnlF++Gx3BdLatPBM+SZ1ztVIvnhdGBZR/mn9x/PzyrMcRlZmyi6L56I2J3doVBnjA==",
267
+      "funding": [
268
+        {
269
+          "type": "opencollective",
270
+          "url": "https://opencollective.com/ua-parser-js"
271
+        },
272
+        {
273
+          "type": "paypal",
274
+          "url": "https://paypal.me/faisalman"
275
+        }
276
+      ],
262 277
       "engines": {
263 278
         "node": "*"
264 279
       }
265 280
     },
266 281
     "node_modules/@amplitude/utils": {
267
-      "version": "1.9.2",
268
-      "resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.9.2.tgz",
269
-      "integrity": "sha512-hGOIoIjmZ0pq/3b2gBrr17TaEarlR+qzFGu5npm76+scd/51F0eNvjd0vgV6WbJT1cxhyH/5Z8kihGWOU3vS3Q==",
282
+      "version": "1.10.2",
283
+      "resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.10.2.tgz",
284
+      "integrity": "sha512-tVsHXu61jITEtRjB7NugQ5cVDd4QDzne8T3ifmZye7TiJeUfVRvqe44gDtf55A+7VqhDhyEIIXTA1iVcDGqlEw==",
270 285
       "dependencies": {
271
-        "@amplitude/types": "^1.9.2",
272
-        "tslib": "^1.9.3"
286
+        "@amplitude/types": "^1.10.2",
287
+        "tslib": "^2.0.0"
273 288
       },
274 289
       "engines": {
275 290
         "node": ">=10"
276 291
       }
277 292
     },
278
-    "node_modules/@amplitude/utils/node_modules/tslib": {
279
-      "version": "1.14.1",
280
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
281
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
282
-    },
283 293
     "node_modules/@ampproject/remapping": {
284 294
       "version": "2.2.0",
285 295
       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
@@ -6499,9 +6509,9 @@
6499 6509
       }
6500 6510
     },
6501 6511
     "node_modules/@types/amplitude-js": {
6502
-      "version": "8.16.2",
6503
-      "resolved": "https://registry.npmjs.org/@types/amplitude-js/-/amplitude-js-8.16.2.tgz",
6504
-      "integrity": "sha512-a+tb/CEQOlrHRvEvAuYNOcoUy1POERANnAhfKgiTmsy0eACj3eukGP0ucA9t115QOPzVUhbnUfZqtyHp99IZyA==",
6512
+      "version": "8.16.5",
6513
+      "resolved": "https://registry.npmjs.org/@types/amplitude-js/-/amplitude-js-8.16.5.tgz",
6514
+      "integrity": "sha512-W73JfDpwDH4VijOGo+nVuQOqUCiqyEGGVdajU4ziWTLn27cn+QtFuFuBdlhCraIIrO52fDRO4NSOGkawtn77Jw==",
6505 6515
       "dev": true
6506 6516
     },
6507 6517
     "node_modules/@types/audioworklet": {
@@ -7658,36 +7668,62 @@
7658 7668
       }
7659 7669
     },
7660 7670
     "node_modules/amplitude-js": {
7661
-      "version": "8.2.1",
7662
-      "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.2.1.tgz",
7663
-      "integrity": "sha512-jp8lm/koTNRceO16RCTlQg9+gUbxip1esod+d0oApBCJYpxuABec2bLHXv/OkVYICvnUWoiz17AZLxiaX/aK4Q==",
7664
-      "deprecated": "Excessive logging into console at default levels",
7671
+      "version": "8.21.9",
7672
+      "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.21.9.tgz",
7673
+      "integrity": "sha512-d0jJH00wbXu7sxKtVwkdSXtVffjqdUrxuACKlnzP7jU5qt9wriXXMgHifdH5Oq+buKmyF8wKL9S02gAykysURA==",
7665 7674
       "dependencies": {
7666
-        "@amplitude/ua-parser-js": "0.7.24",
7667
-        "@amplitude/utils": "^1.0.5",
7668
-        "blueimp-md5": "^2.10.0",
7669
-        "query-string": "5"
7675
+        "@amplitude/analytics-connector": "^1.4.6",
7676
+        "@amplitude/ua-parser-js": "0.7.33",
7677
+        "@amplitude/utils": "^1.10.2",
7678
+        "@babel/runtime": "^7.21.0",
7679
+        "blueimp-md5": "^2.19.0",
7680
+        "query-string": "8.1.0"
7681
+      }
7682
+    },
7683
+    "node_modules/amplitude-js/node_modules/decode-uri-component": {
7684
+      "version": "0.4.1",
7685
+      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz",
7686
+      "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==",
7687
+      "engines": {
7688
+        "node": ">=14.16"
7689
+      }
7690
+    },
7691
+    "node_modules/amplitude-js/node_modules/filter-obj": {
7692
+      "version": "5.1.0",
7693
+      "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz",
7694
+      "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==",
7695
+      "engines": {
7696
+        "node": ">=14.16"
7697
+      },
7698
+      "funding": {
7699
+        "url": "https://github.com/sponsors/sindresorhus"
7670 7700
       }
7671 7701
     },
7672 7702
     "node_modules/amplitude-js/node_modules/query-string": {
7673
-      "version": "5.1.1",
7674
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
7675
-      "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
7703
+      "version": "8.1.0",
7704
+      "resolved": "https://registry.npmjs.org/query-string/-/query-string-8.1.0.tgz",
7705
+      "integrity": "sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==",
7676 7706
       "dependencies": {
7677
-        "decode-uri-component": "^0.2.0",
7678
-        "object-assign": "^4.1.0",
7679
-        "strict-uri-encode": "^1.0.0"
7707
+        "decode-uri-component": "^0.4.1",
7708
+        "filter-obj": "^5.1.0",
7709
+        "split-on-first": "^3.0.0"
7680 7710
       },
7681 7711
       "engines": {
7682
-        "node": ">=0.10.0"
7712
+        "node": ">=14.16"
7713
+      },
7714
+      "funding": {
7715
+        "url": "https://github.com/sponsors/sindresorhus"
7683 7716
       }
7684 7717
     },
7685
-    "node_modules/amplitude-js/node_modules/strict-uri-encode": {
7686
-      "version": "1.1.0",
7687
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
7688
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
7718
+    "node_modules/amplitude-js/node_modules/split-on-first": {
7719
+      "version": "3.0.0",
7720
+      "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz",
7721
+      "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==",
7689 7722
       "engines": {
7690
-        "node": ">=0.10.0"
7723
+        "node": ">=12"
7724
+      },
7725
+      "funding": {
7726
+        "url": "https://github.com/sponsors/sindresorhus"
7691 7727
       }
7692 7728
     },
7693 7729
     "node_modules/anser": {
@@ -20142,35 +20178,33 @@
20142 20178
     }
20143 20179
   },
20144 20180
   "dependencies": {
20181
+    "@amplitude/analytics-connector": {
20182
+      "version": "1.5.0",
20183
+      "resolved": "https://registry.npmjs.org/@amplitude/analytics-connector/-/analytics-connector-1.5.0.tgz",
20184
+      "integrity": "sha512-T8mOYzB9RRxckzhL0NTHwdge9xuFxXEOplC8B1Y3UX3NHa3BLh7DlBUZlCOwQgMc2nxDfnSweDL5S3bhC+W90g=="
20185
+    },
20145 20186
     "@amplitude/react-native": {
20146 20187
       "version": "2.7.0",
20147 20188
       "resolved": "https://registry.npmjs.org/@amplitude/react-native/-/react-native-2.7.0.tgz",
20148 20189
       "integrity": "sha512-2dMxCVgRPwReHRDm9JKbL+sZGyozJlcdr5Jokv8TQR7idNxxGmm4YSYkjhGjSWkoEyGEyy+lh9kRJQL/DcUWJQ=="
20149 20190
     },
20150 20191
     "@amplitude/types": {
20151
-      "version": "1.9.2",
20152
-      "resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.9.2.tgz",
20153
-      "integrity": "sha512-s+Q/O8kNfocZiyGvVdtM5T4JGPwLRZ4Q26wtEF5xJhyCtJglGMe0ixe6u/6iW9s4JHIq+LlPlUu5095pVsdtNA=="
20192
+      "version": "1.10.2",
20193
+      "resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.10.2.tgz",
20194
+      "integrity": "sha512-I8qenRI7uU6wKNb9LiZrAosSHVoNHziXouKY81CrqxH9xhVTEIJFXeuCV0hbtBr0Al/8ejnGjQRx+S2SvU/pPg=="
20154 20195
     },
20155 20196
     "@amplitude/ua-parser-js": {
20156
-      "version": "0.7.24",
20157
-      "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.24.tgz",
20158
-      "integrity": "sha512-VbQuJymJ20WEw0HtI2np7EdC3NJGUWi8+Xdbc7uk8WfMIF308T0howpzkQ3JFMN7ejnrcSM/OyNGveeE3TP3TA=="
20197
+      "version": "0.7.33",
20198
+      "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
20199
+      "integrity": "sha512-wKEtVR4vXuPT9cVEIJkYWnlF++Gx3BdLatPBM+SZ1ztVIvnhdGBZR/mn9x/PzyrMcRlZmyi6L56I2J3doVBnjA=="
20159 20200
     },
20160 20201
     "@amplitude/utils": {
20161
-      "version": "1.9.2",
20162
-      "resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.9.2.tgz",
20163
-      "integrity": "sha512-hGOIoIjmZ0pq/3b2gBrr17TaEarlR+qzFGu5npm76+scd/51F0eNvjd0vgV6WbJT1cxhyH/5Z8kihGWOU3vS3Q==",
20202
+      "version": "1.10.2",
20203
+      "resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.10.2.tgz",
20204
+      "integrity": "sha512-tVsHXu61jITEtRjB7NugQ5cVDd4QDzne8T3ifmZye7TiJeUfVRvqe44gDtf55A+7VqhDhyEIIXTA1iVcDGqlEw==",
20164 20205
       "requires": {
20165
-        "@amplitude/types": "^1.9.2",
20166
-        "tslib": "^1.9.3"
20167
-      },
20168
-      "dependencies": {
20169
-        "tslib": {
20170
-          "version": "1.14.1",
20171
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
20172
-          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
20173
-        }
20206
+        "@amplitude/types": "^1.10.2",
20207
+        "tslib": "^2.0.0"
20174 20208
       }
20175 20209
     },
20176 20210
     "@ampproject/remapping": {
@@ -24611,9 +24645,9 @@
24611 24645
       "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
24612 24646
     },
24613 24647
     "@types/amplitude-js": {
24614
-      "version": "8.16.2",
24615
-      "resolved": "https://registry.npmjs.org/@types/amplitude-js/-/amplitude-js-8.16.2.tgz",
24616
-      "integrity": "sha512-a+tb/CEQOlrHRvEvAuYNOcoUy1POERANnAhfKgiTmsy0eACj3eukGP0ucA9t115QOPzVUhbnUfZqtyHp99IZyA==",
24648
+      "version": "8.16.5",
24649
+      "resolved": "https://registry.npmjs.org/@types/amplitude-js/-/amplitude-js-8.16.5.tgz",
24650
+      "integrity": "sha512-W73JfDpwDH4VijOGo+nVuQOqUCiqyEGGVdajU4ziWTLn27cn+QtFuFuBdlhCraIIrO52fDRO4NSOGkawtn77Jw==",
24617 24651
       "dev": true
24618 24652
     },
24619 24653
     "@types/audioworklet": {
@@ -25560,30 +25594,42 @@
25560 25594
       "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
25561 25595
     },
25562 25596
     "amplitude-js": {
25563
-      "version": "8.2.1",
25564
-      "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.2.1.tgz",
25565
-      "integrity": "sha512-jp8lm/koTNRceO16RCTlQg9+gUbxip1esod+d0oApBCJYpxuABec2bLHXv/OkVYICvnUWoiz17AZLxiaX/aK4Q==",
25597
+      "version": "8.21.9",
25598
+      "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.21.9.tgz",
25599
+      "integrity": "sha512-d0jJH00wbXu7sxKtVwkdSXtVffjqdUrxuACKlnzP7jU5qt9wriXXMgHifdH5Oq+buKmyF8wKL9S02gAykysURA==",
25566 25600
       "requires": {
25567
-        "@amplitude/ua-parser-js": "0.7.24",
25568
-        "@amplitude/utils": "^1.0.5",
25569
-        "blueimp-md5": "^2.10.0",
25570
-        "query-string": "5"
25601
+        "@amplitude/analytics-connector": "^1.4.6",
25602
+        "@amplitude/ua-parser-js": "0.7.33",
25603
+        "@amplitude/utils": "^1.10.2",
25604
+        "@babel/runtime": "^7.21.0",
25605
+        "blueimp-md5": "^2.19.0",
25606
+        "query-string": "8.1.0"
25571 25607
       },
25572 25608
       "dependencies": {
25609
+        "decode-uri-component": {
25610
+          "version": "0.4.1",
25611
+          "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz",
25612
+          "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ=="
25613
+        },
25614
+        "filter-obj": {
25615
+          "version": "5.1.0",
25616
+          "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz",
25617
+          "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng=="
25618
+        },
25573 25619
         "query-string": {
25574
-          "version": "5.1.1",
25575
-          "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
25576
-          "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
25620
+          "version": "8.1.0",
25621
+          "resolved": "https://registry.npmjs.org/query-string/-/query-string-8.1.0.tgz",
25622
+          "integrity": "sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==",
25577 25623
           "requires": {
25578
-            "decode-uri-component": "^0.2.0",
25579
-            "object-assign": "^4.1.0",
25580
-            "strict-uri-encode": "^1.0.0"
25624
+            "decode-uri-component": "^0.4.1",
25625
+            "filter-obj": "^5.1.0",
25626
+            "split-on-first": "^3.0.0"
25581 25627
           }
25582 25628
         },
25583
-        "strict-uri-encode": {
25584
-          "version": "1.1.0",
25585
-          "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
25586
-          "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
25629
+        "split-on-first": {
25630
+          "version": "3.0.0",
25631
+          "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz",
25632
+          "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA=="
25587 25633
         }
25588 25634
       }
25589 25635
     },

+ 2
- 2
package.json Parādīt failu

@@ -49,7 +49,7 @@
49 49
     "@vladmandic/human-models": "2.5.9",
50 50
     "@xmldom/xmldom": "0.8.7",
51 51
     "abab": "2.0.6",
52
-    "amplitude-js": "8.2.1",
52
+    "amplitude-js": "8.21.9",
53 53
     "base64-js": "1.5.1",
54 54
     "bc-css-flags": "3.0.0",
55 55
     "clipboard-copy": "4.0.1",
@@ -133,7 +133,7 @@
133 133
     "@babel/preset-env": "7.21.5",
134 134
     "@babel/preset-react": "7.16.0",
135 135
     "@jitsi/eslint-config": "4.1.5",
136
-    "@types/amplitude-js": "8.16.2",
136
+    "@types/amplitude-js": "8.16.5",
137 137
     "@types/audioworklet": "0.0.29",
138 138
     "@types/dom-screen-wake-lock": "1.0.1",
139 139
     "@types/js-md5": "0.4.3",

+ 16
- 0
react/features/analytics/AnalyticsEvents.ts Parādīt failu

@@ -328,6 +328,22 @@ export function createNetworkInfoEvent({ isOnline, networkType, details }:
328 328
     };
329 329
 }
330 330
 
331
+/**
332
+ * Creates a "not allowed error" event.
333
+ *
334
+ * @param {string} reason - The reason for the error.
335
+ * @returns {Object} The event in a format suitable for sending via
336
+ * sendAnalytics.
337
+ */
338
+export function createNotAllowedErrorEvent(reason: string) {
339
+    return {
340
+        action: 'not.allowed.error',
341
+        attributes: {
342
+            reason
343
+        }
344
+    };
345
+}
346
+
331 347
 /**
332 348
  * Creates an "offer/answer failure" event.
333 349
  *

+ 8
- 1
react/features/analytics/handlers/AmplitudeHandler.ts Parādīt failu

@@ -35,6 +35,12 @@ export default class AmplitudeHandler extends AbstractHandler {
35 35
             this._enabled = false;
36 36
         };
37 37
 
38
+        // Forces sending all events on exit (flushing) via sendBeacon
39
+        const onExitPage = () => {
40
+            // @ts-ignore
41
+            amplitude.getInstance().sendEvents();
42
+        };
43
+
38 44
         if (navigator.product === 'ReactNative') {
39 45
             amplitude.getInstance().init(amplitudeAPPKey);
40 46
             fixDeviceID(amplitude.getInstance()).then(() => {
@@ -50,7 +56,8 @@ export default class AmplitudeHandler extends AbstractHandler {
50 56
                 includeReferrer: true,
51 57
                 includeUtm,
52 58
                 saveParamsReferrerOncePerSession: false,
53
-                onError
59
+                onError,
60
+                onExitPage
54 61
             };
55 62
 
56 63
             // @ts-ignore

+ 7
- 0
react/features/base/conference/middleware.any.ts Parādīt failu

@@ -6,6 +6,7 @@ import { MIN_ASSUMED_BANDWIDTH_BPS } from '../../../../modules/API/constants';
6 6
 import {
7 7
     ACTION_PINNED,
8 8
     ACTION_UNPINNED,
9
+    createNotAllowedErrorEvent,
9 10
     createOfferAnswerFailedEvent,
10 11
     createPinnedEvent
11 12
 } from '../../analytics/AnalyticsEvents';
@@ -197,6 +198,12 @@ function _conferenceFailed({ dispatch, getState }: IStore, next: Function, actio
197 198
 
198 199
         break;
199 200
     }
201
+    case JitsiConferenceErrors.NOT_ALLOWED_ERROR: {
202
+        const [ msg ] = error.params;
203
+
204
+        sendAnalytics(createNotAllowedErrorEvent(msg));
205
+        break;
206
+    }
200 207
     case JitsiConferenceErrors.OFFER_ANSWER_FAILED:
201 208
         sendAnalytics(createOfferAnswerFailedEvent());
202 209
         break;

Notiek ielāde…
Atcelt
Saglabāt