@amityco/ts-sdk 7.19.1-de013de3.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.
- package/dist/@types/domains/client.d.ts +0 -1
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/client/api/index.d.ts +0 -1
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/core/transports/mqtt.d.ts.map +1 -1
- package/dist/core/transports/tests/mqtt.test.d.ts +2 -0
- package/dist/core/transports/tests/mqtt.test.d.ts.map +1 -0
- package/dist/index.cjs.js +57 -29
- package/dist/index.esm.js +57 -29
- package/dist/index.umd.js +3 -3
- package/package.json +1 -1
|
@@ -43,7 +43,6 @@ declare global {
|
|
|
43
43
|
accessTokenExpiryWatcher: () => Amity.Unsubscriber;
|
|
44
44
|
getFeedSettings: () => Promise<Amity.FeedSettings>;
|
|
45
45
|
getSocialSettings: () => Promise<Amity.SocialSettings>;
|
|
46
|
-
getChatSettings: () => Promise<Amity.ChatSettings>;
|
|
47
46
|
getMessagePreviewSetting: (refresh?: boolean) => Promise<Amity.MessagePreviewSetting>;
|
|
48
47
|
getMarkerSyncConsistentMode: () => boolean;
|
|
49
48
|
prefixDeviceIdKey?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,0BAAkB,4BAA4B;IAC5C,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QAEtD,KAAK,wBAAwB,GAAG,4BAA4B,CAAC;QAE7D,WAAW,sBAAsB;YAC/B,UAAU,cAAc;YACxB,YAAY,gBAAgB;YAC5B,YAAY,iBAAiB;SAC9B;QAED,WAAW,aAAa;YACtB,aAAa,gBAAgB;YAE7B,YAAY,iBAAiB;YAC7B,WAAW,gBAAgB;YAE3B,aAAa,iBAAiB;YAW9B,UAAU,eAAe;SAC1B;QAED,KAAK,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC;YAEhB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC;YACpB,MAAM,EAAE,aAAa,CAAC;YACtB,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,KAAK,CAAC,iBAAiB,CAAC;YAC/D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAErD,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;YAClC,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;YACtC,kBAAkB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC;YAE9C,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAEhB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;YAErB,oBAAoB,EAAE,OAAO,CAAC;YAE9B,oBAAoB,EAAE,OAAO,CAAC;YAE9B,GAAG,EAAE,MAAM,IAAI,CAAC;YAEhB,wBAAwB,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;YAEnD,eAAe,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AAErC,cAAc,yBAAyB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AAErC,cAAc,yBAAyB,CAAC"}
|
|
@@ -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;
|
|
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,gBA6JtD,CAAC"}
|
|
@@ -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
|
@@ -257,8 +257,8 @@ exports.AnalyticsSourceTypeEnum = void 0;
|
|
|
257
257
|
|
|
258
258
|
function getVersion() {
|
|
259
259
|
try {
|
|
260
|
-
// the string ''v7.
|
|
261
|
-
return 'v7.
|
|
260
|
+
// the string ''v7.20.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
|
|
261
|
+
return 'v7.20.0-cjs';
|
|
262
262
|
}
|
|
263
263
|
catch (error) {
|
|
264
264
|
return '__dev__';
|
|
@@ -4727,6 +4727,10 @@ const getDeviceInfo = () => {
|
|
|
4727
4727
|
const QOS_FAILURE_CODE = 128;
|
|
4728
4728
|
const RETRY_BASE_TIMEOUT = 1000;
|
|
4729
4729
|
const RETRY_MAX_TIMEOUT = 8000;
|
|
4730
|
+
// Subscription-level retry constants (separate from connection-level reconnect)
|
|
4731
|
+
const MAX_RETRIES = 2;
|
|
4732
|
+
const SUB_RETRY_BASE_DELAY = 1000;
|
|
4733
|
+
const SUB_RETRY_MAX_DELAY = 5000;
|
|
4730
4734
|
var MqttError;
|
|
4731
4735
|
(function (MqttError) {
|
|
4732
4736
|
MqttError[MqttError["IDENTIFIER_REJECTED"] = 2] = "IDENTIFIER_REJECTED";
|
|
@@ -4747,6 +4751,7 @@ function getMqttOptions(params) {
|
|
|
4747
4751
|
*/
|
|
4748
4752
|
const createMqttTransport = (endpoint) => {
|
|
4749
4753
|
let mqttClient;
|
|
4754
|
+
const retryState = new Map();
|
|
4750
4755
|
async function connect(params) {
|
|
4751
4756
|
const clientId = await getMQTTClientId(params.userId);
|
|
4752
4757
|
if (mqttClient) {
|
|
@@ -4775,8 +4780,47 @@ const createMqttTransport = (endpoint) => {
|
|
|
4775
4780
|
// Double the reconnect period for each attempt
|
|
4776
4781
|
mqttClient.options.reconnectPeriod = Math.min((mqttClient.options.reconnectPeriod || RETRY_BASE_TIMEOUT) * 2, RETRY_MAX_TIMEOUT);
|
|
4777
4782
|
});
|
|
4783
|
+
mqttClient.on('close', () => {
|
|
4784
|
+
retryState.forEach(({ timer }) => clearTimeout(timer));
|
|
4785
|
+
retryState.clear();
|
|
4786
|
+
});
|
|
4778
4787
|
return new Promise(resolve => mqttClient.once('connect', () => resolve()));
|
|
4779
4788
|
}
|
|
4789
|
+
function attemptSubscribe(topic, attempt, callback) {
|
|
4790
|
+
const callbackWrapper = (error, granted) => {
|
|
4791
|
+
var _a;
|
|
4792
|
+
const failed = error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE;
|
|
4793
|
+
if (failed) {
|
|
4794
|
+
if (attempt < MAX_RETRIES) {
|
|
4795
|
+
const delay = Math.min(2 ** attempt * SUB_RETRY_BASE_DELAY, SUB_RETRY_MAX_DELAY);
|
|
4796
|
+
console.warn(`Failed to subscribe to topic ${topic} (attempt ${attempt + 1}/${MAX_RETRIES + 1}). Retrying in ${delay}ms.`);
|
|
4797
|
+
const timer = setTimeout(() => {
|
|
4798
|
+
attemptSubscribe(topic, attempt + 1, callback);
|
|
4799
|
+
}, delay);
|
|
4800
|
+
retryState.set(topic, { timer, callback });
|
|
4801
|
+
}
|
|
4802
|
+
else {
|
|
4803
|
+
retryState.delete(topic);
|
|
4804
|
+
const ascError = error
|
|
4805
|
+
? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
|
|
4806
|
+
: new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
4807
|
+
console.warn(`Failed to subscribe to topic ${topic} after ${MAX_RETRIES + 1} attempts`, ascError);
|
|
4808
|
+
callback === null || callback === void 0 ? void 0 : callback(ascError);
|
|
4809
|
+
}
|
|
4810
|
+
}
|
|
4811
|
+
else {
|
|
4812
|
+
retryState.delete(topic);
|
|
4813
|
+
console.log(`Subscribed to topic ${topic}`);
|
|
4814
|
+
callback === null || callback === void 0 ? void 0 : callback();
|
|
4815
|
+
}
|
|
4816
|
+
};
|
|
4817
|
+
if (mqttClient) {
|
|
4818
|
+
mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
|
|
4819
|
+
}
|
|
4820
|
+
else {
|
|
4821
|
+
callbackWrapper(new Error('No connection to broker'), []);
|
|
4822
|
+
}
|
|
4823
|
+
}
|
|
4780
4824
|
return {
|
|
4781
4825
|
connect,
|
|
4782
4826
|
async disconnect() {
|
|
@@ -4805,33 +4849,18 @@ const createMqttTransport = (endpoint) => {
|
|
|
4805
4849
|
mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.removeAllListeners();
|
|
4806
4850
|
},
|
|
4807
4851
|
subscribe(topic, callback) {
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
// In MQTT.js, when you subscribe to a topic with QoS 0, the granted parameter
|
|
4811
|
-
// in the callback will typically be empty or undefined
|
|
4812
|
-
if (error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE) {
|
|
4813
|
-
const ascError = error
|
|
4814
|
-
? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
|
|
4815
|
-
: // TODO throw the actual error, once BE can tell us the actual error code
|
|
4816
|
-
new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
4817
|
-
// Use warning lv instead of error lv to prevent misunderstanding of user
|
|
4818
|
-
console.warn(`Failed to subscribe to topic ${topic}`, ascError);
|
|
4819
|
-
callback === null || callback === void 0 ? void 0 : callback(ascError);
|
|
4820
|
-
}
|
|
4821
|
-
else {
|
|
4822
|
-
console.log(`Subscribed to topic ${topic}`);
|
|
4823
|
-
callback === null || callback === void 0 ? void 0 : callback();
|
|
4824
|
-
}
|
|
4825
|
-
};
|
|
4826
|
-
if (mqttClient) {
|
|
4827
|
-
mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
|
|
4828
|
-
}
|
|
4829
|
-
else {
|
|
4830
|
-
callbackWrapper(new Error('No connection to broker'), []);
|
|
4831
|
-
}
|
|
4832
|
-
return () => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
|
|
4852
|
+
attemptSubscribe(topic, 0, callback);
|
|
4853
|
+
return () => this.unsubscribe(topic);
|
|
4833
4854
|
},
|
|
4834
4855
|
unsubscribe(topic) {
|
|
4856
|
+
var _a;
|
|
4857
|
+
const pending = retryState.get(topic);
|
|
4858
|
+
if (pending !== undefined) {
|
|
4859
|
+
clearTimeout(pending.timer);
|
|
4860
|
+
retryState.delete(topic);
|
|
4861
|
+
const cancellationError = new ASCError('Subscription retry cancelled due to unsubscribe call', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
4862
|
+
(_a = pending.callback) === null || _a === void 0 ? void 0 : _a.call(pending, cancellationError);
|
|
4863
|
+
}
|
|
4835
4864
|
mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
|
|
4836
4865
|
},
|
|
4837
4866
|
};
|
|
@@ -11168,7 +11197,6 @@ var index$s = /*#__PURE__*/Object.freeze({
|
|
|
11168
11197
|
getCurrentUserType: getCurrentUserType,
|
|
11169
11198
|
setCurrentUserType: setCurrentUserType,
|
|
11170
11199
|
setAccessTokenHandler: setAccessTokenHandler,
|
|
11171
|
-
getChatSettings: getChatSettings,
|
|
11172
11200
|
onConnectionError: onConnectionError,
|
|
11173
11201
|
onClientDisconnected: onClientDisconnected,
|
|
11174
11202
|
onClientBanned: onClientBanned,
|
|
@@ -13204,7 +13232,7 @@ const getWatchSessionStorage = () => {
|
|
|
13204
13232
|
return storageInstance;
|
|
13205
13233
|
};
|
|
13206
13234
|
|
|
13207
|
-
const privateKey = "
|
|
13235
|
+
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-----";
|
|
13208
13236
|
/*
|
|
13209
13237
|
* The crypto algorithm used for importing key and signing string
|
|
13210
13238
|
*/
|
package/dist/index.esm.js
CHANGED
|
@@ -242,8 +242,8 @@ var AnalyticsSourceTypeEnum;
|
|
|
242
242
|
|
|
243
243
|
function getVersion() {
|
|
244
244
|
try {
|
|
245
|
-
// the string ''v7.
|
|
246
|
-
return 'v7.
|
|
245
|
+
// the string ''v7.20.0-esm'' should be replaced by actual value by @rollup/plugin-replace
|
|
246
|
+
return 'v7.20.0-esm';
|
|
247
247
|
}
|
|
248
248
|
catch (error) {
|
|
249
249
|
return '__dev__';
|
|
@@ -20803,6 +20803,10 @@ const getDeviceInfo = () => {
|
|
|
20803
20803
|
const QOS_FAILURE_CODE = 128;
|
|
20804
20804
|
const RETRY_BASE_TIMEOUT = 1000;
|
|
20805
20805
|
const RETRY_MAX_TIMEOUT = 8000;
|
|
20806
|
+
// Subscription-level retry constants (separate from connection-level reconnect)
|
|
20807
|
+
const MAX_RETRIES = 2;
|
|
20808
|
+
const SUB_RETRY_BASE_DELAY = 1000;
|
|
20809
|
+
const SUB_RETRY_MAX_DELAY = 5000;
|
|
20806
20810
|
var MqttError;
|
|
20807
20811
|
(function (MqttError) {
|
|
20808
20812
|
MqttError[MqttError["IDENTIFIER_REJECTED"] = 2] = "IDENTIFIER_REJECTED";
|
|
@@ -20823,6 +20827,7 @@ function getMqttOptions(params) {
|
|
|
20823
20827
|
*/
|
|
20824
20828
|
const createMqttTransport = (endpoint) => {
|
|
20825
20829
|
let mqttClient;
|
|
20830
|
+
const retryState = new Map();
|
|
20826
20831
|
async function connect(params) {
|
|
20827
20832
|
const clientId = await getMQTTClientId(params.userId);
|
|
20828
20833
|
if (mqttClient) {
|
|
@@ -20851,8 +20856,47 @@ const createMqttTransport = (endpoint) => {
|
|
|
20851
20856
|
// Double the reconnect period for each attempt
|
|
20852
20857
|
mqttClient.options.reconnectPeriod = Math.min((mqttClient.options.reconnectPeriod || RETRY_BASE_TIMEOUT) * 2, RETRY_MAX_TIMEOUT);
|
|
20853
20858
|
});
|
|
20859
|
+
mqttClient.on('close', () => {
|
|
20860
|
+
retryState.forEach(({ timer }) => clearTimeout(timer));
|
|
20861
|
+
retryState.clear();
|
|
20862
|
+
});
|
|
20854
20863
|
return new Promise(resolve => mqttClient.once('connect', () => resolve()));
|
|
20855
20864
|
}
|
|
20865
|
+
function attemptSubscribe(topic, attempt, callback) {
|
|
20866
|
+
const callbackWrapper = (error, granted) => {
|
|
20867
|
+
var _a;
|
|
20868
|
+
const failed = error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE;
|
|
20869
|
+
if (failed) {
|
|
20870
|
+
if (attempt < MAX_RETRIES) {
|
|
20871
|
+
const delay = Math.min(2 ** attempt * SUB_RETRY_BASE_DELAY, SUB_RETRY_MAX_DELAY);
|
|
20872
|
+
console.warn(`Failed to subscribe to topic ${topic} (attempt ${attempt + 1}/${MAX_RETRIES + 1}). Retrying in ${delay}ms.`);
|
|
20873
|
+
const timer = setTimeout(() => {
|
|
20874
|
+
attemptSubscribe(topic, attempt + 1, callback);
|
|
20875
|
+
}, delay);
|
|
20876
|
+
retryState.set(topic, { timer, callback });
|
|
20877
|
+
}
|
|
20878
|
+
else {
|
|
20879
|
+
retryState.delete(topic);
|
|
20880
|
+
const ascError = error
|
|
20881
|
+
? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
|
|
20882
|
+
: new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
20883
|
+
console.warn(`Failed to subscribe to topic ${topic} after ${MAX_RETRIES + 1} attempts`, ascError);
|
|
20884
|
+
callback === null || callback === void 0 ? void 0 : callback(ascError);
|
|
20885
|
+
}
|
|
20886
|
+
}
|
|
20887
|
+
else {
|
|
20888
|
+
retryState.delete(topic);
|
|
20889
|
+
console.log(`Subscribed to topic ${topic}`);
|
|
20890
|
+
callback === null || callback === void 0 ? void 0 : callback();
|
|
20891
|
+
}
|
|
20892
|
+
};
|
|
20893
|
+
if (mqttClient) {
|
|
20894
|
+
mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
|
|
20895
|
+
}
|
|
20896
|
+
else {
|
|
20897
|
+
callbackWrapper(new Error('No connection to broker'), []);
|
|
20898
|
+
}
|
|
20899
|
+
}
|
|
20856
20900
|
return {
|
|
20857
20901
|
connect,
|
|
20858
20902
|
async disconnect() {
|
|
@@ -20881,33 +20925,18 @@ const createMqttTransport = (endpoint) => {
|
|
|
20881
20925
|
mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.removeAllListeners();
|
|
20882
20926
|
},
|
|
20883
20927
|
subscribe(topic, callback) {
|
|
20884
|
-
|
|
20885
|
-
|
|
20886
|
-
// In MQTT.js, when you subscribe to a topic with QoS 0, the granted parameter
|
|
20887
|
-
// in the callback will typically be empty or undefined
|
|
20888
|
-
if (error || ((_a = granted[0]) === null || _a === void 0 ? void 0 : _a.qos) === QOS_FAILURE_CODE) {
|
|
20889
|
-
const ascError = error
|
|
20890
|
-
? new ASCError(error.message, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */)
|
|
20891
|
-
: // TODO throw the actual error, once BE can tell us the actual error code
|
|
20892
|
-
new ASCUnknownError(800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
20893
|
-
// Use warning lv instead of error lv to prevent misunderstanding of user
|
|
20894
|
-
console.warn(`Failed to subscribe to topic ${topic}`, ascError);
|
|
20895
|
-
callback === null || callback === void 0 ? void 0 : callback(ascError);
|
|
20896
|
-
}
|
|
20897
|
-
else {
|
|
20898
|
-
console.log(`Subscribed to topic ${topic}`);
|
|
20899
|
-
callback === null || callback === void 0 ? void 0 : callback();
|
|
20900
|
-
}
|
|
20901
|
-
};
|
|
20902
|
-
if (mqttClient) {
|
|
20903
|
-
mqttClient.subscribe(topic, { qos: 0 }, callbackWrapper);
|
|
20904
|
-
}
|
|
20905
|
-
else {
|
|
20906
|
-
callbackWrapper(new Error('No connection to broker'), []);
|
|
20907
|
-
}
|
|
20908
|
-
return () => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
|
|
20928
|
+
attemptSubscribe(topic, 0, callback);
|
|
20929
|
+
return () => this.unsubscribe(topic);
|
|
20909
20930
|
},
|
|
20910
20931
|
unsubscribe(topic) {
|
|
20932
|
+
var _a;
|
|
20933
|
+
const pending = retryState.get(topic);
|
|
20934
|
+
if (pending !== undefined) {
|
|
20935
|
+
clearTimeout(pending.timer);
|
|
20936
|
+
retryState.delete(topic);
|
|
20937
|
+
const cancellationError = new ASCError('Subscription retry cancelled due to unsubscribe call', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
20938
|
+
(_a = pending.callback) === null || _a === void 0 ? void 0 : _a.call(pending, cancellationError);
|
|
20939
|
+
}
|
|
20911
20940
|
mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
|
|
20912
20941
|
},
|
|
20913
20942
|
};
|
|
@@ -27260,7 +27289,6 @@ var index$s = /*#__PURE__*/Object.freeze({
|
|
|
27260
27289
|
getCurrentUserType: getCurrentUserType,
|
|
27261
27290
|
setCurrentUserType: setCurrentUserType,
|
|
27262
27291
|
setAccessTokenHandler: setAccessTokenHandler,
|
|
27263
|
-
getChatSettings: getChatSettings,
|
|
27264
27292
|
onConnectionError: onConnectionError,
|
|
27265
27293
|
onClientDisconnected: onClientDisconnected,
|
|
27266
27294
|
onClientBanned: onClientBanned,
|
|
@@ -29296,7 +29324,7 @@ const getWatchSessionStorage = () => {
|
|
|
29296
29324
|
return storageInstance;
|
|
29297
29325
|
};
|
|
29298
29326
|
|
|
29299
|
-
const privateKey = "
|
|
29327
|
+
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-----";
|
|
29300
29328
|
/*
|
|
29301
29329
|
* The crypto algorithm used for importing key and signing string
|
|
29302
29330
|
*/
|