@webex/internal-plugin-device 3.12.0-next.1 → 3.12.0-next.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/dist/constants.js CHANGED
@@ -4,7 +4,7 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
4
4
  _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.FEATURE_TYPES = exports.FEATURE_COLLECTION_USER = exports.FEATURE_COLLECTION_NAMES = exports.FEATURE_COLLECTION_ENTITLEMENT = exports.FEATURE_COLLECTION_DEVELOPER = exports.DEVICE_EVENT_REGISTRATION_SUCCESS = exports.DEVICE_EVENTS = exports.CISCO_DEVICE_URL = void 0;
7
+ exports.MIN_DEVICES_FOR_CLEANUP = exports.MAX_DELETION_CONFIRMATION_ATTEMPTS = exports.FEATURE_TYPES = exports.FEATURE_COLLECTION_USER = exports.FEATURE_COLLECTION_NAMES = exports.FEATURE_COLLECTION_ENTITLEMENT = exports.FEATURE_COLLECTION_DEVELOPER = exports.DEVICE_EVENT_REGISTRATION_SUCCESS = exports.DEVICE_EVENTS = exports.DELETION_CONFIRMATION_DELAY_MS = exports.CISCO_DEVICE_URL = void 0;
8
8
  // Feature constants.
9
9
  var FEATURE_COLLECTION_DEVELOPER = exports.FEATURE_COLLECTION_DEVELOPER = 'developer';
10
10
  var FEATURE_COLLECTION_ENTITLEMENT = exports.FEATURE_COLLECTION_ENTITLEMENT = 'entitlement';
