videomail-client 16.0.0 → 16.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/dist/cjs/index.cjs +257 -59
- package/dist/esm/index.js +85 -32
- package/dist/esm/types/error.d.ts +0 -1
- package/dist/esm/util/error/VideomailError.d.ts +0 -1
- package/dist/esm/util/error/sanitizeErrorReport.d.ts +3 -0
- package/dist/esm/wrappers/visuals/recorder.d.ts +1 -0
- package/dist/umd/index.js +253 -58
- package/package.json +7 -7
package/dist/umd/index.js
CHANGED
|
@@ -5983,9 +5983,57 @@
|
|
|
5983
5983
|
},
|
|
5984
5984
|
s1 (module1, __unused_rspack_exports, __webpack_require__) {
|
|
5985
5985
|
"use strict";
|
|
5986
|
+
var getSideChannel = __webpack_require__("M");
|
|
5986
5987
|
var utils = __webpack_require__("K0");
|
|
5987
5988
|
var has = Object.prototype.hasOwnProperty;
|
|
5988
5989
|
var isArray = Array.isArray;
|
|
5990
|
+
var getPrototypeOf = Object.getPrototypeOf;
|
|
5991
|
+
var isPlainContainer = function(value) {
|
|
5992
|
+
if (!value || 'object' != typeof value) return false;
|
|
5993
|
+
if (isArray(value)) return true;
|
|
5994
|
+
var proto = getPrototypeOf(value);
|
|
5995
|
+
return proto === Object.prototype || null === proto;
|
|
5996
|
+
};
|
|
5997
|
+
var emptyCopyOf = function(value) {
|
|
5998
|
+
if (isArray(value)) {
|
|
5999
|
+
var arr = [];
|
|
6000
|
+
arr.length = value.length;
|
|
6001
|
+
return arr;
|
|
6002
|
+
}
|
|
6003
|
+
return null === getPrototypeOf(value) ? {
|
|
6004
|
+
__proto__: null
|
|
6005
|
+
} : {};
|
|
6006
|
+
};
|
|
6007
|
+
var copyInput = function(input) {
|
|
6008
|
+
var copies = getSideChannel();
|
|
6009
|
+
var result = {};
|
|
6010
|
+
var queue = [
|
|
6011
|
+
{
|
|
6012
|
+
source: input,
|
|
6013
|
+
target: result
|
|
6014
|
+
}
|
|
6015
|
+
];
|
|
6016
|
+
for(var i = 0; i < queue.length; ++i){
|
|
6017
|
+
var source = queue[i].source;
|
|
6018
|
+
var target = queue[i].target;
|
|
6019
|
+
var keys = Object.keys(source);
|
|
6020
|
+
for(var j = 0; j < keys.length; ++j){
|
|
6021
|
+
var value = source[keys[j]];
|
|
6022
|
+
if (isPlainContainer(value)) {
|
|
6023
|
+
if (!copies.has(value)) {
|
|
6024
|
+
var copy = emptyCopyOf(value);
|
|
6025
|
+
copies.set(value, copy);
|
|
6026
|
+
queue[queue.length] = {
|
|
6027
|
+
source: value,
|
|
6028
|
+
target: copy
|
|
6029
|
+
};
|
|
6030
|
+
}
|
|
6031
|
+
target[keys[j]] = copies.get(value);
|
|
6032
|
+
} else target[keys[j]] = value;
|
|
6033
|
+
}
|
|
6034
|
+
}
|
|
6035
|
+
return result;
|
|
6036
|
+
};
|
|
5989
6037
|
var defaults = {
|
|
5990
6038
|
allowDots: false,
|
|
5991
6039
|
allowEmptyArrays: false,
|
|
@@ -6057,6 +6105,7 @@
|
|
|
6057
6105
|
var part = parts[i];
|
|
6058
6106
|
var bracketEqualsPos = part.indexOf(']=');
|
|
6059
6107
|
var pos = -1 === bracketEqualsPos ? part.indexOf('=') : bracketEqualsPos + 1;
|
|
6108
|
+
var isEmptyBracketKey = pos > 1 && '[]' === part.slice(pos - 2, pos);
|
|
6060
6109
|
var key;
|
|
6061
6110
|
var val;
|
|
6062
6111
|
if (-1 === pos) {
|
|
@@ -6069,13 +6118,13 @@
|
|
|
6069
6118
|
});
|
|
6070
6119
|
}
|
|
6071
6120
|
if (val && options.interpretNumericEntities && 'iso-8859-1' === charset) val = interpretNumericEntities(String(val));
|
|
6072
|
-
if (
|
|
6121
|
+
if (isEmptyBracketKey) val = isArray(val) ? [
|
|
6073
6122
|
val
|
|
6074
6123
|
] : val;
|
|
6075
6124
|
if (options.comma && isArray(val) && val.length > options.arrayLimit) val = utils.combine([], val, options.arrayLimit, options.plainObjects, options.throwOnLimitExceeded);
|
|
6076
6125
|
if (null !== key) {
|
|
6077
6126
|
var existing = has.call(obj, key);
|
|
6078
|
-
if (existing && ('combine' === options.duplicates ||
|
|
6127
|
+
if (existing && ('combine' === options.duplicates || isEmptyBracketKey)) obj[key] = utils.combine(obj[key], val, options.arrayLimit, options.plainObjects, options.throwOnLimitExceeded);
|
|
6079
6128
|
else if (!existing || 'last' === options.duplicates) obj[key] = val;
|
|
6080
6129
|
}
|
|
6081
6130
|
}
|
|
@@ -6117,8 +6166,29 @@
|
|
|
6117
6166
|
}
|
|
6118
6167
|
return leaf;
|
|
6119
6168
|
};
|
|
6169
|
+
var topLevelDotsToBrackets = function(key) {
|
|
6170
|
+
var result = '';
|
|
6171
|
+
var depth = 0;
|
|
6172
|
+
for(var i = 0; i < key.length; i += 1){
|
|
6173
|
+
var cu = key.charCodeAt(i);
|
|
6174
|
+
if (0x5B === cu) {
|
|
6175
|
+
depth += 1;
|
|
6176
|
+
result += '[';
|
|
6177
|
+
} else if (0x5D === cu) {
|
|
6178
|
+
if (depth > 0) depth -= 1;
|
|
6179
|
+
result += ']';
|
|
6180
|
+
} else if (0x2E === cu && 0 === depth && i + 1 < key.length && 0x2E !== key.charCodeAt(i + 1) && 0x5B !== key.charCodeAt(i + 1)) {
|
|
6181
|
+
var start = i + 1;
|
|
6182
|
+
var j = start;
|
|
6183
|
+
while(j < key.length && 0x2E !== key.charCodeAt(j) && 0x5B !== key.charCodeAt(j))j += 1;
|
|
6184
|
+
result += '[' + key.slice(start, j) + ']';
|
|
6185
|
+
i = j - 1;
|
|
6186
|
+
} else result += key.charAt(i);
|
|
6187
|
+
}
|
|
6188
|
+
return result;
|
|
6189
|
+
};
|
|
6120
6190
|
var splitKeyIntoSegments = function(originalKey, options) {
|
|
6121
|
-
var key = options.allowDots ? originalKey
|
|
6191
|
+
var key = options.allowDots ? topLevelDotsToBrackets(originalKey) : originalKey;
|
|
6122
6192
|
if (options.depth <= 0) {
|
|
6123
6193
|
if (!options.plainObjects && has.call(Object.prototype, key)) {
|
|
6124
6194
|
if (!options.allowPrototypes) return;
|
|
@@ -6216,7 +6286,7 @@
|
|
|
6216
6286
|
if ('' === str || null == str) return options.plainObjects ? {
|
|
6217
6287
|
__proto__: null
|
|
6218
6288
|
} : {};
|
|
6219
|
-
var tempObj = 'string' == typeof str ? parseValues(str, options) : str;
|
|
6289
|
+
var tempObj = 'string' == typeof str ? parseValues(str, options) : copyInput(str);
|
|
6220
6290
|
var obj = options.plainObjects ? {
|
|
6221
6291
|
__proto__: null
|
|
6222
6292
|
} : {};
|
|
@@ -6324,11 +6394,11 @@
|
|
|
6324
6394
|
var objKeys;
|
|
6325
6395
|
if ('comma' === generateArrayPrefix && isArray(obj)) {
|
|
6326
6396
|
if (encodeValuesOnly && encoder) obj = utils.maybeMap(obj, function(v) {
|
|
6327
|
-
return null == v ? v : encoder(v);
|
|
6397
|
+
return null == v ? v : encoder(v, defaults.encoder, charset, 'value', format);
|
|
6328
6398
|
});
|
|
6329
6399
|
objKeys = [
|
|
6330
6400
|
{
|
|
6331
|
-
value: obj.length > 0 ? obj.join(',') || null : void 0
|
|
6401
|
+
value: obj.length > 0 ? utils.toCoercible(obj).join(',') || null : void 0
|
|
6332
6402
|
}
|
|
6333
6403
|
];
|
|
6334
6404
|
} else if (isArray(filter)) objKeys = filter;
|
|
@@ -6336,7 +6406,7 @@
|
|
|
6336
6406
|
var keys = Object.keys(obj);
|
|
6337
6407
|
objKeys = sort ? keys.sort(sort) : keys;
|
|
6338
6408
|
}
|
|
6339
|
-
var encodedPrefix =
|
|
6409
|
+
var encodedPrefix = String(prefix);
|
|
6340
6410
|
var adjustedPrefix = commaRoundTrip && isArray(obj) && 1 === obj.length ? encodedPrefix + '[]' : encodedPrefix;
|
|
6341
6411
|
if (allowEmptyArrays && isArray(obj) && 0 === obj.length && 0 === Object.keys(obj).length) return adjustedPrefix + '[]';
|
|
6342
6412
|
for(var j = 0; j < objKeys.length; ++j){
|
|
@@ -6369,7 +6439,7 @@
|
|
|
6369
6439
|
var filter = defaults.filter;
|
|
6370
6440
|
if ('function' == typeof opts.filter || isArray(opts.filter)) filter = opts.filter;
|
|
6371
6441
|
var arrayFormat;
|
|
6372
|
-
arrayFormat = opts.arrayFormat
|
|
6442
|
+
arrayFormat = has.call(arrayPrefixGenerators, opts.arrayFormat) ? opts.arrayFormat : 'indices' in opts ? opts.indices ? 'indices' : 'repeat' : defaults.arrayFormat;
|
|
6373
6443
|
if ('commaRoundTrip' in opts && 'boolean' != typeof opts.commaRoundTrip) throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
|
|
6374
6444
|
var allowDots = void 0 === opts.allowDots ? true === opts.encodeDotInKeys ? true : defaults.allowDots : !!opts.allowDots;
|
|
6375
6445
|
return {
|
|
@@ -6452,6 +6522,17 @@
|
|
|
6452
6522
|
var setMaxIndex = function(obj, maxIndex) {
|
|
6453
6523
|
overflowChannel.set(obj, maxIndex);
|
|
6454
6524
|
};
|
|
6525
|
+
var conflictChannel = getSideChannel();
|
|
6526
|
+
var markConflict = function(obj, maxIndex) {
|
|
6527
|
+
conflictChannel.set(obj, maxIndex);
|
|
6528
|
+
return obj;
|
|
6529
|
+
};
|
|
6530
|
+
var isConflict = function(obj) {
|
|
6531
|
+
return conflictChannel.has(obj);
|
|
6532
|
+
};
|
|
6533
|
+
var getConflictIndex = function(obj) {
|
|
6534
|
+
return conflictChannel.get(obj);
|
|
6535
|
+
};
|
|
6455
6536
|
var hexTable = function() {
|
|
6456
6537
|
var array = [];
|
|
6457
6538
|
for(var i = 0; i < 256; ++i)array[array.length] = '%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase();
|
|
@@ -6484,6 +6565,26 @@
|
|
|
6484
6565
|
});
|
|
6485
6566
|
else obj[key] = value;
|
|
6486
6567
|
};
|
|
6568
|
+
var maxNumericIndex = function(obj, min) {
|
|
6569
|
+
var max = min;
|
|
6570
|
+
var keys = Object.keys(obj);
|
|
6571
|
+
for(var i = 0; i < keys.length; ++i){
|
|
6572
|
+
var num = parseInt(keys[i], 10);
|
|
6573
|
+
if (String(num) === keys[i] && num > max) max = num;
|
|
6574
|
+
}
|
|
6575
|
+
return max;
|
|
6576
|
+
};
|
|
6577
|
+
var limitedPair = function(first, second, options) {
|
|
6578
|
+
var pair = [
|
|
6579
|
+
first,
|
|
6580
|
+
second
|
|
6581
|
+
];
|
|
6582
|
+
if (options && 'number' == typeof options.arrayLimit && pair.length > options.arrayLimit) {
|
|
6583
|
+
if (options.throwOnLimitExceeded) throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (1 === options.arrayLimit ? '' : 's') + ' allowed in an array.');
|
|
6584
|
+
return markOverflow(arrayToObject(pair, options), 1);
|
|
6585
|
+
}
|
|
6586
|
+
return pair;
|
|
6587
|
+
};
|
|
6487
6588
|
var merge = function merge(target, source, options) {
|
|
6488
6589
|
if (!source) return target;
|
|
6489
6590
|
if ('object' != typeof source && 'function' != typeof source) {
|
|
@@ -6494,19 +6595,20 @@
|
|
|
6494
6595
|
return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
|
|
6495
6596
|
}
|
|
6496
6597
|
target[nextIndex] = source;
|
|
6497
|
-
} else if (!target || 'object' != typeof target) return
|
|
6498
|
-
target,
|
|
6499
|
-
source
|
|
6500
|
-
];
|
|
6598
|
+
} else if (!target || 'object' != typeof target) return limitedPair(target, source, options);
|
|
6501
6599
|
else if (isOverflow(target)) {
|
|
6502
6600
|
var newIndex = getMaxIndex(target) + 1;
|
|
6503
6601
|
target[newIndex] = source;
|
|
6504
6602
|
setMaxIndex(target, newIndex);
|
|
6505
|
-
} else if (options && options.strictMerge)
|
|
6506
|
-
target
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6603
|
+
} else if (options && options.strictMerge && isConflict(target)) {
|
|
6604
|
+
var nextConflict = getConflictIndex(target) + 1;
|
|
6605
|
+
if (options.throwOnLimitExceeded && 'number' == typeof options.arrayLimit && nextConflict >= options.arrayLimit) throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (1 === options.arrayLimit ? '' : 's') + ' allowed in an array.');
|
|
6606
|
+
target[nextConflict] = source;
|
|
6607
|
+
markConflict(target, nextConflict);
|
|
6608
|
+
} else if (options && options.strictMerge) {
|
|
6609
|
+
var conflict = limitedPair(target, source, options);
|
|
6610
|
+
return isArray(conflict) ? markConflict(conflict, 1) : conflict;
|
|
6611
|
+
} else if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) target[source] = true;
|
|
6510
6612
|
return target;
|
|
6511
6613
|
}
|
|
6512
6614
|
if (!target || 'object' != typeof target) {
|
|
@@ -6534,7 +6636,10 @@
|
|
|
6534
6636
|
return combined;
|
|
6535
6637
|
}
|
|
6536
6638
|
var mergeTarget = target;
|
|
6537
|
-
if (isArray(target) && !isArray(source))
|
|
6639
|
+
if (isArray(target) && !isArray(source)) {
|
|
6640
|
+
mergeTarget = arrayToObject(target, options);
|
|
6641
|
+
if (isConflict(target)) markConflict(mergeTarget, target.length - 1);
|
|
6642
|
+
}
|
|
6538
6643
|
if (isArray(target) && isArray(source)) {
|
|
6539
6644
|
source.forEach(function(item, i) {
|
|
6540
6645
|
if (has.call(target, i)) {
|
|
@@ -6552,11 +6657,15 @@
|
|
|
6552
6657
|
return Object.keys(source).reduce(function(acc, key) {
|
|
6553
6658
|
var value = source[key];
|
|
6554
6659
|
has.call(acc, key) ? setProperty(acc, key, merge(acc[key], value, options)) : setProperty(acc, key, value);
|
|
6555
|
-
if (isOverflow(source) && !isOverflow(acc)) markOverflow(acc, getMaxIndex(source));
|
|
6660
|
+
if (isOverflow(source) && !isOverflow(acc)) markOverflow(acc, maxNumericIndex(acc, getMaxIndex(source)));
|
|
6556
6661
|
if (isOverflow(acc)) {
|
|
6557
6662
|
var keyNum = parseInt(key, 10);
|
|
6558
6663
|
if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) setMaxIndex(acc, keyNum);
|
|
6559
6664
|
}
|
|
6665
|
+
if (isConflict(acc)) {
|
|
6666
|
+
var conflictKey = parseInt(key, 10);
|
|
6667
|
+
if (String(conflictKey) === key && conflictKey > getConflictIndex(acc)) markConflict(acc, conflictKey);
|
|
6668
|
+
}
|
|
6560
6669
|
return acc;
|
|
6561
6670
|
}, mergeTarget);
|
|
6562
6671
|
};
|
|
@@ -6567,6 +6676,7 @@
|
|
|
6567
6676
|
}, target);
|
|
6568
6677
|
};
|
|
6569
6678
|
var decode = function(str, defaultDecoder, charset) {
|
|
6679
|
+
if ('string' == typeof str && -1 === str.indexOf('%')) return -1 === str.indexOf('+') ? str : str.replace(/\+/g, ' ');
|
|
6570
6680
|
var strWithoutPlus = str.replace(/\+/g, ' ');
|
|
6571
6681
|
if ('iso-8859-1' === charset) return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
|
6572
6682
|
try {
|
|
@@ -6575,15 +6685,47 @@
|
|
|
6575
6685
|
return strWithoutPlus;
|
|
6576
6686
|
}
|
|
6577
6687
|
};
|
|
6688
|
+
var hasToPrimitive = 'function' == typeof Symbol && 'symbol' == typeof Symbol.toPrimitive;
|
|
6689
|
+
var arrayJoin = Array.prototype.join;
|
|
6690
|
+
var arrayToString = Array.prototype.toString;
|
|
6691
|
+
var objectToString = Object.prototype.toString;
|
|
6692
|
+
var toCoercible = function toCoercible(value, joining) {
|
|
6693
|
+
if (!value || 'object' != typeof value && 'function' != typeof value) return value;
|
|
6694
|
+
if (hasToPrimitive && null != value[Symbol.toPrimitive]) return value;
|
|
6695
|
+
if (isArray(value) && value.toString === arrayToString && value.join === arrayJoin) {
|
|
6696
|
+
var ancestors = joining || getSideChannel();
|
|
6697
|
+
if (ancestors.has(value)) return '';
|
|
6698
|
+
ancestors.set(value, true);
|
|
6699
|
+
var copy;
|
|
6700
|
+
for(var i = 0; i < value.length; i += 1){
|
|
6701
|
+
var item = value[i];
|
|
6702
|
+
var coerced = toCoercible(item, ancestors);
|
|
6703
|
+
if (!copy && coerced !== item) {
|
|
6704
|
+
copy = [];
|
|
6705
|
+
for(var j = 0; j < i; j += 1)copy[j] = value[j];
|
|
6706
|
+
}
|
|
6707
|
+
if (copy) copy[i] = coerced;
|
|
6708
|
+
}
|
|
6709
|
+
ancestors['delete'](value);
|
|
6710
|
+
return copy || value;
|
|
6711
|
+
}
|
|
6712
|
+
if ('function' == typeof value.toString) return value;
|
|
6713
|
+
var valueOf = value.valueOf;
|
|
6714
|
+
if ('function' == typeof valueOf) {
|
|
6715
|
+
var primitive = valueOf.call(value);
|
|
6716
|
+
if (!primitive || 'object' != typeof primitive && 'function' != typeof primitive) return String(primitive);
|
|
6717
|
+
}
|
|
6718
|
+
return objectToString.call(value);
|
|
6719
|
+
};
|
|
6578
6720
|
var limit = 1024;
|
|
6579
6721
|
var encode = function(str, defaultEncoder, charset, kind, format) {
|
|
6580
6722
|
if (0 === str.length) return str;
|
|
6581
6723
|
var string = str;
|
|
6582
6724
|
if ('symbol' == typeof str) string = Symbol.prototype.toString.call(str);
|
|
6583
|
-
else if ('string' != typeof str) string = String(str);
|
|
6725
|
+
else if ('string' != typeof str) string = String(toCoercible(str));
|
|
6584
6726
|
if ('iso-8859-1' === charset) return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) {
|
|
6585
6727
|
return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
|
|
6586
|
-
});
|
|
6728
|
+
}).replace(/\+/g, '%2B');
|
|
6587
6729
|
var out = '';
|
|
6588
6730
|
for(var j = 0; j < string.length; j += limit){
|
|
6589
6731
|
var segment = string.length >= limit ? string.slice(j, j + limit) : string;
|
|
@@ -6700,7 +6842,8 @@
|
|
|
6700
6842
|
isRegExp: isRegExp,
|
|
6701
6843
|
markOverflow: markOverflow,
|
|
6702
6844
|
maybeMap: maybeMap,
|
|
6703
|
-
merge: merge
|
|
6845
|
+
merge: merge,
|
|
6846
|
+
toCoercible: toCoercible
|
|
6704
6847
|
};
|
|
6705
6848
|
},
|
|
6706
6849
|
jY (module1, __unused_rspack_exports, __webpack_require__) {
|
|
@@ -8111,7 +8254,7 @@
|
|
|
8111
8254
|
});
|
|
8112
8255
|
});
|
|
8113
8256
|
},
|
|
8114
|
-
|
|
8257
|
+
Sy (__unused_rspack_module, exports1, __webpack_require__) {
|
|
8115
8258
|
var process = __webpack_require__("zT");
|
|
8116
8259
|
var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function(obj) {
|
|
8117
8260
|
var keys = Object.keys(obj);
|
|
@@ -10477,7 +10620,7 @@
|
|
|
10477
10620
|
return i[1];
|
|
10478
10621
|
};
|
|
10479
10622
|
},
|
|
10480
|
-
|
|
10623
|
+
R (module1) {
|
|
10481
10624
|
"use strict";
|
|
10482
10625
|
var stylesInDOM = [];
|
|
10483
10626
|
function getIndexByIdentifier(identifier) {
|
|
@@ -10978,7 +11121,7 @@
|
|
|
10978
11121
|
var client = __webpack_require__("Q");
|
|
10979
11122
|
var client_default = /*#__PURE__*/ __webpack_require__.n(client);
|
|
10980
11123
|
var package_namespaceObject = {
|
|
10981
|
-
rE: "16.0.
|
|
11124
|
+
rE: "16.0.2"
|
|
10982
11125
|
};
|
|
10983
11126
|
function isAudioEnabled(options) {
|
|
10984
11127
|
return Boolean(options.audio.enabled);
|
|
@@ -10990,7 +11133,7 @@
|
|
|
10990
11133
|
function isAutoPauseEnabled(options) {
|
|
10991
11134
|
return options.enableAutoPause && options.enablePause;
|
|
10992
11135
|
}
|
|
10993
|
-
var util = __webpack_require__("
|
|
11136
|
+
var util = __webpack_require__("Sy");
|
|
10994
11137
|
var util_default = /*#__PURE__*/ __webpack_require__.n(util);
|
|
10995
11138
|
function getEventDetails(event) {
|
|
10996
11139
|
const eventWithErrorDetails = event;
|
|
@@ -14421,7 +14564,6 @@
|
|
|
14421
14564
|
location = window.location.href;
|
|
14422
14565
|
logLines;
|
|
14423
14566
|
whitelistKey;
|
|
14424
|
-
cookie;
|
|
14425
14567
|
err;
|
|
14426
14568
|
promise;
|
|
14427
14569
|
reason;
|
|
@@ -14459,9 +14601,6 @@
|
|
|
14459
14601
|
this.device = usefulClientData.device.type ? usefulClientData.device : void 0;
|
|
14460
14602
|
this.engine = usefulClientData.engine;
|
|
14461
14603
|
this.os = usefulClientData.os;
|
|
14462
|
-
let cookie;
|
|
14463
|
-
if (__webpack_require__.g.document.cookie.length > 0) cookie = __webpack_require__.g.document.cookie.split(",").map((c)=>c.trim());
|
|
14464
|
-
this.cookie = cookie && cookie.length > 0 ? cookie : void 0;
|
|
14465
14604
|
this.screen = [
|
|
14466
14605
|
screen.width,
|
|
14467
14606
|
screen.height,
|
|
@@ -14646,6 +14785,51 @@
|
|
|
14646
14785
|
return exc;
|
|
14647
14786
|
}
|
|
14648
14787
|
const error_findOriginalExc = findOriginalExc;
|
|
14788
|
+
const REDACTED = "[redacted]";
|
|
14789
|
+
const PRIVATE_FIELDS = "cookies?|set[-_]?cookie|(?:proxy[-_]?)?authorization|pass(?:word|phrase|wd)|(?:client[-_]?)?secret|(?:x[-_]?)?api[-_]?key|(?:access|refresh|id|auth|session)[-_]?token|token|(?:x[-_]?)?(?:csrf|xsrf)(?:[-_]?token)?|session(?:[-_]?id)?|e[-_]?mail|from|to|cc|bcc|recipients?|sender";
|
|
14790
|
+
const PRIVATE_FIELD = new RegExp(`^(?:${PRIVATE_FIELDS})$`, "iu");
|
|
14791
|
+
const PRIVATE_CONTENT_FIELD = /^(?:subject|body)$/iu;
|
|
14792
|
+
const URL_FIELD = /^(?:url|uri|href|location|recordLocation|blockedURI|responseURL)$/iu;
|
|
14793
|
+
const LOG_ASSIGNMENT = String.raw`(["']?\b(?:${PRIVATE_FIELDS}|subject|body)["']?\s*[:=]\s*)`;
|
|
14794
|
+
const LOG_VALUES = [
|
|
14795
|
+
/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/u.source,
|
|
14796
|
+
/(?:Bearer|Basic)\s+[^\s,;}]+/u.source,
|
|
14797
|
+
/[^\s,;{}[\]]+/u.source
|
|
14798
|
+
].join("|");
|
|
14799
|
+
const PRIVATE_LOG_VALUE = new RegExp(`${LOG_ASSIGNMENT}(?:${LOG_VALUES})`, "giu");
|
|
14800
|
+
function sanitizeUrl(value, base) {
|
|
14801
|
+
try {
|
|
14802
|
+
const url = new URL(value, base);
|
|
14803
|
+
url.username = "";
|
|
14804
|
+
url.password = "";
|
|
14805
|
+
url.search = "";
|
|
14806
|
+
url.hash = "";
|
|
14807
|
+
return url.href;
|
|
14808
|
+
} catch {
|
|
14809
|
+
return REDACTED;
|
|
14810
|
+
}
|
|
14811
|
+
}
|
|
14812
|
+
function sanitizeText(text) {
|
|
14813
|
+
return text.replace(/\b(?:https?|wss?):\/\/[^\s"'<>(){}]+/giu, (value)=>{
|
|
14814
|
+
const position = /:\d+:\d+$/u.exec(value)?.[0] ?? "";
|
|
14815
|
+
const address = position ? value.slice(0, -position.length) : value;
|
|
14816
|
+
return `${sanitizeUrl(address)}${position}`;
|
|
14817
|
+
}).replace(PRIVATE_LOG_VALUE, `$1${REDACTED}`).replace(/\b(Bearer|Basic)\s+[\w.+/~=-]+/giu, `$1 ${REDACTED}`).replace(/\b[\w.%+-]+@[\w.-]+\.[a-z]{2,}\b/giu, REDACTED);
|
|
14818
|
+
}
|
|
14819
|
+
function sanitizeErrorReport(report) {
|
|
14820
|
+
function redactField(key, value) {
|
|
14821
|
+
if (PRIVATE_FIELD.test(key)) return REDACTED;
|
|
14822
|
+
if ("string" != typeof value) return value;
|
|
14823
|
+
if (PRIVATE_CONTENT_FIELD.test(key)) return REDACTED;
|
|
14824
|
+
const text = URL_FIELD.test(key) ? sanitizeUrl(value, report.location) : value;
|
|
14825
|
+
return sanitizeText(text);
|
|
14826
|
+
}
|
|
14827
|
+
const json = JSON.stringify(serializeError(report), redactField);
|
|
14828
|
+
const sanitized = JSON.parse(json);
|
|
14829
|
+
if (null === sanitized || "object" != typeof sanitized) throw new TypeError("An error report must serialize to an object.");
|
|
14830
|
+
return sanitized;
|
|
14831
|
+
}
|
|
14832
|
+
const error_sanitizeErrorReport = sanitizeErrorReport;
|
|
14649
14833
|
function _extends() {
|
|
14650
14834
|
_extends = Object.assign || function(target) {
|
|
14651
14835
|
for(var i = 1; i < arguments.length; i++){
|
|
@@ -15203,7 +15387,6 @@
|
|
|
15203
15387
|
},
|
|
15204
15388
|
browser: err.browser,
|
|
15205
15389
|
code: err.code,
|
|
15206
|
-
cookie: err.cookie,
|
|
15207
15390
|
cause: err.cause instanceof Error ? serializeError(err.cause) : err.cause,
|
|
15208
15391
|
cpu: err.cpu,
|
|
15209
15392
|
device: err.device,
|
|
@@ -15224,7 +15407,7 @@
|
|
|
15224
15407
|
enumerateDevices,
|
|
15225
15408
|
usedConstraints: err.usedConstraints
|
|
15226
15409
|
};
|
|
15227
|
-
await client_default()(FormMethod.POST, url).query(queryParams).set("Timezone-Id", this.timezoneId).withCredentials().send(fullVideomailErrorData).timeout(this.options.timeouts.connection);
|
|
15410
|
+
await client_default()(FormMethod.POST, url).query(queryParams).set("Timezone-Id", this.timezoneId).withCredentials().send(error_sanitizeErrorReport(fullVideomailErrorData)).timeout(this.options.timeouts.connection);
|
|
15228
15411
|
}
|
|
15229
15412
|
async post(videomail) {
|
|
15230
15413
|
const newVideomail = this.applyDefaultValues(videomail);
|
|
@@ -15468,7 +15651,7 @@
|
|
|
15468
15651
|
return newOptions;
|
|
15469
15652
|
}
|
|
15470
15653
|
const options_mergeWithDefaultOptions = mergeWithDefaultOptions;
|
|
15471
|
-
var injectStylesIntoStyleTag = __webpack_require__("
|
|
15654
|
+
var injectStylesIntoStyleTag = __webpack_require__("R");
|
|
15472
15655
|
var injectStylesIntoStyleTag_default = /*#__PURE__*/ __webpack_require__.n(injectStylesIntoStyleTag);
|
|
15473
15656
|
var styleDomAPI = __webpack_require__("Bd");
|
|
15474
15657
|
var styleDomAPI_default = /*#__PURE__*/ __webpack_require__.n(styleDomAPI);
|
|
@@ -19669,6 +19852,7 @@
|
|
|
19669
19852
|
this.options.logger.debug(debugLine);
|
|
19670
19853
|
const canReconnect = this.canReconnectAfterStreamClose();
|
|
19671
19854
|
this.connected = false;
|
|
19855
|
+
this.stopPings();
|
|
19672
19856
|
if (this.shouldIgnoreStreamClose()) return;
|
|
19673
19857
|
if (this.mediaTransmissionStarted) this.failInterruptedRecording();
|
|
19674
19858
|
else if (canReconnect) {
|
|
@@ -19685,7 +19869,37 @@
|
|
|
19685
19869
|
}, 0);
|
|
19686
19870
|
}
|
|
19687
19871
|
shouldIgnoreStreamClose() {
|
|
19688
|
-
return this.recordingTransportFailed || Boolean(this.unloaded);
|
|
19872
|
+
return this.recordingTransportFailed || Boolean(this.unloaded) || this.validate();
|
|
19873
|
+
}
|
|
19874
|
+
handleStreamError(url2Connect, err) {
|
|
19875
|
+
if ("u" > typeof Event && err instanceof Event) this.lastSocketError = error_getEventDetails(err);
|
|
19876
|
+
else this.lastSocketError = serializeError(err);
|
|
19877
|
+
const debugLine = string_summarize(`${PIPE_SYMBOL}Stream *error* event emitted:`, {
|
|
19878
|
+
error: serializeError(err)
|
|
19879
|
+
});
|
|
19880
|
+
this.options.logger.debug(debugLine);
|
|
19881
|
+
if (this.validate()) {
|
|
19882
|
+
this.connected = false;
|
|
19883
|
+
this.stopPings();
|
|
19884
|
+
this.discardSocket();
|
|
19885
|
+
return;
|
|
19886
|
+
}
|
|
19887
|
+
if (!this.connected) return void this.handleConnectionFailure({
|
|
19888
|
+
url2Connect,
|
|
19889
|
+
cause: "error"
|
|
19890
|
+
});
|
|
19891
|
+
const streamError = err instanceof Error ? err : new Error("WebSocket stream emitted an error event", {
|
|
19892
|
+
cause: this.lastSocketError ?? err
|
|
19893
|
+
});
|
|
19894
|
+
if (this.mediaTransmissionStarted) return void this.failInterruptedRecording();
|
|
19895
|
+
this.emit("ERROR", {
|
|
19896
|
+
err: error_createError({
|
|
19897
|
+
message: "WebSocket stream error",
|
|
19898
|
+
explanation: `The WebSocket stream emitted an error event. Details: ${string_pretty(err)}`,
|
|
19899
|
+
options: this.options,
|
|
19900
|
+
exc: streamError
|
|
19901
|
+
})
|
|
19902
|
+
});
|
|
19689
19903
|
}
|
|
19690
19904
|
sendPings() {
|
|
19691
19905
|
this.stopPings();
|
|
@@ -19696,6 +19910,7 @@
|
|
|
19696
19910
|
}
|
|
19697
19911
|
stopPings() {
|
|
19698
19912
|
if (void 0 === this.pingInterval) return;
|
|
19913
|
+
this.options.logger.debug("Recorder: stopping pings...");
|
|
19699
19914
|
window.clearInterval(this.pingInterval);
|
|
19700
19915
|
this.pingInterval = void 0;
|
|
19701
19916
|
}
|
|
@@ -19847,7 +20062,7 @@
|
|
|
19847
20062
|
});
|
|
19848
20063
|
}
|
|
19849
20064
|
shouldIgnoreConnectionFailure() {
|
|
19850
|
-
return this.connectionFailed || this.connected || Boolean(this.unloaded);
|
|
20065
|
+
return this.connectionFailed || this.connected || Boolean(this.unloaded) || this.validate();
|
|
19851
20066
|
}
|
|
19852
20067
|
calculateFrameProgress() {
|
|
19853
20068
|
return `${(this.confirmedFrameNumber / (this.framesCount || 1) * 100).toFixed(2)}%`;
|
|
@@ -20053,28 +20268,7 @@
|
|
|
20053
20268
|
}
|
|
20054
20269
|
});
|
|
20055
20270
|
stream.on("error", (err)=>{
|
|
20056
|
-
|
|
20057
|
-
else this.lastSocketError = serializeError(err);
|
|
20058
|
-
const debugLine = string_summarize(`${PIPE_SYMBOL}Stream *error* event emitted:`, {
|
|
20059
|
-
error: serializeError(err)
|
|
20060
|
-
});
|
|
20061
|
-
this.options.logger.debug(debugLine);
|
|
20062
|
-
if (!this.connected) return void this.handleConnectionFailure({
|
|
20063
|
-
url2Connect,
|
|
20064
|
-
cause: "error"
|
|
20065
|
-
});
|
|
20066
|
-
const streamError = err instanceof Error ? err : new Error("WebSocket stream emitted an error event", {
|
|
20067
|
-
cause: this.lastSocketError ?? err
|
|
20068
|
-
});
|
|
20069
|
-
if (this.mediaTransmissionStarted) return void this.failInterruptedRecording();
|
|
20070
|
-
this.emit("ERROR", {
|
|
20071
|
-
err: error_createError({
|
|
20072
|
-
message: "WebSocket stream error",
|
|
20073
|
-
explanation: `The WebSocket stream emitted an error event. Details: ${string_pretty(err)}`,
|
|
20074
|
-
options: this.options,
|
|
20075
|
-
exc: streamError
|
|
20076
|
-
})
|
|
20077
|
-
});
|
|
20271
|
+
this.handleStreamError(url2Connect, err);
|
|
20078
20272
|
});
|
|
20079
20273
|
stream.on("drain", ()=>{
|
|
20080
20274
|
this.handleStreamDrain(stream);
|
|
@@ -20415,6 +20609,7 @@
|
|
|
20415
20609
|
}
|
|
20416
20610
|
back(cb) {
|
|
20417
20611
|
this.emit("GOING_BACK");
|
|
20612
|
+
this.key = void 0;
|
|
20418
20613
|
this.recordingDimensions = void 0;
|
|
20419
20614
|
this.unloaded = false;
|
|
20420
20615
|
this.show();
|
|
@@ -20479,7 +20674,7 @@
|
|
|
20479
20674
|
this.stopTimeout = void 0;
|
|
20480
20675
|
}
|
|
20481
20676
|
validate() {
|
|
20482
|
-
return this.
|
|
20677
|
+
return Boolean(this.key) && void 0 === this.canvas;
|
|
20483
20678
|
}
|
|
20484
20679
|
isReady() {
|
|
20485
20680
|
return this.userMedia?.isReady();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "videomail-client",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.2",
|
|
4
4
|
"description": "A wicked npm package to record videos directly in the browser, for Deaf and Sign Language!",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"webcam",
|
|
@@ -101,9 +101,9 @@
|
|
|
101
101
|
"@types/ua-parser-js": "0.7.39",
|
|
102
102
|
"@vitest/eslint-plugin": "1.6.27",
|
|
103
103
|
"audit-ci": "7.1.0",
|
|
104
|
-
"chromatic": "18.
|
|
104
|
+
"chromatic": "18.13.0",
|
|
105
105
|
"cross-env": "10.1.0",
|
|
106
|
-
"eslint": "10.
|
|
106
|
+
"eslint": "10.13.0",
|
|
107
107
|
"eslint-import-resolver-typescript": "4.4.5",
|
|
108
108
|
"eslint-plugin-de-morgan": "2.2.1",
|
|
109
109
|
"eslint-plugin-depend": "1.5.0",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"eslint-plugin-regexp": "3.3.1",
|
|
113
113
|
"eslint-plugin-simple-import-sort": "14.0.0",
|
|
114
114
|
"globals": "17.13.0",
|
|
115
|
-
"jsdom": "30.1.
|
|
115
|
+
"jsdom": "30.1.3",
|
|
116
116
|
"msw": "2.15.0",
|
|
117
117
|
"msw-storybook-addon": "3.0.3",
|
|
118
118
|
"prettier": "3.9.10",
|
|
@@ -126,11 +126,11 @@
|
|
|
126
126
|
"type-fest": "5.10.0",
|
|
127
127
|
"typescript": "6.0.3",
|
|
128
128
|
"typescript-eslint": "8.71.2",
|
|
129
|
-
"vitest": "5.0.
|
|
129
|
+
"vitest": "5.0.5"
|
|
130
130
|
},
|
|
131
131
|
"engines": {
|
|
132
|
-
"node": "^26.
|
|
133
|
-
"npm": ">=11.
|
|
132
|
+
"node": "^26.12.0",
|
|
133
|
+
"npm": ">=11.20.0"
|
|
134
134
|
},
|
|
135
135
|
"msw": {
|
|
136
136
|
"workerDirectory": [
|