@webex/calling 3.8.1-next.8 → 3.8.1-web-workers-keepalive.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.
Files changed (29) hide show
  1. package/dist/CallingClient/CallingClient.test.js +8 -6
  2. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  3. package/dist/CallingClient/line/line.test.js +4 -10
  4. package/dist/CallingClient/line/line.test.js.map +1 -1
  5. package/dist/CallingClient/registration/register.js +351 -345
  6. package/dist/CallingClient/registration/register.js.map +1 -1
  7. package/dist/CallingClient/registration/register.test.js +292 -263
  8. package/dist/CallingClient/registration/register.test.js.map +1 -1
  9. package/dist/CallingClient/registration/webWorker.js +115 -0
  10. package/dist/CallingClient/registration/webWorker.js.map +1 -0
  11. package/dist/CallingClient/registration/webWorker.test.js +256 -0
  12. package/dist/CallingClient/registration/webWorker.test.js.map +1 -0
  13. package/dist/CallingClient/registration/webWorkerStr.js +15 -0
  14. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -0
  15. package/dist/common/types.js +8 -1
  16. package/dist/common/types.js.map +1 -1
  17. package/dist/module/CallingClient/registration/register.js +54 -54
  18. package/dist/module/CallingClient/registration/webWorker.js +59 -0
  19. package/dist/module/CallingClient/registration/webWorkerStr.js +93 -0
  20. package/dist/module/common/types.js +7 -0
  21. package/dist/types/CallingClient/registration/register.d.ts +1 -2
  22. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  23. package/dist/types/CallingClient/registration/webWorker.d.ts +2 -0
  24. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -0
  25. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +3 -0
  26. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -0
  27. package/dist/types/common/types.d.ts +12 -0
  28. package/dist/types/common/types.d.ts.map +1 -1
  29. package/package.json +4 -3
@@ -1,12 +1,13 @@
1
1
  import { v4 as uuid } from 'uuid';
2
2
  import { METHOD_START_MESSAGE } from '../../common/constants';
3
3
  import { emitFinalFailure, handleRegistrationErrors, uploadLogs } from '../../common';
4
+ import webWorkerStr from './webWorkerStr';
4
5
  import { METRIC_EVENT, METRIC_TYPE, REG_ACTION, } from '../../Metrics/types';
5
6
  import { getMetricManager } from '../../Metrics';
6
7
  import { getCallManager } from '../calling';
7
8
  import log from '../../Logger';
8
9
  import SDKConnector from '../../SDKConnector';
9
- import { ALLOWED_SERVICES, HTTP_METHODS, RegistrationStatus, ServiceIndicator, } from '../../common/types';
10
+ import { ALLOWED_SERVICES, HTTP_METHODS, RegistrationStatus, ServiceIndicator, WorkerMessageType, } from '../../common/types';
10
11
  import { CALLING_USER_AGENT, CISCO_DEVICE_URL, DEVICES_ENDPOINT_RESOURCE, SPARK_USER_AGENT, WEBEX_WEB_CLIENT, BASE_REG_RETRY_TIMER_VAL_IN_SEC, BASE_REG_TIMER_MFACTOR, SEC_TO_MSEC_MFACTOR, REG_RANDOM_T_FACTOR_UPPER_LIMIT, REG_TRY_BACKUP_TIMER_VAL_IN_SEC, MINUTES_TO_SEC_MFACTOR, REG_429_RETRY_UTIL, REG_FAILBACK_429_MAX_RETRIES, FAILBACK_UTIL, REGISTRATION_FILE, DEFAULT_REHOMING_INTERVAL_MIN, DEFAULT_REHOMING_INTERVAL_MAX, DEFAULT_KEEPALIVE_INTERVAL, REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC, FAILOVER_UTIL, REGISTER_UTIL, RETRY_TIMER_UPPER_LIMIT, KEEPALIVE_UTIL, REGISTRATION_UTIL, METHODS, } from '../constants';
11
12
  import { LINE_EVENTS } from '../line/types';