@@ -20,4 +20,9 @@ var FEATURE_TYPES = exports.FEATURE_TYPES = {
20
20
  // Device constants.
21
21
  var DEVICE_EVENT_REGISTRATION_SUCCESS = exports.DEVICE_EVENT_REGISTRATION_SUCCESS = 'registration:success';
22
22
  var DEVICE_EVENTS = exports.DEVICE_EVENTS = [DEVICE_EVENT_REGISTRATION_SUCCESS];
23
+
24
+ // Device deletion constants.
25
+ var MIN_DEVICES_FOR_CLEANUP = exports.MIN_DEVICES_FOR_CLEANUP = 5;
26
+ var MAX_DELETION_CONFIRMATION_ATTEMPTS = exports.MAX_DELETION_CONFIRMATION_ATTEMPTS = 5;
27
+ var DELETION_CONFIRMATION_DELAY_MS = exports.DELETION_CONFIRMATION_DELAY_MS = 3000;
23
28
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FEATURE_COLLECTION_DEVELOPER","exports","FEATURE_COLLECTION_ENTITLEMENT","FEATURE_COLLECTION_USER","CISCO_DEVICE_URL","FEATURE_COLLECTION_NAMES","FEATURE_TYPES","BOOLEAN","NUMBER","STRING","DEVICE_EVENT_REGISTRATION_SUCCESS","DEVICE_EVENTS"],"sources":["constants.js"],"sourcesContent":["// Feature constants.\nexport const FEATURE_COLLECTION_DEVELOPER = 'developer';\nexport const FEATURE_COLLECTION_ENTITLEMENT = 'entitlement';\nexport const FEATURE_COLLECTION_USER = 'user';\n\nexport const CISCO_DEVICE_URL = 'cisco-device-url';\n\nexport const FEATURE_COLLECTION_NAMES = [\n FEATURE_COLLECTION_DEVELOPER,\n FEATURE_COLLECTION_ENTITLEMENT,\n FEATURE_COLLECTION_USER,\n];\n\nexport const FEATURE_TYPES = {\n BOOLEAN: 'boolean',\n NUMBER: 'number',\n STRING: 'string',\n};\n\n// Device constants.\nexport const DEVICE_EVENT_REGISTRATION_SUCCESS = 'registration:success';\n\nexport const DEVICE_EVENTS = [DEVICE_EVENT_REGISTRATION_SUCCESS];\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAG,WAAW;AAChD,IAAME,8BAA8B,GAAAD,OAAA,CAAAC,8BAAA,GAAG,aAAa;AACpD,IAAMC,uBAAuB,GAAAF,OAAA,CAAAE,uBAAA,GAAG,MAAM;AAEtC,IAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,GAAG,kBAAkB;AAE3C,IAAMC,wBAAwB,GAAAJ,OAAA,CAAAI,wBAAA,GAAG,CACtCL,4BAA4B,EAC5BE,8BAA8B,EAC9BC,uBAAuB,CACxB;AAEM,IAAMG,aAAa,GAAAL,OAAA,CAAAK,aAAA,GAAG;EAC3BC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE;AACV,CAAC;;AAED;AACO,IAAMC,iCAAiC,GAAAT,OAAA,CAAAS,iCAAA,GAAG,sBAAsB;AAEhE,IAAMC,aAAa,GAAAV,OAAA,CAAAU,aAAA,GAAG,CAACD,iCAAiC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["FEATURE_COLLECTION_DEVELOPER","exports","FEATURE_COLLECTION_ENTITLEMENT","FEATURE_COLLECTION_USER","CISCO_DEVICE_URL","FEATURE_COLLECTION_NAMES","FEATURE_TYPES","BOOLEAN","NUMBER","STRING","DEVICE_EVENT_REGISTRATION_SUCCESS","DEVICE_EVENTS","MIN_DEVICES_FOR_CLEANUP","MAX_DELETION_CONFIRMATION_ATTEMPTS","DELETION_CONFIRMATION_DELAY_MS"],"sources":["constants.js"],"sourcesContent":["// Feature constants.\nexport const FEATURE_COLLECTION_DEVELOPER = 'developer';\nexport const FEATURE_COLLECTION_ENTITLEMENT = 'entitlement';\nexport const FEATURE_COLLECTION_USER = 'user';\n\nexport const CISCO_DEVICE_URL = 'cisco-device-url';\n\nexport const FEATURE_COLLECTION_NAMES = [\n FEATURE_COLLECTION_DEVELOPER,\n FEATURE_COLLECTION_ENTITLEMENT,\n FEATURE_COLLECTION_USER,\n];\n\nexport const FEATURE_TYPES = {\n BOOLEAN: 'boolean',\n NUMBER: 'number',\n STRING: 'string',\n};\n\n// Device constants.\nexport const DEVICE_EVENT_REGISTRATION_SUCCESS = 'registration:success';\n\nexport const DEVICE_EVENTS = [DEVICE_EVENT_REGISTRATION_SUCCESS];\n\n// Device deletion constants.\nexport const MIN_DEVICES_FOR_CLEANUP = 5;\nexport const MAX_DELETION_CONFIRMATION_ATTEMPTS = 5;\nexport const DELETION_CONFIRMATION_DELAY_MS = 3000;\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAG,WAAW;AAChD,IAAME,8BAA8B,GAAAD,OAAA,CAAAC,8BAAA,GAAG,aAAa;AACpD,IAAMC,uBAAuB,GAAAF,OAAA,CAAAE,uBAAA,GAAG,MAAM;AAEtC,IAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,GAAG,kBAAkB;AAE3C,IAAMC,wBAAwB,GAAAJ,OAAA,CAAAI,wBAAA,GAAG,CACtCL,4BAA4B,EAC5BE,8BAA8B,EAC9BC,uBAAuB,CACxB;AAEM,IAAMG,aAAa,GAAAL,OAAA,CAAAK,aAAA,GAAG;EAC3BC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE;AACV,CAAC;;AAED;AACO,IAAMC,iCAAiC,GAAAT,OAAA,CAAAS,iCAAA,GAAG,sBAAsB;AAEhE,IAAMC,aAAa,GAAAV,OAAA,CAAAU,aAAA,GAAG,CAACD,iCAAiC,CAAC;;AAEhE;AACO,IAAME,uBAAuB,GAAAX,OAAA,CAAAW,uBAAA,GAAG,CAAC;AACjC,IAAMC,kCAAkC,GAAAZ,OAAA,CAAAY,kCAAA,GAAG,CAAC;AAC5C,IAAMC,8BAA8B,GAAAb,OAAA,CAAAa,8BAAA,GAAG,IAAI","ignoreList":[]}
package/dist/device.js CHANGED
@@ -409,51 +409,105 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
409
409
  });
