@amityco/ts-sdk-react-native 7.19.1-916b6fb.0 → 7.20.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.d.ts","sourceRoot":"","sources":["../../../src/core/transports/mqtt.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,cAAc,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAgBtF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAWjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,KAAG,gBAwJtD,CAAC"}
1
+ {"version":3,"file":"mqtt.d.ts","sourceRoot":"","sources":["../../../src/core/transports/mqtt.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,cAAc,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAqBtF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAWjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,KAAG,gBA4LtD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mqtt.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqtt.test.d.ts","sourceRoot":"","sources":["../../../../src/core/transports/tests/mqtt.test.ts"],"names":[],"mappings":""}
package/dist/index.cjs.js CHANGED
@@ -278,8 +278,8 @@ exports.AnalyticsSourceTypeEnum = void 0;
278
278
 
279
279
  function getVersion() {
280
280
  try {
281
- // the string ''v7.19.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
282
- return 'v7.19.0-cjs';
281
+ // the string ''v7.20.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
282
+ return 'v7.20.0-cjs';
283
283
  }
284
284
  catch (error) {
285
285
  return '__dev__';
@@ -4768,6 +4768,10 @@ const getDeviceInfo = () => {
4768
4768
  const QOS_FAILURE_CODE = 128;
4769
4769
  const RETRY_BASE_TIMEOUT = 1000;
4770
4770
  const RETRY_MAX_TIMEOUT = 8000;
4771
+ // Subscription-level retry constants (separate from connection-level reconnect)
4772
+ const MAX_RETRIES = 2;
4773
+ const SUB_RETRY_BASE_DELAY = 1000;
4774
+ const SUB_RETRY_MAX_DELAY = 5000;
4771
4775
  var MqttError;
4772
4776
  (function (MqttError) {
4773
4777
  MqttError[MqttError["IDENTIFIER_REJECTED"] = 2] = "IDENTIFIER_REJECTED";
@@ -4798,6 +4802,7 @@ const createMqttTransport = (endpoint) => {
4798
4802
  listener(state);
4799
4803
  });
4800
4804
  };
4805
+ const retryState = new Map();
4801
4806
  async function connect(params) {
4802
4807
  const clientId = await getMQTTClientId(params.userId);
4803
4808
  updateConnectionState('connecting');
@@ -4832,13 +4837,46 @@ const createMqttTransport = (endpoint) => {
4832
4837
  mqttClient.options.reconnectPeriod = Math.min((mqttClient.options.reconnectPeriod || RETRY_BASE_TIMEOUT) * 2, RETRY_MAX_TIMEOUT);
4833
4838
  });
4834
4839
  mqttClient.on('close', () => {
4835
- updateConnectionState('disconnected');
4836
- });
4837
- mqttClient.on('disconnect', () => {
4838
- updateConnectionState('disconnected');
4840
+ retryState.forEach(({ timer }) => clearTimeout(timer));
4841
+ retryState.clear();
4839
4842
  });
4840
4843
  return new Promise(resolve => mqttClient.once('connect', () => resolve()));
4841
4844
  }
4845
+ function attemptSubscribe(topic, attempt, callback) {
4846
+ const callbackWrapper = (error, granted) => {
4847
+ var _a;
4848
+ const failed = error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE;
4849
+ if (failed) {
4850
+ if (attempt < MAX_RETRIES) {
4851
+ const delay = Math.min(2 ** attempt * SUB_RETRY_BASE_DELAY, SUB_RETRY_MAX_DELAY);
4852
+ console.warn(`Failed to subscribe to topic ${topic} (attempt ${attempt + 1}/${MAX_RETRIES + 1}). Retrying in ${delay}ms.`);
4853
+ const timer = setTimeout(() => {
4854
+ attemptSubscribe(topic, attempt + 1, callback);
4855
+ }, delay);
4856
+ retryState.set(topic, { timer, callback });
4857
+ }
4858
+ else {
4859
+ retryState.delete(topic);
4860
+ const ascError = error
4861
+ ? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
4862
+ : new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
4863
+ console.warn(`Failed to subscribe to topic ${topic} after ${MAX_RETRIES + 1} attempts`, ascError);
4864
+ callback === null || callback === void 0 ? void 0 : callback(ascError);
4865
+ }
4866
+ }
4867
+ else {
4868
+ retryState.delete(topic);
4869
+ console.log(`Subscribed to topic ${topic}`);
4870
+ callback === null || callback === void 0 ? void 0 : callback();
4871
+ }
4872
+ };
4873
+ if (mqttClient) {
4874
+ mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
4875
+ }
4876
+ else {
4877
+ callbackWrapper(new Error('No connection to broker'), []);
4878
+ }
4879
+ }
4842
4880
  return {
4843
4881
  connect,
4844
4882
  async disconnect() {
@@ -4881,33 +4919,18 @@ const createMqttTransport = (endpoint) => {
4881
4919
  mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.removeAllListeners();
4882
4920
  },
4883
4921
  subscribe(topic, callback) {
4884
- const callbackWrapper = (error, granted) => {
4885
- var _a;
4886
- // In MQTT.js, when you subscribe to a topic with QoS 0, the granted parameter
4887
- // in the callback will typically be empty or undefined
4888
- if (error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE) {
4889
- const ascError = error
4890
- ? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
4891
- : // TODO throw the actual error, once BE can tell us the actual error code
4892
- new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
4893
- // Use warning lv instead of error lv to prevent misunderstanding of user
4894
- console.warn(`Failed to subscribe to topic ${topic}`, ascError);
4895
- callback === null || callback === void 0 ? void 0 : callback(ascError);
4896
- }
4897
- else {
4898
- console.log(`Subscribed to topic ${topic}`);
4899
- callback === null || callback === void 0 ? void 0 : callback();
4900
- }
4901
- };
4902
- if (mqttClient) {
4903
- mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
4904
- }
4905
- else {
4906
- callbackWrapper(new Error('No connection to broker'), []);
4907
- }
4908
- return () => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
4922
+ attemptSubscribe(topic, 0, callback);
4923
+ return () => this.unsubscribe(topic);
4909
4924
  },
4910
4925
  unsubscribe(topic) {
4926
+ var _a;
4927
+ const pending = retryState.get(topic);
4928
+ if (pending !== undefined) {
4929
+ clearTimeout(pending.timer);
4930
+ retryState.delete(topic);
4931
+ const cancellationError = new ASCError('Subscription retry cancelled due to unsubscribe call', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
4932
+ (_a = pending.callback) === null || _a === void 0 ? void 0 : _a.call(pending, cancellationError);
4933
+ }
4911
4934
  mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
4912
4935
  },
4913
4936
  };
@@ -13370,7 +13393,7 @@ const getWatchSessionStorage = () => {
13370
13393
  return storageInstance;
13371
13394
  };
13372
13395
 
13373
- const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
13396
+ const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
13374
13397
  /*
13375
13398
  * The crypto algorithm used for importing key and signing string
13376
13399
  */
package/dist/index.esm.js CHANGED
@@ -244,8 +244,8 @@ var AnalyticsSourceTypeEnum;
244
244
 
245
245
  function getVersion() {
246
246
  try {
247
- // the string ''v7.19.0-esm'' should be replaced by actual value by @rollup/plugin-replace
248
- return 'v7.19.0-esm';
247
+ // the string ''v7.20.0-esm'' should be replaced by actual value by @rollup/plugin-replace
248
+ return 'v7.20.0-esm';
249
249
  }
250
250
  catch (error) {
251
251
  return '__dev__';
@@ -20825,6 +20825,10 @@ const getDeviceInfo = () => {
20825
20825
  const QOS_FAILURE_CODE = 128;
20826
20826
  const RETRY_BASE_TIMEOUT = 1000;
20827
20827
  const RETRY_MAX_TIMEOUT = 8000;
20828
+ // Subscription-level retry constants (separate from connection-level reconnect)
20829
+ const MAX_RETRIES = 2;
20830
+ const SUB_RETRY_BASE_DELAY = 1000;
20831
+ const SUB_RETRY_MAX_DELAY = 5000;
20828
20832
  var MqttError;
20829
20833
  (function (MqttError) {
20830
20834
  MqttError[MqttError["IDENTIFIER_REJECTED"] = 2] = "IDENTIFIER_REJECTED";
@@ -20855,6 +20859,7 @@ const createMqttTransport = (endpoint) => {
20855
20859
  listener(state);
20856
20860
  });
20857
20861
  };
20862
+ const retryState = new Map();
20858
20863
  async function connect(params) {
20859
20864
  const clientId = await getMQTTClientId(params.userId);
20860
20865
  updateConnectionState('connecting');
@@ -20889,13 +20894,46 @@ const createMqttTransport = (endpoint) => {
20889
20894
  mqttClient.options.reconnectPeriod = Math.min((mqttClient.options.reconnectPeriod || RETRY_BASE_TIMEOUT) * 2, RETRY_MAX_TIMEOUT);
20890
20895
  });
20891
20896
  mqttClient.on('close', () => {
20892
- updateConnectionState('disconnected');
20893
- });
20894
- mqttClient.on('disconnect', () => {
20895
- updateConnectionState('disconnected');
20897
+ retryState.forEach(({ timer }) => clearTimeout(timer));
20898
+ retryState.clear();
20896
20899
  });
20897
20900
  return new Promise(resolve => mqttClient.once('connect', () => resolve()));
20898
20901
  }
20902
+ function attemptSubscribe(topic, attempt, callback) {
20903
+ const callbackWrapper = (error, granted) => {
20904
+ var _a;
20905
+ const failed = error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE;
20906
+ if (failed) {
20907
+ if (attempt < MAX_RETRIES) {
20908
+ const delay = Math.min(2 ** attempt * SUB_RETRY_BASE_DELAY, SUB_RETRY_MAX_DELAY);
20909
+ console.warn(`Failed to subscribe to topic ${topic} (attempt ${attempt + 1}/${MAX_RETRIES + 1}). Retrying in ${delay}ms.`);
20910
+ const timer = setTimeout(() => {
20911
+ attemptSubscribe(topic, attempt + 1, callback);
20912
+ }, delay);
20913
+ retryState.set(topic, { timer, callback });
20914
+ }
20915
+ else {
20916
+ retryState.delete(topic);
20917
+ const ascError = error
20918
+ ? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
20919
+ : new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
20920
+ console.warn(`Failed to subscribe to topic ${topic} after ${MAX_RETRIES + 1} attempts`, ascError);
20921
+ callback === null || callback === void 0 ? void 0 : callback(ascError);
20922
+ }
20923
+ }
20924
+ else {
20925
+ retryState.delete(topic);
20926
+ console.log(`Subscribed to topic ${topic}`);
20927
+ callback === null || callback === void 0 ? void 0 : callback();
20928
+ }
20929
+ };
20930
+ if (mqttClient) {
20931
+ mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
20932
+ }
20933
+ else {
20934
+ callbackWrapper(new Error('No connection to broker'), []);
20935
+ }
20936
+ }
20899
20937
  return {
20900
20938
  connect,
20901
20939
  async disconnect() {
@@ -20938,33 +20976,18 @@ const createMqttTransport = (endpoint) => {
20938
20976
  mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.removeAllListeners();
20939
20977
  },
20940
20978
  subscribe(topic, callback) {
20941
- const callbackWrapper = (error, granted) => {
20942
- var _a;
20943
- // In MQTT.js, when you subscribe to a topic with QoS 0, the granted parameter
20944
- // in the callback will typically be empty or undefined
20945
- if (error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE) {
20946
- const ascError = error
20947
- ? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
20948
- : // TODO throw the actual error, once BE can tell us the actual error code
20949
- new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
20950
- // Use warning lv instead of error lv to prevent misunderstanding of user
20951
- console.warn(`Failed to subscribe to topic ${topic}`, ascError);
20952
- callback === null || callback === void 0 ? void 0 : callback(ascError);
20953
- }
20954
- else {
20955
- console.log(`Subscribed to topic ${topic}`);
20956
- callback === null || callback === void 0 ? void 0 : callback();
20957
- }
20958
- };
20959
- if (mqttClient) {
20960
- mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
20961
- }
20962
- else {
20963
- callbackWrapper(new Error('No connection to broker'), []);
20964
- }
20965
- return () => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
20979
+ attemptSubscribe(topic, 0, callback);
20980
+ return () => this.unsubscribe(topic);
20966
20981
  },
20967
20982
  unsubscribe(topic) {
20983
+ var _a;
20984
+ const pending = retryState.get(topic);
20985
+ if (pending !== undefined) {
20986
+ clearTimeout(pending.timer);
20987
+ retryState.delete(topic);
20988
+ const cancellationError = new ASCError('Subscription retry cancelled due to unsubscribe call', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
20989
+ (_a = pending.callback) === null || _a === void 0 ? void 0 : _a.call(pending, cancellationError);
20990
+ }
20968
20991
  mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
20969
20992
  },
20970
20993
  };
@@ -29443,7 +29466,7 @@ const getWatchSessionStorage = () => {
29443
29466
  return storageInstance;
29444
29467
  };
29445
29468
 
29446
- const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
29469
+ const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
29447
29470
  /*
29448
29471
  * The crypto algorithm used for importing key and signing string
29449
29472
  */