12
13
  export class Registration {
@@ -18,7 +19,6 @@ export class Registration {
18
19
  registrationStatus;
19
20
  failbackTimer;
20
21
  activeMobiusUrl;
21
- keepaliveTimer;
22
22
  rehomingIntervalMin;
23
23
  rehomingIntervalMax;
24
24
  mutex;
@@ -35,6 +35,7 @@ export class Registration {
35
35
  failoverImmediately = false;
36
36
  retryAfter;
37
37
  scheduled429Retry = false;
38
+ webWorker;
38
39
  constructor(webex, serviceData, mutex, lineEmitter, logLevel, jwe) {
39
40
  this.jwe = jwe;
40
41
  this.sdkConnector = SDKConnector;
@@ -73,17 +74,6 @@ export class Registration {
73
74
  this.primaryMobiusUris = primaryMobiusUris;
74
75
  this.backupMobiusUris = backupMobiusUris;
75
76
  }
76
- async postKeepAlive(url) {
77
- return this.webex.request({
78
- uri: `${url}/status`,
79
- method: HTTP_METHODS.POST,
80
- headers: {
81
- [CISCO_DEVICE_URL]: this.webex.internal.device.url,
82
- [SPARK_USER_AGENT]: CALLING_USER_AGENT,
83
- },
84
- service: ALLOWED_SERVICES.MOBIUS,
85
- });
86
- }
87
77
  async deleteRegistration(url, deviceId, deviceUrl) {
88
78
  let response;
89
79
  try {
@@ -449,57 +439,67 @@ export class Registration {
449
439
  }
450
440
  return abort;
451
441
  }
452
- startKeepaliveTimer(url, interval, serverType) {
453
- let keepAliveRetryCount = 0;
442
+ async startKeepaliveTimer(url, interval, serverType) {
454
443
  this.clearKeepaliveTimer();
455
444
  const RETRY_COUNT_THRESHOLD = this.isCCFlow ? 4 : 5;
456
- this.keepaliveTimer = setInterval(async () => {
457
- const logContext = {
458
- file: REGISTRATION_FILE,
459
- method: KEEPALIVE_UTIL,
460
- };
461
- await this.mutex.runExclusive(async () => {
462
- if (this.isDeviceRegistered() && keepAliveRetryCount < RETRY_COUNT_THRESHOLD) {
463
- try {
464
- const res = await this.postKeepAlive(url);
465
- log.log(`Sent Keepalive, status: ${res.statusCode}`, logContext);
466
- if (keepAliveRetryCount > 0) {
445
+ await this.mutex.runExclusive(async () => {
446
+ if (this.isDeviceRegistered()) {
447
+ const accessToken = await this.webex.credentials.getUserToken();
448
+ if (!this.webWorker) {
449
+ const blob = new Blob([webWorkerStr], { type: 'application/javascript' });
450
+ const blobUrl = URL.createObjectURL(blob);
451
+ this.webWorker = new Worker(blobUrl);
452
+ URL.revokeObjectURL(blobUrl);
453
+ this.webWorker.postMessage({
454
+ type: WorkerMessageType.START_KEEPALIVE,
455
+ accessToken: String(accessToken),
456
+ deviceUrl: String(this.webex.internal.device.url),
457
+ interval,
458
+ retryCountThreshold: RETRY_COUNT_THRESHOLD,
459
+ url,
460
+ });
461
+ this.webWorker.onmessage = async (event) => {
462
+ const logContext = {
463
+ file: REGISTRATION_FILE,
464
+ method: this.startKeepaliveTimer.name,
465
+ };
466
+ if (event.data.type === WorkerMessageType.KEEPALIVE_SUCCESS) {
467
+ log.info(`Sent Keepalive, status: ${event.data.statusCode}`, logContext);
467
468
  this.lineEmitter(LINE_EVENTS.RECONNECTED);
468
469
  }
469
- keepAliveRetryCount = 0;
470
- }
471
- catch (err) {
472
- keepAliveRetryCount += 1;
473
- const error = err;
474
- log.warn(`Keep-alive missed ${keepAliveRetryCount} times. Status -> ${error.statusCode} `, logContext);
475
- const abort = await handleRegistrationErrors(error, (clientError, finalError) => {
476
- if (finalError) {
477
- this.lineEmitter(LINE_EVENTS.ERROR, undefined, clientError);
470
+ if (event.data.type === WorkerMessageType.KEEPALIVE_FAILURE) {
471
+ const error = event.data.err;
472
+ log.warn(`Keep-alive missed ${event.data.keepAliveRetryCount} times. Status -> ${error.statusCode} `, logContext);
473
+ const abort = await handleRegistrationErrors(error, (clientError, finalError) => {
474
+ if (finalError) {
475
+ this.lineEmitter(LINE_EVENTS.ERROR, undefined, clientError);
476
+ }
477
+ this.metricManager.submitRegistrationMetric(METRIC_EVENT.REGISTRATION, REG_ACTION.KEEPALIVE_FAILURE, METRIC_TYPE.BEHAVIORAL, KEEPALIVE_UTIL, serverType, error.headers?.trackingid ?? '', event.data.keepAliveRetryCount, clientError);
478
+ }, { method: KEEPALIVE_UTIL, file: REGISTRATION_FILE });
479
+ if (abort || event.data.keepAliveRetryCount >= RETRY_COUNT_THRESHOLD) {
480
+ this.failoverImmediately = this.isCCFlow;
481
+ this.setStatus(RegistrationStatus.INACTIVE);
482
+ this.clearKeepaliveTimer();
483
+ this.clearFailbackTimer();
484
+ this.lineEmitter(LINE_EVENTS.UNREGISTERED);
485
+ if (!abort) {
486
+ await this.reconnectOnFailure(KEEPALIVE_UTIL);
487
+ }
478
488
  }
479
- this.metricManager.submitRegistrationMetric(METRIC_EVENT.REGISTRATION, REG_ACTION.KEEPALIVE_FAILURE, METRIC_TYPE.BEHAVIORAL, KEEPALIVE_UTIL, serverType, error.headers?.trackingid ?? '', keepAliveRetryCount, clientError);
480
- }, { method: KEEPALIVE_UTIL, file: REGISTRATION_FILE });
481
- if (abort || keepAliveRetryCount >= RETRY_COUNT_THRESHOLD) {
482
- this.failoverImmediately = this.isCCFlow;
483
- this.setStatus(RegistrationStatus.INACTIVE);
484
- this.clearKeepaliveTimer();
485
- this.clearFailbackTimer();
486
- this.lineEmitter(LINE_EVENTS.UNREGISTERED);
487
- if (!abort) {
488
- await this.reconnectOnFailure(KEEPALIVE_UTIL);
489
+ else {
490
+ this.lineEmitter(LINE_EVENTS.RECONNECTING);
489
491
  }
490
492
  }
491
- else {
492
- this.lineEmitter(LINE_EVENTS.RECONNECTING);
493
- }
494
- }
493
+ };
495
494
  }
496
- });
497
- }, interval * 1000);
495
+ }
496
+ });
498
497
  }
499
498
  clearKeepaliveTimer() {
500
- if (this.keepaliveTimer) {
501
- clearInterval(this.keepaliveTimer);
502
- this.keepaliveTimer = undefined;
499
+ if (this.webWorker) {
500
+ this.webWorker.postMessage({ type: WorkerMessageType.CLEAR_KEEPALIVE });
501
+ this.webWorker.terminate();
502
+ this.webWorker = undefined;
503
503
  }
504
504
  }
505
505
  isReconnectPending() {
@@ -0,0 +1,59 @@
1
+ import { v4 as uuid } from 'uuid';
2
+ import { HTTP_METHODS, WorkerMessageType } from '../../common/types';
3
+ let keepaliveTimer;
4
+ export const messageHandler = (event) => {
5
+ const { type } = event.data;
6
+ const postKeepAlive = async (accessToken, deviceUrl, url) => {
7
+ const response = await fetch(`${url}/status`, {
8
+ method: HTTP_METHODS.POST,
9
+ headers: {
10
+ 'cisco-device-url': deviceUrl,
11
+ 'spark-user-agent': 'webex-calling/beta',
12
+ Authorization: `${accessToken}`,
13
+ trackingId: `web_worker_${uuid()}`,
14
+ },
15
+ });
16
+ if (!response.ok) {
17
+ throw new Error(`Keepalive failed with status: ${response.status}`);
18
+ }
19
+ return response;
20
+ };
21
+ if (type === WorkerMessageType.START_KEEPALIVE) {
22
+ let keepAliveRetryCount = 0;
23
+ const { accessToken, deviceUrl, interval, retryCountThreshold, url } = event.data;
24
+ if (keepaliveTimer) {
25
+ clearInterval(keepaliveTimer);
26
+ keepaliveTimer = undefined;
27
+ }
28
+ keepaliveTimer = setInterval(async () => {
29
+ if (keepAliveRetryCount < retryCountThreshold) {
30
+ try {
31
+ const res = await postKeepAlive(accessToken, deviceUrl, url);
32
+ const statusCode = res.status;
33
+ if (keepAliveRetryCount > 0) {
34
+ postMessage({
35
+ type: WorkerMessageType.KEEPALIVE_SUCCESS,
36
+ statusCode,
37
+ });
38
+ }
39
+ keepAliveRetryCount = 0;
40
+ }
41
+ catch (err) {
42
+ keepAliveRetryCount += 1;
43
+ postMessage({
44
+ type: WorkerMessageType.KEEPALIVE_FAILURE,
45
+ err,
46
+ keepAliveRetryCount,
47
+ });
48
+ }
49
+ }
50
+ }, interval * 1000);
51
+ }
52
+ if (type === WorkerMessageType.CLEAR_KEEPALIVE) {
53
+ if (keepaliveTimer) {
54
+ clearInterval(keepaliveTimer);
55
+ keepaliveTimer = undefined;
56
+ }
57
+ }
58
+ };
59
+ self.addEventListener('message', messageHandler);
@@ -0,0 +1,93 @@
1
+ const webWorkerStr = `/* eslint-env worker */
2
+
3
+ const uuid = () => {
4
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
5
+ const r = (Math.random() * 16) | 0;
6
+ const v = c === 'x' ? r : (r & 0x3) | 0x8;
7
+ return v.toString(16);
8
+ });
9
+ };
10
+
11
+ // Enum values from the original imports
12
+ const HTTP_METHODS = {
13
+ GET: 'GET',
14
+ POST: 'POST',
15
+ PUT: 'PUT',
16
+ DELETE: 'DELETE',
17
+ PATCH: 'PATCH',
18
+ };
19
+
20
+ const WorkerMessageType = {
21
+ START_KEEPALIVE: 'START_KEEPALIVE',
22
+ CLEAR_KEEPALIVE: 'CLEAR_KEEPALIVE',
23
+ KEEPALIVE_SUCCESS: 'KEEPALIVE_SUCCESS',
24
+ KEEPALIVE_FAILURE: 'KEEPALIVE_FAILURE',
25
+ };
26
+
27
+ let keepaliveTimer;
28
+
29
+ const messageHandler = (event) => {
30
+ const {type} = event.data;
31
+
32
+ const postKeepAlive = async (accessToken, deviceUrl, url) => {
33
+ const response = await fetch(\`\${url}/status\`, {
34
+ method: HTTP_METHODS.POST,
35
+ headers: {
36
+ 'cisco-device-url': deviceUrl,
37
+ 'spark-user-agent': 'webex-calling/beta',
38
+ Authorization: \`\${accessToken}\`,
39
+ trackingId: \`web_worker_\${uuid()}\`,
40
+ },
41
+ });
42
+
43
+ if (!response.ok) {
44
+ throw new Error(\`Keepalive failed with status: \${response.status}\`);
45
+ }
46
+
47
+ return response;
48
+ };
49
+
50
+ if (type === WorkerMessageType.START_KEEPALIVE) {
51
+ let keepAliveRetryCount = 0;
52
+ const {accessToken, deviceUrl, interval, retryCountThreshold, url} = event.data;
53
+
54
+ if (keepaliveTimer) {
55
+ clearInterval(keepaliveTimer);
56
+ keepaliveTimer = undefined;
57
+ }
58
+
59
+ keepaliveTimer = setInterval(async () => {
60
+ if (keepAliveRetryCount < retryCountThreshold) {
61
+ try {
62
+ const res = await postKeepAlive(accessToken, deviceUrl, url);
63
+ const statusCode = res.status;
64
+ if (keepAliveRetryCount > 0) {
65
+ self.postMessage({
66
+ type: WorkerMessageType.KEEPALIVE_SUCCESS,
67
+ statusCode,
68
+ });
69
+ }
70
+ keepAliveRetryCount = 0;
71
+ } catch (err) {
72
+ keepAliveRetryCount += 1;
73
+ self.postMessage({
74
+ type: WorkerMessageType.KEEPALIVE_FAILURE,
75
+ err,
76
+ keepAliveRetryCount,
77
+ });
78
+ }
79
+ }
80
+ }, interval * 1000);
81
+ }
82
+
83
+ if (type === WorkerMessageType.CLEAR_KEEPALIVE) {
84
+ if (keepaliveTimer) {
85
+ clearInterval(keepaliveTimer);
86
+ keepaliveTimer = undefined;
87
+ }
88
+ }
89
+ };
90
+
91
+ self.addEventListener('message', messageHandler);
92
+ `;
93
+ export default webWorkerStr;
@@ -58,3 +58,10 @@ export var DecodeType;
58
58
  DecodeType["PEOPLE"] = "PEOPLE";
59
59
  DecodeType["ORGANIZATION"] = "ORGANIZATION";
60
60
  })(DecodeType || (DecodeType = {}));
61
+ export var WorkerMessageType;
62
+ (function (WorkerMessageType) {
63
+ WorkerMessageType["START_KEEPALIVE"] = "START_KEEPALIVE";
64
+ WorkerMessageType["CLEAR_KEEPALIVE"] = "CLEAR_KEEPALIVE";
65
+ WorkerMessageType["KEEPALIVE_SUCCESS"] = "KEEPALIVE_SUCCESS";
66
+ WorkerMessageType["KEEPALIVE_FAILURE"] = "KEEPALIVE_FAILURE";
67
+ })(WorkerMessageType || (WorkerMessageType = {}));
@@ -13,7 +13,6 @@ export declare class Registration implements IRegistration {
13
13
  private registrationStatus;
14
14
  private failbackTimer?;
15
15
  private activeMobiusUrl;
16
- private keepaliveTimer;
17
16
  private rehomingIntervalMin;
18
17
  private rehomingIntervalMax;
19
18
  private mutex;
@@ -30,11 +29,11 @@ export declare class Registration implements IRegistration {
30
29
  private failoverImmediately;
31
30
  private retryAfter;
32
31
  private scheduled429Retry;
32
+ private webWorker;
33
33
  constructor(webex: WebexSDK, serviceData: ServiceData, mutex: Mutex, lineEmitter: LineEmitterCallback, logLevel: LOGGER, jwe?: string);
34
34
  getActiveMobiusUrl(): string;
35
35
  setActiveMobiusUrl(url: string): void;
36
36
  setMobiusServers(primaryMobiusUris: string[], backupMobiusUris: string[]): void;
37
- private postKeepAlive;
38
37
  private deleteRegistration;
39
38
  private postRegistration;
40
39
  private restorePreviousRegistration;
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/registration/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAclC,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,OAAO,EAGL,WAAW,EACX,kBAAkB,EAClB,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgB,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AA4BjE,OAAO,EAAc,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAM/D,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,iBAAiB,CAAW;IACpC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,iBAAiB,CAAS;gBAKhC,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM;IA0BP,kBAAkB,IAAI,MAAM;IAI5B,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAS9B,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;YAUjE,aAAa;YAgBb,kBAAkB;YA6BlB,gBAAgB;YAuBhB,2BAA2B;YAa3B,cAAc;IAgC5B,OAAO,CAAC,mBAAmB;YAmBb,kBAAkB;IA+EhC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;YAeZ,eAAe;IA+C7B,OAAO,CAAC,iBAAiB;IAelB,aAAa,IAAI,WAAW;IAU5B,kBAAkB,IAAI,OAAO;IAI7B,SAAS,IAAI,kBAAkB;IAI/B,SAAS,CAAC,KAAK,EAAE,kBAAkB;YAS5B,mBAAmB;IAmBpB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAkD1E,OAAO,CAAC,2BAA2B;IA+BtB,mBAAmB;YAqBlB,8BAA8B;IAkH5C,OAAO,CAAC,mBAAmB;IAuEpB,mBAAmB;IAOnB,kBAAkB,IAAI,OAAO;IAIvB,UAAU;IA0BvB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,iBAAiB;IA+BZ,kBAAkB,CAAC,MAAM,EAAE,MAAM;CAmB/C;AAID,eAAO,MAAM,kBAAkB,UACtB,QAAQ,eACF,WAAW,SACjB,KAAK,eACC,mBAAmB,YACtB,MAAM,QACV,MAAM,KACX,aAAwF,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/registration/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAelC,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,OAAO,EAGL,WAAW,EACX,kBAAkB,EAClB,WAAW,EAIZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgB,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AA4BjE,OAAO,EAAc,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAM/D,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,iBAAiB,CAAW;IACpC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,SAAS,CAAqB;gBAKpC,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM;IA0BP,kBAAkB,IAAI,MAAM;IAI5B,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAS9B,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;YAUjE,kBAAkB;YA6BlB,gBAAgB;YAuBhB,2BAA2B;YAa3B,cAAc;IAgC5B,OAAO,CAAC,mBAAmB;YAmBb,kBAAkB;IA+EhC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;YAeZ,eAAe;IA+C7B,OAAO,CAAC,iBAAiB;IAelB,aAAa,IAAI,WAAW;IAU5B,kBAAkB,IAAI,OAAO;IAI7B,SAAS,IAAI,kBAAkB;IAI/B,SAAS,CAAC,KAAK,EAAE,kBAAkB;YAS5B,mBAAmB;IAmBpB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAkD1E,OAAO,CAAC,2BAA2B;IA+BtB,mBAAmB;YAqBlB,8BAA8B;YAkH9B,mBAAmB;IAqF1B,mBAAmB;IAQnB,kBAAkB,IAAI,OAAO;IAIvB,UAAU;IA0BvB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,iBAAiB;IA+BZ,kBAAkB,CAAC,MAAM,EAAE,MAAM;CAmB/C;AAID,eAAO,MAAM,kBAAkB,UACtB,QAAQ,eACF,WAAW,SACjB,KAAK,eACC,mBAAmB,YACtB,MAAM,QACV,MAAM,KACX,aAAwF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const messageHandler: (event: MessageEvent) => void;
2
+ //# sourceMappingURL=webWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webWorker.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/registration/webWorker.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,UAAW,YAAY,SA4DjD,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const webWorkerStr = "/* eslint-env worker */\n\nconst uuid = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n};\n\n// Enum values from the original imports\nconst HTTP_METHODS = {\n GET: 'GET',\n POST: 'POST',\n PUT: 'PUT',\n DELETE: 'DELETE',\n PATCH: 'PATCH',\n};\n\nconst WorkerMessageType = {\n START_KEEPALIVE: 'START_KEEPALIVE',\n CLEAR_KEEPALIVE: 'CLEAR_KEEPALIVE',\n KEEPALIVE_SUCCESS: 'KEEPALIVE_SUCCESS',\n KEEPALIVE_FAILURE: 'KEEPALIVE_FAILURE',\n};\n\nlet keepaliveTimer;\n\nconst messageHandler = (event) => {\n const {type} = event.data;\n\n const postKeepAlive = async (accessToken, deviceUrl, url) => {\n const response = await fetch(`${url}/status`, {\n method: HTTP_METHODS.POST,\n headers: {\n 'cisco-device-url': deviceUrl,\n 'spark-user-agent': 'webex-calling/beta',\n Authorization: `${accessToken}`,\n trackingId: `web_worker_${uuid()}`,\n },\n });\n\n if (!response.ok) {\n throw new Error(`Keepalive failed with status: ${response.status}`);\n }\n\n return response;\n };\n\n if (type === WorkerMessageType.START_KEEPALIVE) {\n let keepAliveRetryCount = 0;\n const {accessToken, deviceUrl, interval, retryCountThreshold, url} = event.data;\n\n if (keepaliveTimer) {\n clearInterval(keepaliveTimer);\n keepaliveTimer = undefined;\n }\n\n keepaliveTimer = setInterval(async () => {\n if (keepAliveRetryCount < retryCountThreshold) {\n try {\n const res = await postKeepAlive(accessToken, deviceUrl, url);\n const statusCode = res.status;\n if (keepAliveRetryCount > 0) {\n self.postMessage({\n type: WorkerMessageType.KEEPALIVE_SUCCESS,\n statusCode,\n });\n }\n keepAliveRetryCount = 0;\n } catch (err) {\n keepAliveRetryCount += 1;\n self.postMessage({\n type: WorkerMessageType.KEEPALIVE_FAILURE,\n err,\n keepAliveRetryCount,\n });\n }\n }\n }, interval * 1000);\n }\n\n if (type === WorkerMessageType.CLEAR_KEEPALIVE) {\n if (keepaliveTimer) {\n clearInterval(keepaliveTimer);\n keepaliveTimer = undefined;\n }\n }\n};\n\nself.addEventListener('message', messageHandler);\n";
2
+ export default webWorkerStr;
3
+ //# sourceMappingURL=webWorkerStr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webWorkerStr.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/registration/webWorkerStr.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,YAAY,o5EA2FjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -221,6 +221,18 @@ export interface SCIMListResponse {
221
221
  startIndex: number;
222
222
  Resources: Resource[];
223
223
  }
224
+ export declare enum WorkerMessageType {
225
+ START_KEEPALIVE = "START_KEEPALIVE",
226
+ CLEAR_KEEPALIVE = "CLEAR_KEEPALIVE",
227
+ KEEPALIVE_SUCCESS = "KEEPALIVE_SUCCESS",
228
+ KEEPALIVE_FAILURE = "KEEPALIVE_FAILURE"
229
+ }
230
+ export type KeepaliveStatusMessage = {
231
+ type: WorkerMessageType.KEEPALIVE_SUCCESS | WorkerMessageType.KEEPALIVE_FAILURE;
232
+ err?: unknown;
233
+ keepAliveRetryCount?: number;
234
+ statusCode?: number;
235
+ };
224
236
  export type LogsMetaData = {
225
237
  callId?: string;
226
238
  feedbackId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -38,8 +38,8 @@
38
38
  "dependencies": {
39
39
  "@types/platform": "1.3.4",
40
40
  "@webex/internal-media-core": "2.18.3",
41
- "@webex/internal-plugin-metrics": "3.8.1-next.5",
42
- "@webex/media-helpers": "3.8.1-next.7",
41
+ "@webex/internal-plugin-metrics": "3.8.1-web-workers-keepalive.1",
42
+ "@webex/media-helpers": "3.8.1-web-workers-keepalive.1",
43
43
  "async-mutex": "0.4.0",
44
44
  "buffer": "6.0.3",
45
45
  "jest-html-reporters": "3.0.11",
@@ -62,6 +62,7 @@
62
62
  "@typescript-eslint/eslint-plugin": "5.38.1",
63
63
  "@typescript-eslint/parser": "5.38.1",
64
64
  "@web/dev-server": "0.4.5",
65
+ "babel-plugin-transform-import-meta": "^2.3.2",
65
66
  "chai": "4.3.4",
66
67
  "cspell": "5.19.2",
67
68
  "esbuild": "^0.17.19",
@@ -130,5 +131,5 @@
130
131
  "staticpath": "docs",
131
132
  "noprompt": true
132
133
  },
133
- "version": "3.8.1-next.8"
134
+ "version": "3.8.1-web-workers-keepalive.2"
134
135
  }