videomail-client 9.3.1 → 9.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "9.3.1",
3
+ "version": "9.3.2",
4
4
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
5
5
  "keywords": [
6
6
  "webcam",
@@ -69,7 +69,7 @@
69
69
  "request-frame": "1.5.3",
70
70
  "safe-json-stringify": "1.2.0",
71
71
  "superagent": "8.1.2",
72
- "ua-parser-js": "1.0.38",
72
+ "ua-parser-js": "1.0.39",
73
73
  "websocket-stream": "5.5.2"
74
74
  },
75
75
  "devDependencies": {
@@ -108,14 +108,14 @@
108
108
  "gulp-terser": "2.1.0",
109
109
  "minimist": "1.2.8",
110
110
  "nib": "1.2.0",
111
- "postcss": "8.4.45",
111
+ "postcss": "8.4.47",
112
112
  "prettier": "3.3.3",
113
113
  "prettier-plugin-curly": "0.2.2",
114
114
  "prettier-plugin-organize-imports": "4.0.0",
115
115
  "prettier-plugin-packagejson": "2.5.2",
116
116
  "prettier-plugin-sh": "0.14.0",
117
117
  "router": "1.3.8",
118
- "tape": "5.8.1",
118
+ "tape": "5.9.0",
119
119
  "tape-catch": "1.0.6",
120
120
  "tape-run": "11.0.0",
121
121
  "vinyl-buffer": "1.0.1",
@@ -15832,7 +15832,7 @@ module.exports = function typedarrayToBuffer (arr) {
15832
15832
  }).call(this)}).call(this,_dereq_("buffer").Buffer)