410
410
  },
411
411
  /**
412
- * Fetches the web devices and deletes the third of them which are not recent devices in use
413
- * @returns {Promise<void, Error>}
412
+ * Fetches devices matching the current device type.
413
+ * @returns {Promise<Array>} filtered device list
414
414
  */
415
- deleteDevices: function deleteDevices() {
416
- var _this2 = this;
417
- // Fetch devices with a GET request
415
+ _getDevicesOfCurrentType: function _getDevicesOfCurrentType() {
416
+ var _this$_getBody = this._getBody(),
417
+ deviceType = _this$_getBody.deviceType;
418
418
  return this.request({
419
419
  method: 'GET',
420
420
  service: 'wdm',
421
421
  resource: 'devices'
422
422
  }).then(function (response) {
423
- var devices = response.body.devices;
424
- var _this2$_getBody = _this2._getBody(),
425
- deviceType = _this2$_getBody.deviceType;
426
-
427
- // Filter devices of type deviceType
428
- var webDevices = devices.filter(function (item) {
423
+ return response.body.devices.filter(function (item) {
429
424
  return item.deviceType === deviceType;
430
425
  });
426
+ });
427
+ },
428
+ /**
429
+ * Waits until the server-side device count drops to or below targetCount,
430
+ * polling up to maxAttempts times with a delay between each check.
431
+ * @param {number} targetCount - resolve when device count drops to this value or below
432
+ * @param {number} [attempt=0]
433
+ * @returns {Promise<void>}
434
+ */
435
+ _waitForDeviceCountBelowLimit: function _waitForDeviceCountBelowLimit(targetCount) {
436
+ var _this2 = this;
437
+ var attempt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
438
+ if (attempt >= _constants.MAX_DELETION_CONFIRMATION_ATTEMPTS) {
439
+ this.logger.warn('device: max confirmation attempts reached, proceeding anyway');
440
+ return _promise.default.resolve();
441
+ }
442
+ return new _promise.default(function (resolve) {
443
+ return setTimeout(resolve, _constants.DELETION_CONFIRMATION_DELAY_MS);
444
+ }).then(function () {
445
+ return _this2._getDevicesOfCurrentType();
446
+ }).then(function (devices) {
447
+ _this2.logger.info("device: confirmation check ".concat(attempt + 1, "/").concat(_constants.MAX_DELETION_CONFIRMATION_ATTEMPTS, ", ") + "".concat(devices.length, " devices remaining (target: \u2264 ").concat(targetCount, ")"));
448
+ if (devices.length <= targetCount) {
449
+ _this2.logger.info('device: device count is now safely below limit');
450
+ return _promise.default.resolve();
451
+ }
452
+ return _this2._waitForDeviceCountBelowLimit(targetCount, attempt + 1);
453
+ }).catch(function (error) {
454
+ _this2.logger.warn("device: confirmation check ".concat(attempt + 1, " failed, proceeding anyway:"), error);
455
+ return _promise.default.resolve();
456
+ });
457
+ },
458
+ /**
459
+ * Fetches the web devices and deletes the oldest third, then waits
460
+ * for the server to confirm the count is below the limit.
461
+ * @returns {Promise<void>}
462
+ */
463
+ deleteDevices: function deleteDevices() {
464
+ var _this3 = this;
465
+ var targetCount;
466
+ return this._getDevicesOfCurrentType().then(function (webDevices) {
431
467
  var sortedDevices = (0, _lodash.orderBy)(webDevices, [function (item) {
432
468
  return new Date(item.modificationTime);
433
469
  }]);
434
-
435
- // If there are more than two devices, delete the last third
436
- if (sortedDevices.length > 2) {
437
- var totalItems = sortedDevices.length;
438
- var countToDelete = Math.ceil(totalItems / 3);
439
- var urlsToDelete = sortedDevices.slice(0, countToDelete).map(function (item) {
440
- return item.url;
441
- });
442
- return _promise.default.race(urlsToDelete.map(function (url) {
443
- return _this2.request({
444
- uri: url,
445
- method: 'DELETE'
446
- });
447
- }));
470
+ if (sortedDevices.length <= _constants.MIN_DEVICES_FOR_CLEANUP) {
471
+ _this3.logger.info("device: only ".concat(sortedDevices.length, " devices found (minimum ").concat(_constants.MIN_DEVICES_FOR_CLEANUP, "), skipping cleanup"));
472
+ return _promise.default.resolve();
448
473
  }
449
- return _promise.default.resolve();
474
+ var devicesToDelete = sortedDevices.slice(0, Math.ceil(sortedDevices.length / 3));
475
+ targetCount = sortedDevices.length - Math.min(5, devicesToDelete.length);
476
+ _this3.logger.info("device: deleting ".concat(devicesToDelete.length, " of ").concat(webDevices.length, " devices"));
477
+ return _promise.default.all(devicesToDelete.map(function (device) {
478
+ return _this3.request({
479
+ uri: device.url,
480
+ method: 'DELETE'
481
+ }).then(function () {
482
+ return {
483
+ status: 'fulfilled'
484
+ };
485
+ }).catch(function (reason) {
486
+ return {
487
+ status: 'rejected',
488
+ reason: reason
489
+ };
490
+ });
491
+ })).then(function (results) {
492
+ var failed = results.filter(function (r) {
493
+ return r.status === 'rejected';
494
+ });
495
+ if (failed.length > 0) {
496
+ _this3.logger.warn("device: ".concat(failed.length, " of ").concat(devicesToDelete.length, " deletions failed (best-effort, continuing)"));
497
+ }
498
+ _this3.logger.info("device: deleted ".concat(devicesToDelete.length - failed.length, " of ").concat(devicesToDelete.length, " devices"));
499
+ });
500
+ }).then(function () {
501
+ return targetCount !== undefined ? _this3._waitForDeviceCountBelowLimit(targetCount, 0) : _promise.default.resolve();
502
+ }).then(function () {
503
+ _this3.logger.info('device: device count confirmed below limit, cleanup successful');
450
504
  }).catch(function (error) {
451
- _this2.logger.error('Failed to retrieve devices:', error);
505
+ _this3.logger.error('device: failed to delete devices:', error);
452
506
  return _promise.default.reject(error);
453
507
  });
454
508
  },
455
509
  register: function register() {
456
- var _this3 = this;
510
+ var _this4 = this;
457
511
  var deviceRegistrationOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
458
512
  this.logger.info('device: registering');
459
513
  this.webex.internal.newMetrics.callDiagnosticMetrics.setDeviceInfo(this);
@@ -461,15 +515,17 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
461
515
  // Validate that the device can be registered.
462
516
  return this.canRegister().then(function () {
463
517
  // Validate if the device is already registered and refresh instead.
464
- if (_this3.registered) {
465
- _this3.logger.info('device: device already registered, refreshing');
466
- return _this3.refresh(deviceRegistrationOptions);
518
+ if (_this4.registered) {
519
+ _this4.logger.info('device: device already registered, refreshing');
520
+ return _this4.refresh(deviceRegistrationOptions);
467
521
  }
468
- return _this3._registerInternal(deviceRegistrationOptions).catch(function (error) {
522
+ return _this4._registerInternal(deviceRegistrationOptions).catch(function (error) {
469
523
  var _error$body;
470
524
  if ((error === null || error === void 0 ? void 0 : (_error$body = error.body) === null || _error$body === void 0 ? void 0 : _error$body.message) === 'User has excessive device registrations') {
471
- return _this3.deleteDevices().then(function () {
472
- return _this3._registerInternal(deviceRegistrationOptions);
525
+ _this4.logger.info('device: excessive device registrations detected, initiating cleanup');
526
+ return _this4.deleteDevices().then(function () {
527
+ _this4.logger.info('device: device cleanup complete, retrying registration');
528
+ return _this4._registerInternal(deviceRegistrationOptions);
473
529
  });
474
530
  }
475
531
  throw error;
@@ -480,7 +536,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
480
536
  return _objectSpread(_objectSpread({}, this.config.defaults.body ? this.config.defaults.body : {}), this.config.body ? this.config.body : {});
481
537
  },
482
538
  _registerInternal: function _registerInternal() {
483
- var _this4 = this;
539
+ var _this5 = this;
484
540
  var deviceRegistrationOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
485
541
  this.logger.info('device: making registration request');
486
542
 
@@ -513,25 +569,25 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
513
569
  includeUpstreamServices: "".concat(includeDetails).concat(this.config.energyForecast && this.energyForecastConfig ? ',energyforecast' : '')
514
570
  }
515
571
  }).catch(function (error) {
516
- _this4.webex.internal.newMetrics.submitInternalEvent({
572
+ _this5.webex.internal.newMetrics.submitInternalEvent({
517
573
  name: 'internal.register.device.response'
518
574
  });
519
575
  throw error;
520
576
  }).then(function (response) {
521
577
  // If we've signed out in the mean time, the request ID will have changed
522
- if (_this4.get('register-request-id') !== requestId) {
523
- _this4.logger.info('device: register request ID mismatch, ignoring response');
578
+ if (_this5.get('register-request-id') !== requestId) {
579
+ _this5.logger.info('device: register request ID mismatch, ignoring response');
524
580
  return _promise.default.resolve();
525
581
  }
526
582
 
527
583
  // Do not add any processing of response above this as that will affect timestamp
528
- _this4.webex.internal.newMetrics.submitInternalEvent({
584
+ _this5.webex.internal.newMetrics.submitInternalEvent({
529
585
  name: 'internal.register.device.response'
530
586
  });
531
- _this4.webex.internal.metrics.submitClientMetrics(_metrics.default.JS_SDK_WDM_REGISTRATION_SUCCESSFUL);
532
- return _this4.processRegistrationSuccess(response);
587
+ _this5.webex.internal.metrics.submitClientMetrics(_metrics.default.JS_SDK_WDM_REGISTRATION_SUCCESSFUL);
588
+ return _this5.processRegistrationSuccess(response);
533
589
  }).catch(function (error) {
534
- _this4.webex.internal.metrics.submitClientMetrics(_metrics.default.JS_SDK_WDM_REGISTRATION_FAILED, {
590
+ _this5.webex.internal.metrics.submitClientMetrics(_metrics.default.JS_SDK_WDM_REGISTRATION_FAILED, {
535
591
  fields: {
536
592
  error: error
537
593
  }
@@ -540,7 +596,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
540
596
  });
541
597
  },
542
598
  unregister: function unregister() {
543
- var _this5 = this;
599
+ var _this6 = this;
544
600
  this.logger.info('device: unregistering');
545
601
  if (!this.registered) {
546
602
  this.logger.warn('device: not registered');
@@ -550,11 +606,11 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
550
606
  uri: this.url,
551
607
  method: 'DELETE'
552
608
  }).then(function () {
553
- return _this5.clear();
609
+ return _this6.clear();
554
610
  }).catch(function (reason) {
555
611
  if (reason.statusCode === 404) {
556
- _this5.logger.info('device: 404 when deleting device, device is already deleted, clearing device');
557
- _this5.clear();
612
+ _this6.logger.info('device: 404 when deleting device, device is already deleted, clearing device');
613
+ _this6.clear();
558
614
  }
559
615
  throw reason;
560
616
  });
@@ -588,7 +644,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
588
644
  * @returns {Promise<void, Error>}
589
645
  */
590
646
  checkNetworkReachability: function checkNetworkReachability() {
591
- var _this6 = this;
647
+ var _this7 = this;
592
648
  this.logger.info('device: checking network reachability');
593
649
 
594
650
  // Validate if the device has been checked and reset the logout timer.
@@ -616,13 +672,13 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
616
672
  method: 'GET',
617
673
  uri: this.intranetInactivityCheckUrl
618
674
  }).then(function () {
619
- _this6.isInNetwork = true;
620
- return _promise.default.resolve(_this6.resetLogoutTimer());
675
+ _this7.isInNetwork = true;
676
+ return _promise.default.resolve(_this7.resetLogoutTimer());
621
677
  }).catch(function () {
622
- _this6.logger.info('device: did not reach ping endpoint');
623
- _this6.logger.info('device: triggering off-network timer');
624
- _this6.isInNetwork = false;
625
- return _promise.default.resolve(_this6.resetLogoutTimer());
678
+ _this7.logger.info('device: did not reach ping endpoint');
679
+ _this7.logger.info('device: triggering off-network timer');
680
+ _this7.isInNetwork = false;
681
+ return _promise.default.resolve(_this7.resetLogoutTimer());
626
682
  });
627
683
  },
628
684
  /**
@@ -647,7 +703,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
647
703
  * @returns {Promise<string, Error>} - The priority-mapped web socket url.
648
704
  */
649
705
  getWebSocketUrl: function getWebSocketUrl() {
650
- var _this7 = this;
706
+ var _this8 = this;
651
707
  var wait = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
652
708
  this.logger.info('device: getting the current websocket url');
653
709
 
@@ -657,9 +713,9 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
657
713
  // Validate if the method should wait for registration.
658
714
  if (wait) {
659
715
  return this.waitForRegistration().then(function () {
660
- return services.convertUrlToPriorityHostUrl(_this7.webSocketUrl);
716
+ return services.convertUrlToPriorityHostUrl(_this8.webSocketUrl);
661
717
  }).catch(function (error) {
662
- _this7.logger.warn(error.message);
718
+ _this8.logger.warn(error.message);
663
719
  return _promise.default.reject(new Error('device: failed to get the current websocket url'));
664
720
  });
665
721
  }
@@ -713,7 +769,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
713
769
  */
714
770
  processRegistrationSuccess: function processRegistrationSuccess(response) {
715
771
  var _body$features,
716
- _this8 = this;
772
+ _this9 = this;
717
773
  this.logger.info('device: received registration payload');
718
774
 
719
775
  // Clone the response body for service cleaning.
@@ -757,7 +813,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
757
813
  this.logger.info('device: enqueuing device refresh');
758
814
  var delay = (this.config.ephemeralDeviceTTL / 2 + 60) * 1000;
759
815
  this.refreshTimer = (0, _commonTimers.safeSetTimeout)(function () {
760
- return _this8.refresh();
816
+ return _this9.refresh();
761
817
  }, delay);
762
818
  }
763
819
 
@@ -799,7 +855,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
799
855
  * @returns {void}
800
856
  */
801
857
  setLogoutTimer: function setLogoutTimer(duration) {
802
- var _this9 = this;
858
+ var _this0 = this;
803
859
  this.logger.info('device: setting logout timer');
804
860
  if (!duration || duration <= 0) {
805
861
  return;
@@ -807,12 +863,12 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
807
863
 
808
864
  // Setup user activity date event listener.
809
865
  this.on('change:lastUserActivityDate', function () {
810
- _this9.resetLogoutTimer();
866
+ _this0.resetLogoutTimer();
811
867
  });
812
868
 
813
869
  // Initialize a new timer.
814
870
  this.logoutTimer = (0, _commonTimers.safeSetTimeout)(function () {
815
- _this9.webex.logout();
871
+ _this0.webex.logout();
816
872
  }, duration * 1000);
817
873
  },
818
874
  /**
@@ -822,17 +878,17 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
822
878
  * @returns {Promise<void, Error>}
823
879
  */
824
880
  waitForRegistration: function waitForRegistration() {
825
- var _this0 = this;
881
+ var _this1 = this;
826
882
  var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
827
883
  this.logger.info('device: waiting for registration');
828
884
  return new _promise.default(function (resolve, reject) {
829
- if (_this0.registered) {
885
+ if (_this1.registered) {
830
886
  resolve();
831
887
  }
832
888
  var timeoutTimer = (0, _commonTimers.safeSetTimeout)(function () {
833
889
  return reject(new Error('device: timeout occured while waiting for registration'));
834
890
  }, timeout * 1000);
835
- _this0.once(_constants.DEVICE_EVENT_REGISTRATION_SUCCESS, function () {
891
+ _this1.once(_constants.DEVICE_EVENT_REGISTRATION_SUCCESS, function () {
836
892
  clearTimeout(timeoutTimer);
837
893
  resolve();
838
894
  });
@@ -842,7 +898,7 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
842
898
  return _promise.default.resolve(this.webex.internal.services.markFailedUrl(url));
843
899
  },
844
900
  initialize: function initialize() {
845
- var _this1 = this;
901
+ var _this10 = this;
846
902
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
847
903
  args[_key2] = arguments[_key2];
848
904
  }
@@ -850,52 +906,52 @@ var Device = _webexCore.WebexPlugin.extend((_dec = (0, _webexCore.waitForValue)(
850
906
  (0, _apply.default)(_webexCore.WebexPlugin.prototype.initialize, this, args);
851
907
  this.listenToOnce(this.webex, 'change:config', function () {
852
908
  // If debug feature toggles exist, clear the etag to ensure developer feature toggles are fetched
853
- if (_this1.getDebugFeatures(_this1.config.debugFeatureTogglesKey).length > 0) {
854
- _this1.set('etag', undefined);
909
+ if (_this10.getDebugFeatures(_this10.config.debugFeatureTogglesKey).length > 0) {
910
+ _this10.set('etag', undefined);
855
911
  }
856
912
  });
857
913
 
858
914
  // Initialize feature events and listeners.
859
915
  _constants.FEATURE_COLLECTION_NAMES.forEach(function (collectionName) {
860
- _this1.features.on("change:".concat(collectionName), function (model, value, options) {
861
- _this1.trigger('change', _this1, options);
862
- _this1.trigger('change:features', _this1, _this1.features, options);
916
+ _this10.features.on("change:".concat(collectionName), function (model, value, options) {
917
+ _this10.trigger('change', _this10, options);
918
+ _this10.trigger('change:features', _this10, _this10.features, options);
863
919
  });
864
920
  });
865
921
 
866
922
  // Initialize network reachability checking event for url change.
867
923
  this.on('change:intranetInactivityCheckUrl', function () {
868
- _this1.checkNetworkReachability();
924
+ _this10.checkNetworkReachability();
869
925
  });
870
926
 
871
927
  // Initialize network reachability checking event for duration change.
872
928
  this.on('change:intranetInactivityDuration', function () {
873
- _this1.checkNetworkReachability();
929
+ _this10.checkNetworkReachability();
874
930
  });
875
931
 
876
932
  // Initialize network reachability checking event for duration change.
877
933
  this.on('change:inNetworkInactivityDuration', function () {
878
- _this1.checkNetworkReachability();
934
+ _this10.checkNetworkReachability();
879
935
  });
880
936
 
881
937
  // Initialize listener for activity checking.
882
938
  this.listenTo(this.webex, 'user-activity', function () {
883
- _this1.lastUserActivityDate = (0, _now.default)();
939
+ _this10.lastUserActivityDate = (0, _now.default)();
884
940
  });
885
941
 
886
942
  // Initialize listener for meeting started event.
887
943
  this.listenTo(this.webex, 'meeting started', function () {
888
- _this1.isInMeeting = true;
889
- _this1.resetLogoutTimer();
944
+ _this10.isInMeeting = true;
945
+ _this10.resetLogoutTimer();
890
946
  });
891
947
 
892
948
  // Initialize listener for meeting ended event.
893
949
  this.listenTo(this.webex, 'meeting ended', function () {
894
- _this1.isInMeeting = false;
895
- _this1.resetLogoutTimer();
950
+ _this10.isInMeeting = false;
951
+ _this10.resetLogoutTimer();
896
952
  });
897
953
  } /* eslint-enable require-jsdoc */,
898
- version: "3.12.0-next.1"
954
+ version: "3.12.0-next.2"
899
955
  }, (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight, _dec], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "register", [_dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "register"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "_registerInternal", [_common.oneFlight, _dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "_registerInternal"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "unregister", [_common.oneFlight, _dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "unregister"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "markUrlFailedAndGetNew", [_dec5], (0, _getOwnPropertyDescriptor.default)(_obj, "markUrlFailedAndGetNew"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "initialize", [_dec6], (0, _getOwnPropertyDescriptor.default)(_obj, "initialize"), _obj), _obj));
900
956
  var _default = exports.default = Device;
901
957
  //# sourceMappingURL=device.js.map