15833
15833
  },{"buffer":18}],110:[function(_dereq_,module,exports){
15834
15834
  /////////////////////////////////////////////////////////////////////////////////
15835
- /* UAParser.js v1.0.38
15835
+ /* UAParser.js v1.0.39
15836
15836
  Copyright © 2012-2021 Faisal Salman <f@faisalman.com>
15837
15837
  MIT License *//*
15838
15838
  Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.
@@ -15850,7 +15850,7 @@ module.exports = function typedarrayToBuffer (arr) {
15850
15850
  /////////////
15851
15851
 
15852
15852
 
15853
- var LIBVERSION = '1.0.38',
15853
+ var LIBVERSION = '1.0.39',
15854
15854
  EMPTY = '',
15855
15855
  UNKNOWN = '?',
15856
15856
  FUNC_TYPE = 'function',
@@ -15893,7 +15893,8 @@ module.exports = function typedarrayToBuffer (arr) {
15893
15893
  ZEBRA = 'Zebra',
15894
15894
  FACEBOOK = 'Facebook',
15895
15895
  CHROMIUM_OS = 'Chromium OS',
15896
- MAC_OS = 'Mac OS';
15896
+ MAC_OS = 'Mac OS',
15897
+ SUFFIX_BROWSER = ' Browser';
15897
15898
 
15898
15899
  ///////////
15899
15900
  // Helper
@@ -16004,7 +16005,7 @@ module.exports = function typedarrayToBuffer (arr) {
16004
16005
  return (i === UNKNOWN) ? undefined : i;
16005
16006
  }
16006
16007
  }
16007
- return str;
16008
+ return map.hasOwnProperty('*') ? map['*'] : str;
16008
16009
  };
16009
16010
 
16010
16011
  ///////////////
@@ -16065,17 +16066,20 @@ module.exports = function typedarrayToBuffer (arr) {
16065
16066
  /\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i // Baidu
16066
16067
  ], [VERSION, [NAME, 'Baidu']], [
16067
16068
  /(kindle)\/([\w\.]+)/i, // Kindle
16068
- /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer
16069
+ /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
16070
+ // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
16069
16071
  // Trident based
16070
16072
  /(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
16071
16073
  /(?:ms|\()(ie) ([\w\.]+)/i, // Internet Explorer
16072
16074
 
16073
16075
  // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
16074
- /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,
16075
- // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
16076
- /(heytap|ovi)browser\/([\d\.]+)/i, // Heytap/Ovi
16076
+ /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,
16077
+ // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio
16078
+ /(heytap|ovi)browser\/([\d\.]+)/i, // HeyTap/Ovi
16077
16079
  /(weibo)__([\d\.]+)/i // Weibo
16078
16080
  ], [NAME, VERSION], [
16081
+ /quark(?:pc)?\/([-\w\.]+)/i // Quark
16082
+ ], [VERSION, [NAME, 'Quark']], [
16079
16083
  /\bddg\/([\w\.]+)/i // DuckDuckGo
16080
16084
  ], [VERSION, [NAME, 'DuckDuckGo']], [
16081
16085
  /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i // UCBrowser
@@ -16109,9 +16113,11 @@ module.exports = function typedarrayToBuffer (arr) {
16109
16113
  /fxios\/([-\w\.]+)/i // Firefox for iOS
16110
16114
  ], [VERSION, [NAME, FIREFOX]], [
16111
16115
  /\bqihu|(qi?ho?o?|360)browser/i // 360
16112
- ], [[NAME, '360 ' + BROWSER]], [
16113
- /(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i
16114
- ], [[NAME, /(.+)/, '$1 ' + BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser
16116
+ ], [[NAME, '360' + SUFFIX_BROWSER]], [
16117
+ /\b(qq)\/([\w\.]+)/i // QQ
16118
+ ], [[NAME, /(.+)/, '$1Browser'], VERSION], [
16119
+ /(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
16120
+ ], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
16115
16121
  /samsungbrowser\/([\w\.]+)/i // Samsung Internet
16116
16122
  ], [VERSION, [NAME, SAMSUNG + ' Internet']], [
16117
16123
  /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
@@ -16124,7 +16130,7 @@ module.exports = function typedarrayToBuffer (arr) {
16124
16130
  /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, // Tesla
16125
16131
  /m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i // QQBrowser/2345 Browser
16126
16132
  ], [NAME, VERSION], [
16127
- /(lbbrowser)/i, // LieBao Browser
16133
+ /(lbbrowser|rekonq)/i, // LieBao Browser/Rekonq
16128
16134
  /\[(linkedin)app\]/i // LinkedIn App for iOS & Android
16129
16135
  ], [NAME], [
16130
16136
 
@@ -16170,23 +16176,24 @@ module.exports = function typedarrayToBuffer (arr) {
16170
16176
  // Gecko based
16171
16177
  /(navigator|netscape\d?)\/([-\w\.]+)/i // Netscape
16172
16178
  ], [[NAME, 'Netscape'], VERSION], [
16179
+ /(wolvic)\/([\w\.]+)/i // Wolvic
16180
+ ], [NAME, VERSION], [
16173
16181
  /mobile vr; rv:([\w\.]+)\).+firefox/i // Firefox Reality
16174
16182
  ], [VERSION, [NAME, FIREFOX+' Reality']], [
16175
16183
  /ekiohf.+(flow)\/([\w\.]+)/i, // Flow
16176
16184
  /(swiftfox)/i, // Swiftfox
16177
- /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
16178
- // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
16185
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
16186
+ // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
16179
16187
  /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
16180
16188
  // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
16181
16189
  /(firefox)\/([\w\.]+)/i, // Other Firefox-based
16182
16190
  /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, // Mozilla
16183
16191
 
16184
16192
  // Other
16185
- /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
16186
- // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
16187
- /(links) \(([\w\.]+)/i, // Links
16188
- /panasonic;(viera)/i // Panasonic Viera
16189
- ], [NAME, VERSION], [
16193
+ /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
16194
+ // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser
16195
+ /(links) \(([\w\.]+)/i // Links
16196
+ ], [NAME, [VERSION, /_/g, '.']], [
16190
16197
 
16191
16198
  /(cobalt)\/([\w\.]+)/i // Cobalt
16192
16199
  ], [NAME, [VERSION, /master.|lts./, ""]]
@@ -16233,8 +16240,8 @@ module.exports = function typedarrayToBuffer (arr) {
16233
16240
  // Samsung
16234
16241
  /\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
16235
16242
  ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [
16236
- /\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
16237
- /samsung[- ]([-\w]+)/i,
16243
+ /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
16244
+ /samsung[- ]((?!sm-[lr])[-\w]+)/i,
16238
16245
  /sec-(sgh\w+)/i
16239
16246
  ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [
16240
16247
 
@@ -16265,7 +16272,7 @@ module.exports = function typedarrayToBuffer (arr) {
16265
16272
  /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, // Xiaomi Hongmi
16266
16273
  /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, // Xiaomi Redmi
16267
16274
  /oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i, // Xiaomi Redmi 'numeric' models
16268
- /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i // Xiaomi Mi
16275
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i // Xiaomi Mi
16269
16276
  ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [
16270
16277
  /oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i, // Redmi Pad
16271
16278
  /\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i // Mi Pad tablets
@@ -16333,7 +16340,7 @@ module.exports = function typedarrayToBuffer (arr) {
16333
16340
 
16334
16341
  // Amazon
16335
16342
  /(alexa)webm/i,
16336
- /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i, // Kindle Fire without Silk / Echo Show
16343
+ /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i, // Kindle Fire without Silk / Echo Show
16337
16344
  /(kf[a-z]+)( bui|\)).+silk\//i // Kindle Fire HD
16338
16345
  ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [
16339
16346
  /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i // Fire Phone
@@ -16362,6 +16369,14 @@ module.exports = function typedarrayToBuffer (arr) {
16362
16369
  /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
16363
16370
  ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [
16364
16371
 
16372
+ // TCL
16373
+ /droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i
16374
+ ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [
16375
+
16376
+ // itel
16377
+ /(itel) ((\w+))/i
16378
+ ], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : 'mobile' }]], [
16379
+
16365
16380
  // Acer
16366
16381
  /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
16367
16382
  ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [
@@ -16375,6 +16390,10 @@ module.exports = function typedarrayToBuffer (arr) {
16375
16390
  /; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
16376
16391
  ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [
16377
16392
 
16393
+ // Nothing
16394
+ /droid.+; (a(?:015|06[35]|142p?))/i
16395
+ ], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [
16396
+
16378
16397
  // MIXED
16379
16398
  /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
16380
16399
  // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
@@ -16505,6 +16524,8 @@ module.exports = function typedarrayToBuffer (arr) {
16505
16524
  // WEARABLES
16506
16525
  ///////////////////
16507
16526
 
16527
+ /\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i // Samsung Galaxy Watch
16528
+ ], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [
16508
16529
  /((pebble))app/i // Pebble
16509
16530
  ], [VENDOR, MODEL, [TYPE, WEARABLE]], [
16510
16531
  /(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i // Apple Watch
@@ -17339,7 +17360,7 @@ function wrappy (fn, cb) {
17339
17360
  },{}],116:[function(_dereq_,module,exports){
17340
17361
  module.exports={
17341
17362
  "name": "videomail-client",
17342
- "version": "9.3.1",
17363
+ "version": "9.3.2",
17343
17364
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
17344
17365
  "keywords": [
17345
17366
  "webcam",
@@ -17408,7 +17429,7 @@ module.exports={
17408
17429
  "request-frame": "1.5.3",
17409
17430
  "safe-json-stringify": "1.2.0",
17410
17431
  "superagent": "8.1.2",
17411
- "ua-parser-js": "1.0.38",
17432
+ "ua-parser-js": "1.0.39",
17412
17433
  "websocket-stream": "5.5.2"
17413
17434
  },
17414
17435
  "devDependencies": {
@@ -17447,14 +17468,14 @@ module.exports={
17447
17468
  "gulp-terser": "2.1.0",
17448
17469
  "minimist": "1.2.8",
17449
17470
  "nib": "1.2.0",
17450
- "postcss": "8.4.45",
17471
+ "postcss": "8.4.47",
17451
17472
  "prettier": "3.3.3",
17452
17473
  "prettier-plugin-curly": "0.2.2",
17453
17474
  "prettier-plugin-organize-imports": "4.0.0",
17454
17475
  "prettier-plugin-packagejson": "2.5.2",
17455
17476
  "prettier-plugin-sh": "0.14.0",
17456
17477
  "router": "1.3.8",
17457
- "tape": "5.8.1",
17478
+ "tape": "5.9.0",
17458
17479
  "tape-catch": "1.0.6",
17459
17480
  "tape-run": "11.0.0",
17460
17481
  "vinyl-buffer": "1.0.1",
@@ -22737,6 +22758,10 @@ var Recorder = function Recorder(visuals, replay) {
22737
22758
  return getIntervalSum() / framesCount;
22738
22759
  }
22739
22760
  function getAvgFps() {
22761
+ var intervalSum = getIntervalSum();
22762
+ if (intervalSum === 0) {
22763
+ return undefined;
22764
+ }
22740
22765
  return framesCount / getIntervalSum() * 1000;
22741
22766
  }
22742
22767
  this.getRecordingStats = function () {
@@ -22984,9 +23009,14 @@ var Recorder = function Recorder(visuals, replay) {
22984
23009
 
22985
23010
  // see https://github.com/hapticdata/animitter/issues/3
22986
23011
  loop.on("update", function (_deltaTime, elapsedTime) {
22987
- // x1000 because of milliseconds
22988
- var avgFPS = framesCount / elapsedTime * 1000;
22989
- debug("Recorder: avgFps = ".concat(Math.round(avgFPS), ", framesCount = ").concat(framesCount));
23012
+ var avgFPS = undefined;
23013
+ if (elapsedTime !== 0) {
23014
+ // x1000 because of milliseconds
23015
+ avgFPS = Math.round(framesCount / elapsedTime * 1000);
23016
+ } else {
23017
+ avgFPS = undefined;
23018
+ }
23019
+ debug("Recorder: avgFps = ".concat(avgFPS, ", framesCount = ").concat(framesCount));
22990
23020
  });
22991
23021
  loop.start();
22992
23022
  };