@aslaluroba/help-center-react 3.2.0 → 3.2.3

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/services.js CHANGED
@@ -4355,7 +4355,7 @@ var ably = {exports: {}};
4355
4355
  });
4356
4356
  return _withTimeoutAsync2.apply(this, arguments);
4357
4357
  }
4358
- var version = "2.13.0";
4358
+ var version = "2.15.0";
4359
4359
 
4360
4360
  // src/common/lib/util/defaults.ts
4361
4361
  var agent = "ably-js/" + version;
@@ -4603,10 +4603,10 @@ var ably = {exports: {}};
4603
4603
  };
4604
4604
  function defaultGetHeaders(options) {
4605
4605
  var {
4606
- format = defaultHeadersOptions.format,
4606
+ format,
4607
4607
  protocolVersion = defaultHeadersOptions.protocolVersion
4608
4608
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4609
- var accept = contentTypes[format];
4609
+ var accept = contentTypes[format != null ? format : options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */];
4610
4610
  return {
4611
4611
  accept,
4612
4612
  "X-Ably-Version": protocolVersion.toString(),
@@ -4615,11 +4615,11 @@ var ably = {exports: {}};
4615
4615
  }
4616
4616
  function defaultPostHeaders(options) {
4617
4617
  var {
4618
- format = defaultHeadersOptions.format,
4618
+ format,
4619
4619
  protocolVersion = defaultHeadersOptions.protocolVersion
4620
4620
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4621
- var contentType;
4622
- var accept = contentType = contentTypes[format];
4621
+ var accept = contentTypes[format != null ? format : options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */];
4622
+ var contentType = accept;
4623
4623
  return {
4624
4624
  accept,
4625
4625
  "content-type": contentType,
@@ -4943,7 +4943,9 @@ var ably = {exports: {}};
4943
4943
  tokenUri = function tokenUri(host) {
4944
4944
  return client.baseUri(host) + path;
4945
4945
  };
4946
- var requestHeaders = defaults_default.defaultPostHeaders(_this3.client.options);
4946
+ var requestHeaders = defaults_default.defaultPostHeaders(_this3.client.options, {
4947
+ format: "json" /* json */
4948
+ });
4947
4949
  if (resolvedAuthOptions.requestHeaders) _mixin(requestHeaders, resolvedAuthOptions.requestHeaders);
4948
4950
  logger_default.logAction(_this3.logger, logger_default.LOG_MICRO, "Auth.requestToken().requestToken", "Sending POST to " + path + "; Token params: " + JSON.stringify(signedTokenParams));
4949
4951
  _whenPromiseSettles(_this3.client.http.do(HttpMethods_default.Post, tokenUri, requestHeaders, JSON.stringify(signedTokenParams), null), (err, result) => err ? tokenCb(err) : tokenCb(result.error, result.body, result.unpacked));
@@ -6635,9 +6637,7 @@ var ably = {exports: {}};
6635
6637
  return _asyncToGenerator(function* () {
6636
6638
  var client = _this26.client;
6637
6639
  var format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6638
- headers = defaults_default.defaultPostHeaders(client.options, {
6639
- format
6640
- }),
6640
+ headers = defaults_default.defaultPostHeaders(client.options),
6641
6641
  params = {};
6642
6642
  var body = _mixin({
6643
6643
  recipient
@@ -6661,9 +6661,7 @@ var ably = {exports: {}};
6661
6661
  var client = _this27.client;
6662
6662
  var body = devicedetails_default.fromValues(device);
6663
6663
  var format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6664
- headers = defaults_default.defaultPostHeaders(client.options, {
6665
- format
6666
- }),
6664
+ headers = defaults_default.defaultPostHeaders(client.options),
6667
6665
  params = {};
6668
6666
  _mixin(headers, client.options.headers);
6669
6667
  if (client.options.pushFullWait) _mixin(params, {
@@ -6679,9 +6677,7 @@ var ably = {exports: {}};
6679
6677
  return _asyncToGenerator(function* () {
6680
6678
  var client = _this28.client,
6681
6679
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6682
- headers = defaults_default.defaultGetHeaders(client.options, {
6683
- format
6684
- }),
6680
+ headers = defaults_default.defaultGetHeaders(client.options),
6685
6681
  deviceId = deviceIdOrDetails.id || deviceIdOrDetails;
6686
6682
  if (typeof deviceId !== "string" || !deviceId.length) {
6687
6683
  throw new _ErrorInfo2("First argument to DeviceRegistrations#get must be a deviceId string or DeviceDetails", 4e4, 400);
@@ -6697,9 +6693,7 @@ var ably = {exports: {}};
6697
6693
  var client = _this29.client,
6698
6694
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6699
6695
  envelope = _this29.client.http.supportsLinkHeaders ? void 0 : format,
6700
- headers = defaults_default.defaultGetHeaders(client.options, {
6701
- format
6702
- });
6696
+ headers = defaults_default.defaultGetHeaders(client.options);
6703
6697
  _mixin(headers, client.options.headers);
6704
6698
  return new paginatedresource_default(client, "/push/deviceRegistrations", headers, envelope, /*#__PURE__*/function () {
6705
6699
  var _ref3 = _asyncToGenerator(function* (body, headers2, unpacked) {
@@ -6715,10 +6709,7 @@ var ably = {exports: {}};
6715
6709
  var _this30 = this;
6716
6710
  return _asyncToGenerator(function* () {
6717
6711
  var client = _this30.client,
6718
- format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6719
- headers = defaults_default.defaultGetHeaders(client.options, {
6720
- format
6721
- }),
6712
+ headers = defaults_default.defaultGetHeaders(client.options),
6722
6713
  params = {},
6723
6714
  deviceId = deviceIdOrDetails.id || deviceIdOrDetails;
6724
6715
  if (typeof deviceId !== "string" || !deviceId.length) {
@@ -6759,9 +6750,7 @@ var ably = {exports: {}};
6759
6750
  var client = _this32.client;
6760
6751
  var body = pushchannelsubscription_default.fromValues(subscription);
6761
6752
  var format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6762
- headers = defaults_default.defaultPostHeaders(client.options, {
6763
- format
6764
- }),
6753
+ headers = defaults_default.defaultPostHeaders(client.options),
6765
6754
  params = {};
6766
6755
  _mixin(headers, client.options.headers);
6767
6756
  if (client.options.pushFullWait) _mixin(params, {
@@ -6778,9 +6767,7 @@ var ably = {exports: {}};
6778
6767
  var client = _this33.client,
6779
6768
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6780
6769
  envelope = _this33.client.http.supportsLinkHeaders ? void 0 : format,
6781
- headers = defaults_default.defaultGetHeaders(client.options, {
6782
- format
6783
- });
6770
+ headers = defaults_default.defaultGetHeaders(client.options);
6784
6771
  _mixin(headers, client.options.headers);
6785
6772
  return new paginatedresource_default(client, "/push/channelSubscriptions", headers, envelope, /*#__PURE__*/function () {
6786
6773
  var _ref4 = _asyncToGenerator(function* (body, headers2, unpacked) {
@@ -6813,9 +6800,7 @@ var ably = {exports: {}};
6813
6800
  var client = _this35.client,
6814
6801
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6815
6802
  envelope = _this35.client.http.supportsLinkHeaders ? void 0 : format,
6816
- headers = defaults_default.defaultGetHeaders(client.options, {
6817
- format
6818
- });
6803
+ headers = defaults_default.defaultGetHeaders(client.options);
6819
6804
  _mixin(headers, client.options.headers);
6820
6805
  if (client.options.pushFullWait) _mixin(params, {
6821
6806
  fullWait: "true"
@@ -6978,9 +6963,7 @@ var ably = {exports: {}};
6978
6963
  var client = _this38.channel.client,
6979
6964
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
6980
6965
  envelope = _this38.channel.client.http.supportsLinkHeaders ? void 0 : format,
6981
- headers = defaults_default.defaultGetHeaders(client.options, {
6982
- format
6983
- });
6966
+ headers = defaults_default.defaultGetHeaders(client.options);
6984
6967
  _mixin(headers, client.options.headers);
6985
6968
  return new paginatedresource_default(client, _this38.channel.client.rest.presenceMixin.basePath(_this38), headers, envelope, /*#__PURE__*/function () {
6986
6969
  var _ref6 = _asyncToGenerator(function* (body, headers2, unpacked) {
@@ -7104,6 +7087,21 @@ var ably = {exports: {}};
7104
7087
  } else if (!this.annotations.summary) {
7105
7088
  this.annotations.summary = {};
7106
7089
  }
7090
+ if (this.annotations && this.annotations.summary) {
7091
+ for (var [type, summaryEntry] of Object.entries(this.annotations.summary)) {
7092
+ if (type.endsWith(":distinct.v1") || type.endsWith(":unique.v1") || type.endsWith(":multiple.v1")) {
7093
+ for (var [, entry] of Object.entries(summaryEntry)) {
7094
+ if (!entry.clipped) {
7095
+ entry.clipped = false;
7096
+ }
7097
+ }
7098
+ } else if (type.endsWith(":flag.v1")) {
7099
+ if (!summaryEntry.clipped) {
7100
+ summaryEntry.clipped = false;
7101
+ }
7102
+ }
7103
+ }
7104
+ }
7107
7105
  }
7108
7106
  encode(options) {
7109
7107
  var _this40 = this;
@@ -7253,9 +7251,7 @@ var ably = {exports: {}};
7253
7251
  options = client.options,
7254
7252
  format = options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7255
7253
  idempotentRestPublishing = client.options.idempotentRestPublishing,
7256
- headers = defaults_default.defaultPostHeaders(client.options, {
7257
- format
7258
- });
7254
+ headers = defaults_default.defaultPostHeaders(client.options);
7259
7255
  _mixin(headers, options.headers);
7260
7256
  if (idempotentRestPublishing && allEmptyIds(messages)) {
7261
7257
  var msgIdBase = yield _randomString(MSG_ID_ENTROPY_BYTES);
@@ -7284,6 +7280,38 @@ var ably = {exports: {}};
7284
7280
  return _this46.client.rest.channelMixin.status(_this46);
7285
7281
  })();
7286
7282
  }
7283
+ getMessage(serialOrMessage) {
7284
+ var _this47 = this;
7285
+ return _asyncToGenerator(function* () {
7286
+ logger_default.logAction(_this47.logger, logger_default.LOG_MICRO, "RestChannel.getMessage()", "channel = " + _this47.name);
7287
+ return _this47.client.rest.channelMixin.getMessage(_this47, serialOrMessage);
7288
+ })();
7289
+ }
7290
+ updateMessage(message, operation, params) {
7291
+ var _this48 = this;
7292
+ return _asyncToGenerator(function* () {
7293
+ logger_default.logAction(_this48.logger, logger_default.LOG_MICRO, "RestChannel.updateMessage()", "channel = " + _this48.name);
7294
+ return _this48.client.rest.channelMixin.updateDeleteMessage(_this48, {
7295
+ isDelete: false
7296
+ }, message, operation, params);
7297
+ })();
7298
+ }
7299
+ deleteMessage(message, operation, params) {
7300
+ var _this49 = this;
7301
+ return _asyncToGenerator(function* () {
7302
+ logger_default.logAction(_this49.logger, logger_default.LOG_MICRO, "RestChannel.deleteMessage()", "channel = " + _this49.name);
7303
+ return _this49.client.rest.channelMixin.updateDeleteMessage(_this49, {
7304
+ isDelete: true
7305
+ }, message, operation, params);
7306
+ })();
7307
+ }
7308
+ getMessageVersions(serialOrMessage, params) {
7309
+ var _this50 = this;
7310
+ return _asyncToGenerator(function* () {
7311
+ logger_default.logAction(_this50.logger, logger_default.LOG_MICRO, "RestChannel.getMessageVersions()", "channel = " + _this50.name);
7312
+ return _this50.client.rest.channelMixin.getMessageVersions(_this50, serialOrMessage, params);
7313
+ })();
7314
+ }
7287
7315
  };
7288
7316
  var restchannel_default = RestChannel;
7289
7317
 
@@ -7312,9 +7340,7 @@ var ably = {exports: {}};
7312
7340
  var client = channel.client,
7313
7341
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7314
7342
  envelope = channel.client.http.supportsLinkHeaders ? void 0 : format,
7315
- headers = defaults_default.defaultGetHeaders(client.options, {
7316
- format
7317
- });
7343
+ headers = defaults_default.defaultGetHeaders(client.options);
7318
7344
  _mixin(headers, client.options.headers);
7319
7345
  return new paginatedresource_default(client, this.basePath(channel) + "/messages", headers, envelope, /*#__PURE__*/function () {
7320
7346
  var _ref7 = _asyncToGenerator(function* (body, headers2, unpacked) {
@@ -7327,16 +7353,81 @@ var ably = {exports: {}};
7327
7353
  }()).get(params);
7328
7354
  }
7329
7355
  static status(channel) {
7330
- var _this47 = this;
7356
+ var _this51 = this;
7331
7357
  return _asyncToGenerator(function* () {
7332
7358
  var format = channel.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */;
7333
- var headers = defaults_default.defaultPostHeaders(channel.client.options, {
7334
- format
7335
- });
7336
- var response = yield resource_default.get(channel.client, _this47.basePath(channel), headers, {}, format, true);
7359
+ var headers = defaults_default.defaultPostHeaders(channel.client.options);
7360
+ var response = yield resource_default.get(channel.client, _this51.basePath(channel), headers, {}, format, true);
7337
7361
  return response.body;
7338
7362
  })();
7339
7363
  }
7364
+ static getMessage(channel, serialOrMessage) {
7365
+ var _this52 = this;
7366
+ return _asyncToGenerator(function* () {
7367
+ var serial = typeof serialOrMessage === "string" ? serialOrMessage : serialOrMessage.serial;
7368
+ if (!serial) {
7369
+ throw new _ErrorInfo2('This message lacks a serial. Make sure you have enabled "Message annotations, updates, and deletes" in channel settings on your dashboard.', 40003, 400);
7370
+ }
7371
+ var client = channel.client;
7372
+ var format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */;
7373
+ var headers = defaults_default.defaultGetHeaders(client.options);
7374
+ _mixin(headers, client.options.headers);
7375
+ var {
7376
+ body,
7377
+ unpacked
7378
+ } = yield resource_default.get(client, _this52.basePath(channel) + "/messages/" + encodeURIComponent(serial), headers, {}, null, true);
7379
+ var decoded = unpacked ? body : _decodeBody(body, client._MsgPack, format);
7380
+ return _fromEncoded2(decoded, channel);
7381
+ })();
7382
+ }
7383
+ static updateDeleteMessage(channel, opts, message, operation, params) {
7384
+ var _this53 = this;
7385
+ return _asyncToGenerator(function* () {
7386
+ if (!message.serial) {
7387
+ throw new _ErrorInfo2('This message lacks a serial and cannot be updated. Make sure you have enabled "Message annotations, updates, and deletes" in channel settings on your dashboard.', 40003, 400);
7388
+ }
7389
+ var client = channel.client;
7390
+ var format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */;
7391
+ var headers = defaults_default.defaultPostHeaders(client.options);
7392
+ _mixin(headers, client.options.headers);
7393
+ var encoded = null;
7394
+ if (message.data !== void 0) {
7395
+ encoded = yield message_default.fromValues(message).encode(channel.channelOptions);
7396
+ }
7397
+ var req = {
7398
+ serial: message.serial,
7399
+ operation,
7400
+ name: message.name,
7401
+ data: encoded && encoded.data,
7402
+ encoding: encoded && encoded.encoding,
7403
+ extras: message.extras
7404
+ };
7405
+ var requestBody = serialize(req, client._MsgPack, format);
7406
+ var method = opts.isDelete ? resource_default.post : resource_default.patch;
7407
+ var pathSuffix = opts.isDelete ? "/delete" : "";
7408
+ yield method(client, _this53.basePath(channel) + "/messages/" + encodeURIComponent(message.serial) + pathSuffix, requestBody, headers, params || {}, null, true);
7409
+ })();
7410
+ }
7411
+ static getMessageVersions(channel, serialOrMessage, params) {
7412
+ var serial = typeof serialOrMessage === "string" ? serialOrMessage : serialOrMessage.serial;
7413
+ if (!serial) {
7414
+ throw new _ErrorInfo2('This message lacks a serial. Make sure you have enabled "Message annotations, updates, and deletes" in channel settings on your dashboard.', 40003, 400);
7415
+ }
7416
+ var client = channel.client;
7417
+ var format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */;
7418
+ var envelope = channel.client.http.supportsLinkHeaders ? void 0 : format;
7419
+ var headers = defaults_default.defaultGetHeaders(client.options);
7420
+ _mixin(headers, client.options.headers);
7421
+ return new paginatedresource_default(client, this.basePath(channel) + "/messages/" + encodeURIComponent(serial) + "/versions", headers, envelope, /*#__PURE__*/function () {
7422
+ var _ref8 = _asyncToGenerator(function* (body, headers2, unpacked) {
7423
+ var decoded = unpacked ? body : _decodeBody(body, client._MsgPack, format);
7424
+ return _fromEncodedArray2(decoded, channel);
7425
+ });
7426
+ return function (_x62, _x63, _x64) {
7427
+ return _ref8.apply(this, arguments);
7428
+ };
7429
+ }()).get(params || {});
7430
+ }
7340
7431
  };
7341
7432
 
7342
7433
  // src/common/lib/client/restpresencemixin.ts
@@ -7345,22 +7436,20 @@ var ably = {exports: {}};
7345
7436
  return RestChannelMixin.basePath(presence.channel) + "/presence";
7346
7437
  }
7347
7438
  static history(presence, params) {
7348
- var _this48 = this;
7439
+ var _this54 = this;
7349
7440
  return _asyncToGenerator(function* () {
7350
7441
  var client = presence.channel.client,
7351
7442
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7352
7443
  envelope = presence.channel.client.http.supportsLinkHeaders ? void 0 : format,
7353
- headers = defaults_default.defaultGetHeaders(client.options, {
7354
- format
7355
- });
7444
+ headers = defaults_default.defaultGetHeaders(client.options);
7356
7445
  _mixin(headers, client.options.headers);
7357
- return new paginatedresource_default(client, _this48.basePath(presence) + "/history", headers, envelope, /*#__PURE__*/function () {
7358
- var _ref8 = _asyncToGenerator(function* (body, headers2, unpacked) {
7446
+ return new paginatedresource_default(client, _this54.basePath(presence) + "/history", headers, envelope, /*#__PURE__*/function () {
7447
+ var _ref9 = _asyncToGenerator(function* (body, headers2, unpacked) {
7359
7448
  var decoded = unpacked ? body : _decodeBody(body, client._MsgPack, format);
7360
7449
  return _fromEncodedArray(decoded, presence.channel);
7361
7450
  });
7362
- return function (_x62, _x63, _x64) {
7363
- return _ref8.apply(this, arguments);
7451
+ return function (_x65, _x66, _x67) {
7452
+ return _ref9.apply(this, arguments);
7364
7453
  };
7365
7454
  }()).get(params);
7366
7455
  })();
@@ -7382,32 +7471,39 @@ var ably = {exports: {}};
7382
7471
  this.push = new push_default(this.client);
7383
7472
  }
7384
7473
  stats(params) {
7385
- var _this49 = this;
7474
+ var _this55 = this;
7386
7475
  return _asyncToGenerator(function* () {
7387
- var headers = defaults_default.defaultGetHeaders(_this49.client.options),
7388
- format = _this49.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7389
- envelope = _this49.client.http.supportsLinkHeaders ? void 0 : format;
7390
- _mixin(headers, _this49.client.options.headers);
7391
- return new paginatedresource_default(_this49.client, "/stats", headers, envelope, function (body, headers2, unpacked) {
7392
- var statsValues = unpacked ? body : JSON.parse(body);
7393
- for (var i = 0; i < statsValues.length; i++) statsValues[i] = stats_default.fromValues(statsValues[i]);
7394
- return statsValues;
7395
- }).get(params);
7476
+ var headers = defaults_default.defaultGetHeaders(_this55.client.options),
7477
+ format = _this55.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7478
+ envelope = _this55.client.http.supportsLinkHeaders ? void 0 : format;
7479
+ _mixin(headers, _this55.client.options.headers);
7480
+ return new paginatedresource_default(_this55.client, "/stats", headers, envelope, /*#__PURE__*/function () {
7481
+ var _ref0 = _asyncToGenerator(function* (body, _, unpacked) {
7482
+ var statsValues = unpacked ? body : _decodeBody(body, _this55.client._MsgPack, format);
7483
+ for (var i = 0; i < statsValues.length; i++) statsValues[i] = stats_default.fromValues(statsValues[i]);
7484
+ return statsValues;
7485
+ });
7486
+ return function (_x68, _x69, _x70) {
7487
+ return _ref0.apply(this, arguments);
7488
+ };
7489
+ }()).get(params);
7396
7490
  })();
7397
7491
  }
7398
7492
  time(params) {
7399
- var _this50 = this;
7493
+ var _this56 = this;
7400
7494
  return _asyncToGenerator(function* () {
7401
- var headers = defaults_default.defaultGetHeaders(_this50.client.options);
7402
- if (_this50.client.options.headers) _mixin(headers, _this50.client.options.headers);
7495
+ var headers = defaults_default.defaultGetHeaders(_this56.client.options, {
7496
+ format: "json" /* json */
7497
+ });
7498
+ if (_this56.client.options.headers) _mixin(headers, _this56.client.options.headers);
7403
7499
  var timeUri = host => {
7404
- return _this50.client.baseUri(host) + "/time";
7500
+ return _this56.client.baseUri(host) + "/time";
7405
7501
  };
7406
7502
  var {
7407
7503
  error,
7408
7504
  body,
7409
7505
  unpacked
7410
- } = yield _this50.client.http.do(HttpMethods_default.Get, timeUri, headers, null, params);
7506
+ } = yield _this56.client.http.do(HttpMethods_default.Get, timeUri, headers, null, params);
7411
7507
  if (error) {
7412
7508
  throw error;
7413
7509
  }
@@ -7416,47 +7512,47 @@ var ably = {exports: {}};
7416
7512
  if (!time) {
7417
7513
  throw new _ErrorInfo2("Internal error (unexpected result type from GET /time)", 5e4, 500);
7418
7514
  }
7419
- _this50.client.serverTimeOffset = time - Date.now();
7515
+ _this56.client.serverTimeOffset = time - Date.now();
7420
7516
  return time;
7421
7517
  })();
7422
7518
  }
7423
7519
  request(method, path, version2, params, body, customHeaders) {
7424
- var _this51 = this;
7520
+ var _this57 = this;
7425
7521
  return _asyncToGenerator(function* () {
7426
7522
  var _a2;
7427
7523
  var [encoder, decoder, format] = (() => {
7428
- if (_this51.client.options.useBinaryProtocol) {
7429
- if (!_this51.client._MsgPack) {
7524
+ if (_this57.client.options.useBinaryProtocol) {
7525
+ if (!_this57.client._MsgPack) {
7430
7526
  _throwMissingPluginError("MsgPack");
7431
7527
  }
7432
- return [_this51.client._MsgPack.encode, _this51.client._MsgPack.decode, "msgpack" /* msgpack */];
7528
+ return [_this57.client._MsgPack.encode, _this57.client._MsgPack.decode, "msgpack" /* msgpack */];
7433
7529
  } else {
7434
7530
  return [JSON.stringify, JSON.parse, "json" /* json */];
7435
7531
  }
7436
7532
  })();
7437
- var envelope = _this51.client.http.supportsLinkHeaders ? void 0 : format;
7533
+ var envelope = _this57.client.http.supportsLinkHeaders ? void 0 : format;
7438
7534
  params = params || {};
7439
7535
  var _method = method.toLowerCase();
7440
- var headers = _method == "get" ? defaults_default.defaultGetHeaders(_this51.client.options, {
7536
+ var headers = _method == "get" ? defaults_default.defaultGetHeaders(_this57.client.options, {
7441
7537
  format,
7442
7538
  protocolVersion: version2
7443
- }) : defaults_default.defaultPostHeaders(_this51.client.options, {
7539
+ }) : defaults_default.defaultPostHeaders(_this57.client.options, {
7444
7540
  format,
7445
7541
  protocolVersion: version2
7446
7542
  });
7447
7543
  if (typeof body !== "string") {
7448
7544
  body = (_a2 = encoder(body)) != null ? _a2 : null;
7449
7545
  }
7450
- _mixin(headers, _this51.client.options.headers);
7546
+ _mixin(headers, _this57.client.options.headers);
7451
7547
  if (customHeaders) {
7452
7548
  _mixin(headers, customHeaders);
7453
7549
  }
7454
- var paginatedResource = new paginatedresource_default(_this51.client, path, headers, envelope, /*#__PURE__*/function () {
7455
- var _ref9 = _asyncToGenerator(function* (resbody, headers2, unpacked) {
7550
+ var paginatedResource = new paginatedresource_default(_this57.client, path, headers, envelope, /*#__PURE__*/function () {
7551
+ var _ref1 = _asyncToGenerator(function* (resbody, headers2, unpacked) {
7456
7552
  return _ensureArray(unpacked ? resbody : decoder(resbody));
7457
7553
  });
7458
- return function (_x65, _x66, _x67) {
7459
- return _ref9.apply(this, arguments);
7554
+ return function (_x71, _x72, _x73) {
7555
+ return _ref1.apply(this, arguments);
7460
7556
  };
7461
7557
  }(), /* useHttpPaginatedResponse: */
7462
7558
  true);
@@ -7471,7 +7567,7 @@ var ably = {exports: {}};
7471
7567
  })();
7472
7568
  }
7473
7569
  batchPublish(specOrSpecs) {
7474
- var _this52 = this;
7570
+ var _this58 = this;
7475
7571
  return _asyncToGenerator(function* () {
7476
7572
  var requestBodyDTO;
7477
7573
  var singleSpecMode;
@@ -7482,14 +7578,12 @@ var ably = {exports: {}};
7482
7578
  requestBodyDTO = [specOrSpecs];
7483
7579
  singleSpecMode = true;
7484
7580
  }
7485
- var format = _this52.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7486
- headers = defaults_default.defaultPostHeaders(_this52.client.options, {
7487
- format
7488
- });
7489
- if (_this52.client.options.headers) _mixin(headers, _this52.client.options.headers);
7490
- var requestBody = _encodeBody(requestBodyDTO, _this52.client._MsgPack, format);
7491
- var response = yield resource_default.post(_this52.client, "/messages", requestBody, headers, {}, null, true);
7492
- var batchResults = response.unpacked ? response.body : _decodeBody(response.body, _this52.client._MsgPack, format);
7581
+ var format = _this58.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7582
+ headers = defaults_default.defaultPostHeaders(_this58.client.options);
7583
+ if (_this58.client.options.headers) _mixin(headers, _this58.client.options.headers);
7584
+ var requestBody = _encodeBody(requestBodyDTO, _this58.client._MsgPack, format);
7585
+ var response = yield resource_default.post(_this58.client, "/messages", requestBody, headers, {}, null, true);
7586
+ var batchResults = response.unpacked ? response.body : _decodeBody(response.body, _this58.client._MsgPack, format);
7493
7587
  if (singleSpecMode) {
7494
7588
  return batchResults[0];
7495
7589
  } else {
@@ -7498,39 +7592,35 @@ var ably = {exports: {}};
7498
7592
  })();
7499
7593
  }
7500
7594
  batchPresence(channels) {
7501
- var _this53 = this;
7595
+ var _this59 = this;
7502
7596
  return _asyncToGenerator(function* () {
7503
- var format = _this53.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7504
- headers = defaults_default.defaultPostHeaders(_this53.client.options, {
7505
- format
7506
- });
7507
- if (_this53.client.options.headers) _mixin(headers, _this53.client.options.headers);
7597
+ var format = _this59.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7598
+ headers = defaults_default.defaultGetHeaders(_this59.client.options);
7599
+ if (_this59.client.options.headers) _mixin(headers, _this59.client.options.headers);
7508
7600
  var channelsParam = channels.join(",");
7509
- var response = yield resource_default.get(_this53.client, "/presence", headers, {
7601
+ var response = yield resource_default.get(_this59.client, "/presence", headers, {
7510
7602
  channels: channelsParam
7511
7603
  }, null, true);
7512
- return response.unpacked ? response.body : _decodeBody(response.body, _this53.client._MsgPack, format);
7604
+ return response.unpacked ? response.body : _decodeBody(response.body, _this59.client._MsgPack, format);
7513
7605
  })();
7514
7606
  }
7515
7607
  revokeTokens(specifiers, options) {
7516
- var _this54 = this;
7608
+ var _this60 = this;
7517
7609
  return _asyncToGenerator(function* () {
7518
- if (useTokenAuth(_this54.client.options)) {
7610
+ if (useTokenAuth(_this60.client.options)) {
7519
7611
  throw new _ErrorInfo2("Cannot revoke tokens when using token auth", 40162, 401);
7520
7612
  }
7521
- var keyName = _this54.client.options.keyName;
7613
+ var keyName = _this60.client.options.keyName;
7522
7614
  var resolvedOptions = options != null ? options : {};
7523
7615
  var requestBodyDTO = __spreadValues({
7524
7616
  targets: specifiers.map(specifier => "".concat(specifier.type, ":").concat(specifier.value))
7525
7617
  }, resolvedOptions);
7526
- var format = _this54.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7527
- headers = defaults_default.defaultPostHeaders(_this54.client.options, {
7528
- format
7529
- });
7530
- if (_this54.client.options.headers) _mixin(headers, _this54.client.options.headers);
7531
- var requestBody = _encodeBody(requestBodyDTO, _this54.client._MsgPack, format);
7532
- var response = yield resource_default.post(_this54.client, "/keys/".concat(keyName, "/revokeTokens"), requestBody, headers, {}, null, true);
7533
- return response.unpacked ? response.body : _decodeBody(response.body, _this54.client._MsgPack, format);
7618
+ var format = _this60.client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7619
+ headers = defaults_default.defaultPostHeaders(_this60.client.options);
7620
+ if (_this60.client.options.headers) _mixin(headers, _this60.client.options.headers);
7621
+ var requestBody = _encodeBody(requestBodyDTO, _this60.client._MsgPack, format);
7622
+ var response = yield resource_default.post(_this60.client, "/keys/".concat(keyName, "/revokeTokens"), requestBody, headers, {}, null, true);
7623
+ return response.unpacked ? response.body : _decodeBody(response.body, _this60.client._MsgPack, format);
7534
7624
  })();
7535
7625
  }
7536
7626
  };
@@ -7614,7 +7704,7 @@ var ably = {exports: {}};
7614
7704
 
7615
7705
  // src/common/lib/types/annotation.ts
7616
7706
  var actions4 = ["annotation.create", "annotation.delete"];
7617
- function fromEncoded3(_x68, _x69, _x70) {
7707
+ function fromEncoded3(_x74, _x75, _x76) {
7618
7708
  return _fromEncoded8.apply(this, arguments);
7619
7709
  }
7620
7710
  function _fromEncoded8() {
@@ -7624,7 +7714,7 @@ var ably = {exports: {}};
7624
7714
  });
7625
7715
  return _fromEncoded8.apply(this, arguments);
7626
7716
  }
7627
- function fromEncodedArray3(_x71, _x72, _x73) {
7717
+ function fromEncodedArray3(_x77, _x78, _x79) {
7628
7718
  return _fromEncodedArray8.apply(this, arguments);
7629
7719
  }
7630
7720
  function _fromEncodedArray8() {
@@ -7635,7 +7725,7 @@ var ably = {exports: {}};
7635
7725
  });
7636
7726
  return _fromEncodedArray8.apply(this, arguments);
7637
7727
  }
7638
- function _fromEncoded3(_x74, _x75) {
7728
+ function _fromEncoded3(_x80, _x81) {
7639
7729
  return _fromEncoded9.apply(this, arguments);
7640
7730
  }
7641
7731
  function _fromEncoded9() {
@@ -7644,7 +7734,7 @@ var ably = {exports: {}};
7644
7734
  });
7645
7735
  return _fromEncoded9.apply(this, arguments);
7646
7736
  }
7647
- function _fromEncodedArray3(_x76, _x77) {
7737
+ function _fromEncodedArray3(_x82, _x83) {
7648
7738
  return _fromEncodedArray9.apply(this, arguments);
7649
7739
  }
7650
7740
  function _fromEncodedArray9() {
@@ -7657,10 +7747,10 @@ var ably = {exports: {}};
7657
7747
  }
7658
7748
  var Annotation = class _Annotation extends BaseMessage {
7659
7749
  encode() {
7660
- var _this55 = this;
7750
+ var _this61 = this;
7661
7751
  return _asyncToGenerator(function* () {
7662
- var res = Object.assign(new WireAnnotation(), _this55, {
7663
- action: actions4.indexOf(_this55.action || "annotation.create")
7752
+ var res = Object.assign(new WireAnnotation(), _this61, {
7753
+ action: actions4.indexOf(_this61.action || "annotation.create")
7664
7754
  });
7665
7755
  return encode(res, {});
7666
7756
  })();
@@ -7689,10 +7779,10 @@ var ably = {exports: {}};
7689
7779
  return values.map(v => _WireAnnotation.fromValues(v));
7690
7780
  }
7691
7781
  decode(channelOptions, logger) {
7692
- var _this56 = this;
7782
+ var _this62 = this;
7693
7783
  return _asyncToGenerator(function* () {
7694
- var res = Object.assign(new Annotation(), __spreadProps(__spreadValues({}, _this56), {
7695
- action: actions4[_this56.action]
7784
+ var res = Object.assign(new Annotation(), __spreadProps(__spreadValues({}, _this62), {
7785
+ action: actions4[_this62.action]
7696
7786
  }));
7697
7787
  try {
7698
7788
  yield decode(res, channelOptions);
@@ -7761,47 +7851,43 @@ var ably = {exports: {}};
7761
7851
  this.channel = channel;
7762
7852
  }
7763
7853
  publish(msgOrSerial, annotationValues) {
7764
- var _this57 = this;
7854
+ var _this63 = this;
7765
7855
  return _asyncToGenerator(function* () {
7766
7856
  var annotation = constructValidateAnnotation(msgOrSerial, annotationValues);
7767
7857
  var wireAnnotation = yield annotation.encode();
7768
- var client = _this57.channel.client,
7858
+ var client = _this63.channel.client,
7769
7859
  options = client.options,
7770
7860
  format = options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7771
- headers = defaults_default.defaultPostHeaders(client.options, {
7772
- format
7773
- }),
7861
+ headers = defaults_default.defaultPostHeaders(client.options),
7774
7862
  params = {};
7775
7863
  _mixin(headers, client.options.headers);
7776
7864
  var requestBody = _encodeBody([wireAnnotation], client._MsgPack, format);
7777
- yield resource_default.post(client, basePathForSerial(_this57.channel, annotation.messageSerial), requestBody, headers, params, null, true);
7865
+ yield resource_default.post(client, basePathForSerial(_this63.channel, annotation.messageSerial), requestBody, headers, params, null, true);
7778
7866
  })();
7779
7867
  }
7780
7868
  delete(msgOrSerial, annotationValues) {
7781
- var _this58 = this;
7869
+ var _this64 = this;
7782
7870
  return _asyncToGenerator(function* () {
7783
7871
  annotationValues.action = "annotation.delete";
7784
- return _this58.publish(msgOrSerial, annotationValues);
7872
+ return _this64.publish(msgOrSerial, annotationValues);
7785
7873
  })();
7786
7874
  }
7787
7875
  get(msgOrSerial, params) {
7788
- var _this59 = this;
7876
+ var _this65 = this;
7789
7877
  return _asyncToGenerator(function* () {
7790
- var client = _this59.channel.client,
7878
+ var client = _this65.channel.client,
7791
7879
  messageSerial = serialFromMsgOrSerial(msgOrSerial),
7792
7880
  format = client.options.useBinaryProtocol ? "msgpack" /* msgpack */ : "json" /* json */,
7793
7881
  envelope = client.http.supportsLinkHeaders ? void 0 : format,
7794
- headers = defaults_default.defaultGetHeaders(client.options, {
7795
- format
7796
- });
7882
+ headers = defaults_default.defaultGetHeaders(client.options);
7797
7883
  _mixin(headers, client.options.headers);
7798
- return new paginatedresource_default(client, basePathForSerial(_this59.channel, messageSerial), headers, envelope, /*#__PURE__*/function () {
7799
- var _ref0 = _asyncToGenerator(function* (body, _, unpacked) {
7884
+ return new paginatedresource_default(client, basePathForSerial(_this65.channel, messageSerial), headers, envelope, /*#__PURE__*/function () {
7885
+ var _ref10 = _asyncToGenerator(function* (body, _, unpacked) {
7800
7886
  var decoded = unpacked ? body : _decodeBody(body, client._MsgPack, format);
7801
- return _fromEncodedArray3(decoded, _this59.channel);
7887
+ return _fromEncodedArray3(decoded, _this65.channel);
7802
7888
  });
7803
- return function (_x78, _x79, _x80) {
7804
- return _ref0.apply(this, arguments);
7889
+ return function (_x84, _x85, _x86) {
7890
+ return _ref10.apply(this, arguments);
7805
7891
  };
7806
7892
  }()).get(params);
7807
7893
  })();
@@ -7972,7 +8058,7 @@ var ably = {exports: {}};
7972
8058
  this._mode = 0;
7973
8059
  this.retryCount = 0;
7974
8060
  this.history = /*#__PURE__*/function () {
7975
- var _ref1 = _asyncToGenerator(function* (params) {
8061
+ var _ref11 = _asyncToGenerator(function* (params) {
7976
8062
  logger_default.logAction(this.logger, logger_default.LOG_MICRO, "RealtimeChannel.history()", "channel = " + this.name);
7977
8063
  var restMixin = this.client.rest.channelMixin;
7978
8064
  if (params && params.untilAttach) {
@@ -7987,8 +8073,8 @@ var ably = {exports: {}};
7987
8073
  }
7988
8074
  return restMixin.history(this, params);
7989
8075
  });
7990
- return function (_x81) {
7991
- return _ref1.apply(this, arguments);
8076
+ return function (_x87) {
8077
+ return _ref11.apply(this, arguments);
7992
8078
  };
7993
8079
  }();
7994
8080
  this.whenState = state => {
@@ -8067,20 +8153,20 @@ var ably = {exports: {}};
8067
8153
  return args;
8068
8154
  }
8069
8155
  setOptions(options) {
8070
- var _this60 = this;
8156
+ var _this66 = this;
8071
8157
  return _asyncToGenerator(function* () {
8072
8158
  var _a2;
8073
- var previousChannelOptions = _this60.channelOptions;
8159
+ var previousChannelOptions = _this66.channelOptions;
8074
8160
  var err = validateChannelOptions(options);
8075
8161
  if (err) {
8076
8162
  throw err;
8077
8163
  }
8078
- _this60.channelOptions = normaliseChannelOptions((_a2 = _this60.client._Crypto) != null ? _a2 : null, _this60.logger, options);
8079
- if (_this60._decodingContext) _this60._decodingContext.channelOptions = _this60.channelOptions;
8080
- if (_this60._shouldReattachToSetOptions(options, previousChannelOptions)) {
8081
- _this60.attachImpl();
8164
+ _this66.channelOptions = normaliseChannelOptions((_a2 = _this66.client._Crypto) != null ? _a2 : null, _this66.logger, options);
8165
+ if (_this66._decodingContext) _this66._decodingContext.channelOptions = _this66.channelOptions;
8166
+ if (_this66._shouldReattachToSetOptions(options, previousChannelOptions)) {
8167
+ _this66.attachImpl();
8082
8168
  return new Promise((resolve, reject) => {
8083
- _this60._allChannelChanges.once(["attached", "update", "detached", "failed"], function (stateChange) {
8169
+ _this66._allChannelChanges.once(["attached", "update", "detached", "failed"], function (stateChange) {
8084
8170
  switch (this.event) {
8085
8171
  case "update":
8086
8172
  case "attached":
@@ -8117,7 +8203,7 @@ var ably = {exports: {}};
8117
8203
  }
8118
8204
  publish() {
8119
8205
  var _arguments2 = arguments,
8120
- _this61 = this;
8206
+ _this67 = this;
8121
8207
  return _asyncToGenerator(function* () {
8122
8208
  var messages;
8123
8209
  var argCount = _arguments2.length;
@@ -8135,20 +8221,20 @@ var ably = {exports: {}};
8135
8221
  data: _arguments2.length <= 1 ? undefined : _arguments2[1]
8136
8222
  })];
8137
8223
  }
8138
- var maxMessageSize = _this61.client.options.maxMessageSize;
8139
- var wireMessages = yield encodeArray(messages, _this61.channelOptions);
8224
+ var maxMessageSize = _this67.client.options.maxMessageSize;
8225
+ var wireMessages = yield encodeArray(messages, _this67.channelOptions);
8140
8226
  var size = getMessagesSize(wireMessages);
8141
8227
  if (size > maxMessageSize) {
8142
8228
  throw new _ErrorInfo2("Maximum size of messages that can be published at once exceeded (was ".concat(size, " bytes; limit is ").concat(maxMessageSize, " bytes)"), 40009, 400);
8143
8229
  }
8144
- _this61.throwIfUnpublishableState();
8145
- logger_default.logAction(_this61.logger, logger_default.LOG_MICRO, "RealtimeChannel.publish()", "sending message; channel state is " + _this61.state + ", message count = " + wireMessages.length);
8230
+ _this67.throwIfUnpublishableState();
8231
+ logger_default.logAction(_this67.logger, logger_default.LOG_MICRO, "RealtimeChannel.publish()", "sending message; channel state is " + _this67.state + ", message count = " + wireMessages.length);
8146
8232
  var pm = fromValues({
8147
8233
  action: actions.MESSAGE,
8148
- channel: _this61.name,
8234
+ channel: _this67.name,
8149
8235
  messages: wireMessages
8150
8236
  });
8151
- return _this61.sendMessage(pm);
8237
+ return _this67.sendMessage(pm);
8152
8238
  })();
8153
8239
  }
8154
8240
  throwIfUnpublishableState() {
@@ -8168,13 +8254,13 @@ var ably = {exports: {}};
8168
8254
  }
8169
8255
  }
8170
8256
  attach() {
8171
- var _this62 = this;
8257
+ var _this68 = this;
8172
8258
  return _asyncToGenerator(function* () {
8173
- if (_this62.state === "attached") {
8259
+ if (_this68.state === "attached") {
8174
8260
  return null;
8175
8261
  }
8176
8262
  return new Promise((resolve, reject) => {
8177
- _this62._attach(false, null, (err, result) => err ? reject(err) : resolve(result));
8263
+ _this68._attach(false, null, (err, result) => err ? reject(err) : resolve(result));
8178
8264
  });
8179
8265
  })();
8180
8266
  }
@@ -8232,25 +8318,25 @@ var ably = {exports: {}};
8232
8318
  this.sendMessage(attachMsg).catch(noop);
8233
8319
  }
8234
8320
  detach() {
8235
- var _this63 = this;
8321
+ var _this69 = this;
8236
8322
  return _asyncToGenerator(function* () {
8237
- var connectionManager = _this63.connectionManager;
8323
+ var connectionManager = _this69.connectionManager;
8238
8324
  if (!connectionManager.activeState()) {
8239
8325
  throw connectionManager.getError();
8240
8326
  }
8241
- switch (_this63.state) {
8327
+ switch (_this69.state) {
8242
8328
  case "suspended":
8243
- _this63.notifyState("detached");
8329
+ _this69.notifyState("detached");
8244
8330
  return;
8245
8331
  case "detached":
8246
8332
  return;
8247
8333
  case "failed":
8248
8334
  throw new _ErrorInfo2("Unable to detach; channel state = failed", 90001, 400);
8249
8335
  default:
8250
- _this63.requestState("detaching");
8336
+ _this69.requestState("detaching");
8251
8337
  case "detaching":
8252
8338
  return new Promise((resolve, reject) => {
8253
- _this63.once(function (stateChange) {
8339
+ _this69.once(function (stateChange) {
8254
8340
  switch (this.event) {
8255
8341
  case "detached":
8256
8342
  resolve();
@@ -8279,22 +8365,22 @@ var ably = {exports: {}};
8279
8365
  }
8280
8366
  subscribe() {
8281
8367
  var _arguments3 = arguments,
8282
- _this64 = this;
8368
+ _this70 = this;
8283
8369
  return _asyncToGenerator(function* () {
8284
8370
  for (var _len0 = _arguments3.length, args = new Array(_len0), _key0 = 0; _key0 < _len0; _key0++) {
8285
8371
  args[_key0] = _arguments3[_key0];
8286
8372
  }
8287
8373
  var [event, listener] = _RealtimeChannel.processListenerArgs(args);
8288
- if (_this64.state === "failed") {
8289
- throw _ErrorInfo2.fromValues(_this64.invalidStateError());
8374
+ if (_this70.state === "failed") {
8375
+ throw _ErrorInfo2.fromValues(_this70.invalidStateError());
8290
8376
  }
8291
8377
  if (event && typeof event === "object" && !Array.isArray(event)) {
8292
- _this64.client._FilteredSubscriptions.subscribeFilter(_this64, event, listener);
8378
+ _this70.client._FilteredSubscriptions.subscribeFilter(_this70, event, listener);
8293
8379
  } else {
8294
- _this64.subscriptions.on(event, listener);
8380
+ _this70.subscriptions.on(event, listener);
8295
8381
  }
8296
- if (_this64.channelOptions.attachOnSubscribe !== false) {
8297
- return _this64.attach();
8382
+ if (_this70.channelOptions.attachOnSubscribe !== false) {
8383
+ return _this70.attach();
8298
8384
  } else {
8299
8385
  return null;
8300
8386
  }
@@ -8333,10 +8419,10 @@ var ably = {exports: {}};
8333
8419
  connectionManager.send(syncMessage);
8334
8420
  }
8335
8421
  sendMessage(msg) {
8336
- var _this65 = this;
8422
+ var _this71 = this;
8337
8423
  return _asyncToGenerator(function* () {
8338
8424
  return new Promise((resolve, reject) => {
8339
- _this65.connectionManager.send(msg, _this65.client.options.queueMessages, err => {
8425
+ _this71.connectionManager.send(msg, _this71.client.options.queueMessages, err => {
8340
8426
  if (err) {
8341
8427
  reject(err);
8342
8428
  } else {
@@ -8347,14 +8433,14 @@ var ably = {exports: {}};
8347
8433
  })();
8348
8434
  }
8349
8435
  sendPresence(presence) {
8350
- var _this66 = this;
8436
+ var _this72 = this;
8351
8437
  return _asyncToGenerator(function* () {
8352
8438
  var msg = fromValues({
8353
8439
  action: actions.PRESENCE,
8354
- channel: _this66.name,
8440
+ channel: _this72.name,
8355
8441
  presence
8356
8442
  });
8357
- return _this66.sendMessage(msg);
8443
+ return _this72.sendMessage(msg);
8358
8444
  })();
8359
8445
  }
8360
8446
  sendState(objectMessages) {
@@ -8367,61 +8453,61 @@ var ably = {exports: {}};
8367
8453
  }
8368
8454
  // Access to this method is synchronised by ConnectionManager#processChannelMessage, in order to synchronise access to the state stored in _decodingContext.
8369
8455
  processMessage(message) {
8370
- var _this67 = this;
8456
+ var _this73 = this;
8371
8457
  return _asyncToGenerator(function* () {
8372
8458
  if (message.action === actions.ATTACHED || message.action === actions.MESSAGE || message.action === actions.PRESENCE || message.action === actions.OBJECT || message.action === actions.ANNOTATION) {
8373
- _this67.setChannelSerial(message.channelSerial);
8459
+ _this73.setChannelSerial(message.channelSerial);
8374
8460
  }
8375
8461
  var syncChannelSerial,
8376
8462
  isSync = false;
8377
8463
  switch (message.action) {
8378
8464
  case actions.ATTACHED:
8379
8465
  {
8380
- _this67.properties.attachSerial = message.channelSerial;
8381
- _this67._mode = message.getMode();
8382
- _this67.params = message.params || {};
8466
+ _this73.properties.attachSerial = message.channelSerial;
8467
+ _this73._mode = message.getMode();
8468
+ _this73.params = message.params || {};
8383
8469
  var modesFromFlags = message.decodeModesFromFlags();
8384
- _this67.modes = modesFromFlags && _allToLowerCase(modesFromFlags) || void 0;
8470
+ _this73.modes = modesFromFlags && _allToLowerCase(modesFromFlags) || void 0;
8385
8471
  var resumed = message.hasFlag("RESUMED");
8386
8472
  var hasPresence = message.hasFlag("HAS_PRESENCE");
8387
8473
  var hasBacklog = message.hasFlag("HAS_BACKLOG");
8388
8474
  var hasObjects = message.hasFlag("HAS_OBJECTS");
8389
- if (_this67.state === "attached") {
8475
+ if (_this73.state === "attached") {
8390
8476
  if (!resumed) {
8391
- if (_this67._presence) {
8392
- _this67._presence.onAttached(hasPresence);
8477
+ if (_this73._presence) {
8478
+ _this73._presence.onAttached(hasPresence);
8393
8479
  }
8394
- if (_this67._objects) {
8395
- _this67._objects.onAttached(hasObjects);
8480
+ if (_this73._objects) {
8481
+ _this73._objects.onAttached(hasObjects);
8396
8482
  }
8397
8483
  }
8398
- var change = new channelstatechange_default(_this67.state, _this67.state, resumed, hasBacklog, message.error);
8399
- _this67._allChannelChanges.emit("update", change);
8400
- if (!resumed || _this67.channelOptions.updateOnAttached) {
8401
- _this67.emit("update", change);
8484
+ var change = new channelstatechange_default(_this73.state, _this73.state, resumed, hasBacklog, message.error);
8485
+ _this73._allChannelChanges.emit("update", change);
8486
+ if (!resumed || _this73.channelOptions.updateOnAttached) {
8487
+ _this73.emit("update", change);
8402
8488
  }
8403
- } else if (_this67.state === "detaching") {
8404
- _this67.checkPendingState();
8489
+ } else if (_this73.state === "detaching") {
8490
+ _this73.checkPendingState();
8405
8491
  } else {
8406
- _this67.notifyState("attached", message.error, resumed, hasPresence, hasBacklog, hasObjects);
8492
+ _this73.notifyState("attached", message.error, resumed, hasPresence, hasBacklog, hasObjects);
8407
8493
  }
8408
8494
  break;
8409
8495
  }
8410
8496
  case actions.DETACHED:
8411
8497
  {
8412
8498
  var detachErr = message.error ? _ErrorInfo2.fromValues(message.error) : new _ErrorInfo2("Channel detached", 90001, 404);
8413
- if (_this67.state === "detaching") {
8414
- _this67.notifyState("detached", detachErr);
8415
- } else if (_this67.state === "attaching") {
8416
- _this67.notifyState("suspended", detachErr);
8417
- } else if (_this67.state === "attached" || _this67.state === "suspended") {
8418
- _this67.requestState("attaching", detachErr);
8499
+ if (_this73.state === "detaching") {
8500
+ _this73.notifyState("detached", detachErr);
8501
+ } else if (_this73.state === "attaching") {
8502
+ _this73.notifyState("suspended", detachErr);
8503
+ } else if (_this73.state === "attached" || _this73.state === "suspended") {
8504
+ _this73.requestState("attaching", detachErr);
8419
8505
  }
8420
8506
  break;
8421
8507
  }
8422
8508
  case actions.SYNC:
8423
8509
  isSync = true;
8424
- syncChannelSerial = _this67.syncChannelSerial = message.channelSerial;
8510
+ syncChannelSerial = _this73.syncChannelSerial = message.channelSerial;
8425
8511
  if (!message.presence) break;
8426
8512
  case actions.PRESENCE:
8427
8513
  {
@@ -8429,45 +8515,45 @@ var ably = {exports: {}};
8429
8515
  break;
8430
8516
  }
8431
8517
  populateFieldsFromParent(message);
8432
- var options = _this67.channelOptions;
8433
- if (_this67._presence) {
8518
+ var options = _this73.channelOptions;
8519
+ if (_this73._presence) {
8434
8520
  var presenceMessages = yield Promise.all(message.presence.map(wpm => {
8435
- return wpm.decode(options, _this67.logger);
8521
+ return wpm.decode(options, _this73.logger);
8436
8522
  }));
8437
- _this67._presence.setPresence(presenceMessages, isSync, syncChannelSerial);
8523
+ _this73._presence.setPresence(presenceMessages, isSync, syncChannelSerial);
8438
8524
  }
8439
8525
  break;
8440
8526
  }
8441
8527
  case actions.OBJECT:
8442
8528
  case actions.OBJECT_SYNC:
8443
8529
  {
8444
- if (!_this67._objects || !message.state) {
8530
+ if (!_this73._objects || !message.state) {
8445
8531
  return;
8446
8532
  }
8447
8533
  populateFieldsFromParent(message);
8448
- var format = _this67.client.connection.connectionManager.getActiveTransportFormat();
8449
- var objectMessages = message.state.map(om => om.decode(_this67.client, format));
8534
+ var format = _this73.client.connection.connectionManager.getActiveTransportFormat();
8535
+ var objectMessages = message.state.map(om => om.decode(_this73.client, format));
8450
8536
  if (message.action === actions.OBJECT) {
8451
- _this67._objects.handleObjectMessages(objectMessages);
8537
+ _this73._objects.handleObjectMessages(objectMessages);
8452
8538
  } else {
8453
- _this67._objects.handleObjectSyncMessages(objectMessages, message.channelSerial);
8539
+ _this73._objects.handleObjectSyncMessages(objectMessages, message.channelSerial);
8454
8540
  }
8455
8541
  break;
8456
8542
  }
8457
8543
  case actions.MESSAGE:
8458
8544
  {
8459
- if (_this67.state !== "attached") {
8460
- logger_default.logAction(_this67.logger, logger_default.LOG_MAJOR, "RealtimeChannel.processMessage()", 'Message "' + message.id + '" skipped as this channel "' + _this67.name + '" state is not "attached" (state is "' + _this67.state + '").');
8545
+ if (_this73.state !== "attached") {
8546
+ logger_default.logAction(_this73.logger, logger_default.LOG_MAJOR, "RealtimeChannel.processMessage()", 'Message "' + message.id + '" skipped as this channel "' + _this73.name + '" state is not "attached" (state is "' + _this73.state + '").');
8461
8547
  return;
8462
8548
  }
8463
8549
  populateFieldsFromParent(message);
8464
8550
  var encoded = message.messages,
8465
8551
  firstMessage = encoded[0],
8466
8552
  lastMessage = encoded[encoded.length - 1];
8467
- if (firstMessage.extras && firstMessage.extras.delta && firstMessage.extras.delta.from !== _this67._lastPayload.messageId) {
8468
- var msg = 'Delta message decode failure - previous message not available for message "' + message.id + '" on this channel "' + _this67.name + '".';
8469
- logger_default.logAction(_this67.logger, logger_default.LOG_ERROR, "RealtimeChannel.processMessage()", msg);
8470
- _this67._startDecodeFailureRecovery(new _ErrorInfo2(msg, 40018, 400));
8553
+ if (firstMessage.extras && firstMessage.extras.delta && firstMessage.extras.delta.from !== _this73._lastPayload.messageId) {
8554
+ var msg = 'Delta message decode failure - previous message not available for message "' + message.id + '" on this channel "' + _this73.name + '".';
8555
+ logger_default.logAction(_this73.logger, logger_default.LOG_ERROR, "RealtimeChannel.processMessage()", msg);
8556
+ _this73._startDecodeFailureRecovery(new _ErrorInfo2(msg, 40018, 400));
8471
8557
  break;
8472
8558
  }
8473
8559
  var messages = [];
@@ -8475,34 +8561,34 @@ var ably = {exports: {}};
8475
8561
  var {
8476
8562
  decoded,
8477
8563
  err
8478
- } = yield encoded[i].decodeWithErr(_this67._decodingContext, _this67.logger);
8564
+ } = yield encoded[i].decodeWithErr(_this73._decodingContext, _this73.logger);
8479
8565
  messages[i] = decoded;
8480
8566
  if (err) {
8481
8567
  switch (err.code) {
8482
8568
  case 40018:
8483
- _this67._startDecodeFailureRecovery(err);
8569
+ _this73._startDecodeFailureRecovery(err);
8484
8570
  return;
8485
8571
  case 40019:
8486
8572
  case 40021:
8487
- _this67.notifyState("failed", err);
8573
+ _this73.notifyState("failed", err);
8488
8574
  return;
8489
8575
  }
8490
8576
  }
8491
8577
  }
8492
- _this67._lastPayload.messageId = lastMessage.id;
8493
- _this67._lastPayload.protocolMessageChannelSerial = message.channelSerial;
8494
- _this67.onEvent(messages);
8578
+ _this73._lastPayload.messageId = lastMessage.id;
8579
+ _this73._lastPayload.protocolMessageChannelSerial = message.channelSerial;
8580
+ _this73.onEvent(messages);
8495
8581
  break;
8496
8582
  }
8497
8583
  case actions.ANNOTATION:
8498
8584
  {
8499
8585
  populateFieldsFromParent(message);
8500
- var _options = _this67.channelOptions;
8501
- if (_this67._annotations) {
8586
+ var _options = _this73.channelOptions;
8587
+ if (_this73._annotations) {
8502
8588
  var annotations = yield Promise.all((message.annotations || []).map(wpm => {
8503
- return wpm.decode(_options, _this67.logger);
8589
+ return wpm.decode(_options, _this73.logger);
8504
8590
  }));
8505
- _this67._annotations._processIncoming(annotations);
8591
+ _this73._annotations._processIncoming(annotations);
8506
8592
  }
8507
8593
  break;
8508
8594
  }
@@ -8510,14 +8596,14 @@ var ably = {exports: {}};
8510
8596
  {
8511
8597
  var _err = message.error;
8512
8598
  if (_err && _err.code == 80016) {
8513
- _this67.checkPendingState();
8599
+ _this73.checkPendingState();
8514
8600
  } else {
8515
- _this67.notifyState("failed", _ErrorInfo2.fromValues(_err));
8601
+ _this73.notifyState("failed", _ErrorInfo2.fromValues(_err));
8516
8602
  }
8517
8603
  break;
8518
8604
  }
8519
8605
  default:
8520
- logger_default.logAction(_this67.logger, logger_default.LOG_MAJOR, "RealtimeChannel.processMessage()", "Protocol error: unrecognised message action (" + message.action + ")");
8606
+ logger_default.logAction(_this73.logger, logger_default.LOG_MAJOR, "RealtimeChannel.processMessage()", "Protocol error: unrecognised message action (" + message.action + ")");
8521
8607
  }
8522
8608
  })();
8523
8609
  }
@@ -8673,9 +8759,45 @@ var ably = {exports: {}};
8673
8759
  }
8674
8760
  }
8675
8761
  status() {
8676
- var _this68 = this;
8762
+ var _this74 = this;
8763
+ return _asyncToGenerator(function* () {
8764
+ return _this74.client.rest.channelMixin.status(_this74);
8765
+ })();
8766
+ }
8767
+ getMessage(serialOrMessage) {
8768
+ var _this75 = this;
8677
8769
  return _asyncToGenerator(function* () {
8678
- return _this68.client.rest.channelMixin.status(_this68);
8770
+ logger_default.logAction(_this75.logger, logger_default.LOG_MICRO, "RealtimeChannel.getMessage()", "channel = " + _this75.name);
8771
+ var restMixin = _this75.client.rest.channelMixin;
8772
+ return restMixin.getMessage(_this75, serialOrMessage);
8773
+ })();
8774
+ }
8775
+ updateMessage(message, operation, params) {
8776
+ var _this76 = this;
8777
+ return _asyncToGenerator(function* () {
8778
+ logger_default.logAction(_this76.logger, logger_default.LOG_MICRO, "RealtimeChannel.updateMessage()", "channel = " + _this76.name);
8779
+ var restMixin = _this76.client.rest.channelMixin;
8780
+ return restMixin.updateDeleteMessage(_this76, {
8781
+ isDelete: false
8782
+ }, message, operation, params);
8783
+ })();
8784
+ }
8785
+ deleteMessage(message, operation, params) {
8786
+ var _this77 = this;
8787
+ return _asyncToGenerator(function* () {
8788
+ logger_default.logAction(_this77.logger, logger_default.LOG_MICRO, "RealtimeChannel.deleteMessage()", "channel = " + _this77.name);
8789
+ var restMixin = _this77.client.rest.channelMixin;
8790
+ return restMixin.updateDeleteMessage(_this77, {
8791
+ isDelete: true
8792
+ }, message, operation, params);
8793
+ })();
8794
+ }
8795
+ getMessageVersions(serialOrMessage, params) {
8796
+ var _this78 = this;
8797
+ return _asyncToGenerator(function* () {
8798
+ logger_default.logAction(_this78.logger, logger_default.LOG_MICRO, "RealtimeChannel.getMessageVersions()", "channel = " + _this78.name);
8799
+ var restMixin = _this78.client.rest.channelMixin;
8800
+ return restMixin.getMessageVersions(_this78, serialOrMessage, params);
8679
8801
  })();
8680
8802
  }
8681
8803
  };
@@ -8694,31 +8816,31 @@ var ably = {exports: {}};
8694
8816
  this.subscriptions = new eventemitter_default(this.logger);
8695
8817
  }
8696
8818
  publish(msgOrSerial, annotationValues) {
8697
- var _this69 = this;
8819
+ var _this79 = this;
8698
8820
  return _asyncToGenerator(function* () {
8699
- var channelName = _this69.channel.name;
8821
+ var channelName = _this79.channel.name;
8700
8822
  var annotation = constructValidateAnnotation(msgOrSerial, annotationValues);
8701
8823
  var wireAnnotation = yield annotation.encode();
8702
- _this69.channel.throwIfUnpublishableState();
8703
- logger_default.logAction(_this69.logger, logger_default.LOG_MICRO, "RealtimeAnnotations.publish()", "channelName = " + channelName + ", sending annotation with messageSerial = " + annotation.messageSerial + ", type = " + annotation.type);
8824
+ _this79.channel.throwIfUnpublishableState();
8825
+ logger_default.logAction(_this79.logger, logger_default.LOG_MICRO, "RealtimeAnnotations.publish()", "channelName = " + channelName + ", sending annotation with messageSerial = " + annotation.messageSerial + ", type = " + annotation.type);
8704
8826
  var pm = fromValues({
8705
8827
  action: actions.ANNOTATION,
8706
8828
  channel: channelName,
8707
8829
  annotations: [wireAnnotation]
8708
8830
  });
8709
- return _this69.channel.sendMessage(pm);
8831
+ return _this79.channel.sendMessage(pm);
8710
8832
  })();
8711
8833
  }
8712
8834
  delete(msgOrSerial, annotationValues) {
8713
- var _this70 = this;
8835
+ var _this80 = this;
8714
8836
  return _asyncToGenerator(function* () {
8715
8837
  annotationValues.action = "annotation.delete";
8716
- return _this70.publish(msgOrSerial, annotationValues);
8838
+ return _this80.publish(msgOrSerial, annotationValues);
8717
8839
  })();
8718
8840
  }
8719
8841
  subscribe() {
8720
8842
  var _arguments4 = arguments,
8721
- _this71 = this;
8843
+ _this81 = this;
8722
8844
  return _asyncToGenerator(function* () {
8723
8845
  for (var _len10 = _arguments4.length, _args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
8724
8846
  _args[_key10] = _arguments4[_key10];
@@ -8726,15 +8848,15 @@ var ably = {exports: {}};
8726
8848
  var args = realtimechannel_default.processListenerArgs(_args);
8727
8849
  var event = args[0];
8728
8850
  var listener = args[1];
8729
- var channel = _this71.channel;
8851
+ var channel = _this81.channel;
8730
8852
  if (channel.state === "failed") {
8731
8853
  throw _ErrorInfo2.fromValues(channel.invalidStateError());
8732
8854
  }
8733
- _this71.subscriptions.on(event, listener);
8734
- if (_this71.channel.channelOptions.attachOnSubscribe !== false) {
8855
+ _this81.subscriptions.on(event, listener);
8856
+ if (_this81.channel.channelOptions.attachOnSubscribe !== false) {
8735
8857
  yield channel.attach();
8736
8858
  }
8737
- if ((_this71.channel.state === "attached" && _this71.channel._mode & flags.ANNOTATION_SUBSCRIBE) === 0) {
8859
+ if ((_this81.channel.state === "attached" && _this81.channel._mode & flags.ANNOTATION_SUBSCRIBE) === 0) {
8738
8860
  throw new _ErrorInfo2("You are trying to add an annotation listener, but you haven't requested the annotation_subscribe channel mode in ChannelOptions, so this won't do anything (we only deliver annotations to clients who have explicitly requested them)", 93001, 400);
8739
8861
  }
8740
8862
  })();
@@ -8754,9 +8876,9 @@ var ably = {exports: {}};
8754
8876
  }
8755
8877
  }
8756
8878
  get(msgOrSerial, params) {
8757
- var _this72 = this;
8879
+ var _this82 = this;
8758
8880
  return _asyncToGenerator(function* () {
8759
- return restannotations_default.prototype.get.call(_this72, msgOrSerial, params);
8881
+ return restannotations_default.prototype.get.call(_this82, msgOrSerial, params);
8760
8882
  })();
8761
8883
  }
8762
8884
  };
@@ -10418,23 +10540,23 @@ var ably = {exports: {}};
10418
10540
  }
10419
10541
  }
10420
10542
  processChannelMessage(message) {
10421
- var _this73 = this;
10543
+ var _this83 = this;
10422
10544
  return _asyncToGenerator(function* () {
10423
- yield _this73.realtime.channels.processChannelMessage(message);
10545
+ yield _this83.realtime.channels.processChannelMessage(message);
10424
10546
  })();
10425
10547
  }
10426
10548
  ping() {
10427
- var _this74 = this;
10549
+ var _this84 = this;
10428
10550
  return _asyncToGenerator(function* () {
10429
10551
  var _a2;
10430
- if (_this74.state.state !== "connected") {
10552
+ if (_this84.state.state !== "connected") {
10431
10553
  throw new _ErrorInfo2("Unable to ping service; not connected", 4e4, 400);
10432
10554
  }
10433
- var transport = (_a2 = _this74.activeProtocol) == null ? void 0 : _a2.getTransport();
10555
+ var transport = (_a2 = _this84.activeProtocol) == null ? void 0 : _a2.getTransport();
10434
10556
  if (!transport) {
10435
- throw _this74.getStateError();
10557
+ throw _this84.getStateError();
10436
10558
  }
10437
- logger_default.logAction(_this74.logger, logger_default.LOG_MINOR, "ConnectionManager.ping()", "transport = " + transport);
10559
+ logger_default.logAction(_this84.logger, logger_default.LOG_MINOR, "ConnectionManager.ping()", "transport = " + transport);
10438
10560
  var pingStart = Date.now();
10439
10561
  var id = _cheapRandStr();
10440
10562
  return _withTimeoutAsync(new Promise(resolve => {
@@ -10446,7 +10568,7 @@ var ably = {exports: {}};
10446
10568
  };
10447
10569
  transport.on("heartbeat", onHeartbeat);
10448
10570
  transport.ping(id);
10449
- }), _this74.options.timeouts.realtimeRequestTimeout, "Timeout waiting for heartbeat response");
10571
+ }), _this84.options.timeouts.realtimeRequestTimeout, "Timeout waiting for heartbeat response");
10450
10572
  })();
10451
10573
  }
10452
10574
  abort(error) {
@@ -10595,10 +10717,10 @@ var ably = {exports: {}};
10595
10717
  });
10596
10718
  }
10597
10719
  ping() {
10598
- var _this75 = this;
10720
+ var _this85 = this;
10599
10721
  return _asyncToGenerator(function* () {
10600
- logger_default.logAction(_this75.logger, logger_default.LOG_MINOR, "Connection.ping()", "");
10601
- return _this75.connectionManager.ping();
10722
+ logger_default.logAction(_this85.logger, logger_default.LOG_MINOR, "Connection.ping()", "");
10723
+ return _this85.connectionManager.ping();
10602
10724
  })();
10603
10725
  }
10604
10726
  close() {
@@ -10654,6 +10776,9 @@ var ably = {exports: {}};
10654
10776
  get channels() {
10655
10777
  return this._channels;
10656
10778
  }
10779
+ get clientId() {
10780
+ return this.auth.clientId;
10781
+ }
10657
10782
  connect() {
10658
10783
  logger_default.logAction(this.logger, logger_default.LOG_MINOR, "Realtime.connect()", "");
10659
10784
  this.connection.connect();
@@ -10694,16 +10819,16 @@ var ably = {exports: {}};
10694
10819
  }
10695
10820
  // Access to this method is synchronised by ConnectionManager#processChannelMessage.
10696
10821
  processChannelMessage(msg) {
10697
- var _this76 = this;
10822
+ var _this86 = this;
10698
10823
  return _asyncToGenerator(function* () {
10699
10824
  var channelName = msg.channel;
10700
10825
  if (channelName === void 0) {
10701
- logger_default.logAction(_this76.logger, logger_default.LOG_ERROR, "Channels.processChannelMessage()", "received event unspecified channel, action = " + msg.action);
10826
+ logger_default.logAction(_this86.logger, logger_default.LOG_ERROR, "Channels.processChannelMessage()", "received event unspecified channel, action = " + msg.action);
10702
10827
  return;
10703
10828
  }
10704
- var channel = _this76.all[channelName];
10829
+ var channel = _this86.all[channelName];
10705
10830
  if (!channel) {
10706
- logger_default.logAction(_this76.logger, logger_default.LOG_ERROR, "Channels.processChannelMessage()", "received event for non-existent channel: " + channelName);
10831
+ logger_default.logAction(_this86.logger, logger_default.LOG_ERROR, "Channels.processChannelMessage()", "received event for non-existent channel: " + channelName);
10707
10832
  return;
10708
10833
  }
10709
10834
  yield channel.processMessage(msg);
@@ -10958,43 +11083,43 @@ var ably = {exports: {}};
10958
11083
  this.pendingPresence = [];
10959
11084
  }
10960
11085
  enter(data) {
10961
- var _this77 = this;
11086
+ var _this87 = this;
10962
11087
  return _asyncToGenerator(function* () {
10963
- if (isAnonymousOrWildcard(_this77)) {
11088
+ if (isAnonymousOrWildcard(_this87)) {
10964
11089
  throw new _ErrorInfo2("clientId must be specified to enter a presence channel", 40012, 400);
10965
11090
  }
10966
- return _this77._enterOrUpdateClient(void 0, void 0, data, "enter");
11091
+ return _this87._enterOrUpdateClient(void 0, void 0, data, "enter");
10967
11092
  })();
10968
11093
  }
10969
11094
  update(data) {
10970
- var _this78 = this;
11095
+ var _this88 = this;
10971
11096
  return _asyncToGenerator(function* () {
10972
- if (isAnonymousOrWildcard(_this78)) {
11097
+ if (isAnonymousOrWildcard(_this88)) {
10973
11098
  throw new _ErrorInfo2("clientId must be specified to update presence data", 40012, 400);
10974
11099
  }
10975
- return _this78._enterOrUpdateClient(void 0, void 0, data, "update");
11100
+ return _this88._enterOrUpdateClient(void 0, void 0, data, "update");
10976
11101
  })();
10977
11102
  }
10978
11103
  enterClient(clientId, data) {
10979
- var _this79 = this;
11104
+ var _this89 = this;
10980
11105
  return _asyncToGenerator(function* () {
10981
- return _this79._enterOrUpdateClient(void 0, clientId, data, "enter");
11106
+ return _this89._enterOrUpdateClient(void 0, clientId, data, "enter");
10982
11107
  })();
10983
11108
  }
10984
11109
  updateClient(clientId, data) {
10985
- var _this80 = this;
11110
+ var _this90 = this;
10986
11111
  return _asyncToGenerator(function* () {
10987
- return _this80._enterOrUpdateClient(void 0, clientId, data, "update");
11112
+ return _this90._enterOrUpdateClient(void 0, clientId, data, "update");
10988
11113
  })();
10989
11114
  }
10990
11115
  _enterOrUpdateClient(id, clientId, data, action) {
10991
- var _this81 = this;
11116
+ var _this91 = this;
10992
11117
  return _asyncToGenerator(function* () {
10993
- var channel = _this81.channel;
11118
+ var channel = _this91.channel;
10994
11119
  if (!channel.connectionManager.activeState()) {
10995
11120
  throw channel.connectionManager.getError();
10996
11121
  }
10997
- logger_default.logAction(_this81.logger, logger_default.LOG_MICRO, "RealtimePresence." + action + "Client()", "channel = " + channel.name + ", id = " + id + ", client = " + (clientId || "(implicit) " + getClientId(_this81)));
11122
+ logger_default.logAction(_this91.logger, logger_default.LOG_MICRO, "RealtimePresence." + action + "Client()", "channel = " + channel.name + ", id = " + id + ", client = " + (clientId || "(implicit) " + getClientId(_this91)));
10998
11123
  var presence = presencemessage_default.fromData(data);
10999
11124
  presence.action = action;
11000
11125
  if (id) {
@@ -11012,7 +11137,7 @@ var ably = {exports: {}};
11012
11137
  channel.attach();
11013
11138
  case "attaching":
11014
11139
  return new Promise((resolve, reject) => {
11015
- _this81.pendingPresence.push({
11140
+ _this91.pendingPresence.push({
11016
11141
  presence: wirePresMsg,
11017
11142
  callback: err => err ? reject(err) : resolve()
11018
11143
  });
@@ -11027,22 +11152,22 @@ var ably = {exports: {}};
11027
11152
  })();
11028
11153
  }
11029
11154
  leave(data) {
11030
- var _this82 = this;
11155
+ var _this92 = this;
11031
11156
  return _asyncToGenerator(function* () {
11032
- if (isAnonymousOrWildcard(_this82)) {
11157
+ if (isAnonymousOrWildcard(_this92)) {
11033
11158
  throw new _ErrorInfo2("clientId must have been specified to enter or leave a presence channel", 40012, 400);
11034
11159
  }
11035
- return _this82.leaveClient(void 0, data);
11160
+ return _this92.leaveClient(void 0, data);
11036
11161
  })();
11037
11162
  }
11038
11163
  leaveClient(clientId, data) {
11039
- var _this83 = this;
11164
+ var _this93 = this;
11040
11165
  return _asyncToGenerator(function* () {
11041
- var channel = _this83.channel;
11166
+ var channel = _this93.channel;
11042
11167
  if (!channel.connectionManager.activeState()) {
11043
11168
  throw channel.connectionManager.getError();
11044
11169
  }
11045
- logger_default.logAction(_this83.logger, logger_default.LOG_MICRO, "RealtimePresence.leaveClient()", "leaving; channel = " + _this83.channel.name + ", client = " + clientId);
11170
+ logger_default.logAction(_this93.logger, logger_default.LOG_MICRO, "RealtimePresence.leaveClient()", "leaving; channel = " + _this93.channel.name + ", client = " + clientId);
11046
11171
  var presence = presencemessage_default.fromData(data);
11047
11172
  presence.action = "leave";
11048
11173
  if (clientId) {
@@ -11054,7 +11179,7 @@ var ably = {exports: {}};
11054
11179
  return channel.sendPresence([wirePresMsg]);
11055
11180
  case "attaching":
11056
11181
  return new Promise((resolve, reject) => {
11057
- _this83.pendingPresence.push({
11182
+ _this93.pendingPresence.push({
11058
11183
  presence: wirePresMsg,
11059
11184
  callback: err => err ? reject(err) : resolve()
11060
11185
  });
@@ -11070,14 +11195,14 @@ var ably = {exports: {}};
11070
11195
  })();
11071
11196
  }
11072
11197
  get(params) {
11073
- var _this84 = this;
11198
+ var _this94 = this;
11074
11199
  return _asyncToGenerator(function* () {
11075
11200
  var waitForSync = !params || ("waitForSync" in params ? params.waitForSync : true);
11076
11201
  return new Promise((resolve, reject) => {
11077
11202
  function returnMembers(members) {
11078
11203
  resolve(params ? members.list(params) : members.values());
11079
11204
  }
11080
- if (_this84.channel.state === "suspended") {
11205
+ if (_this94.channel.state === "suspended") {
11081
11206
  if (waitForSync) {
11082
11207
  reject(_ErrorInfo2.fromValues({
11083
11208
  statusCode: 400,
@@ -11085,12 +11210,12 @@ var ably = {exports: {}};
11085
11210
  message: "Presence state is out of sync due to channel being in the SUSPENDED state"
11086
11211
  }));
11087
11212
  } else {
11088
- returnMembers(_this84.members);
11213
+ returnMembers(_this94.members);
11089
11214
  }
11090
11215
  return;
11091
11216
  }
11092
- waitAttached(_this84.channel, err => reject(err), () => {
11093
- var members = _this84.members;
11217
+ waitAttached(_this94.channel, err => reject(err), () => {
11218
+ var members = _this94.members;
11094
11219
  if (waitForSync) {
11095
11220
  members.waitSync(function () {
11096
11221
  returnMembers(members);
@@ -11103,19 +11228,19 @@ var ably = {exports: {}};
11103
11228
  })();
11104
11229
  }
11105
11230
  history(params) {
11106
- var _this85 = this;
11231
+ var _this95 = this;
11107
11232
  return _asyncToGenerator(function* () {
11108
- logger_default.logAction(_this85.logger, logger_default.LOG_MICRO, "RealtimePresence.history()", "channel = " + _this85.name);
11109
- var restMixin = _this85.channel.client.rest.presenceMixin;
11233
+ logger_default.logAction(_this95.logger, logger_default.LOG_MICRO, "RealtimePresence.history()", "channel = " + _this95.name);
11234
+ var restMixin = _this95.channel.client.rest.presenceMixin;
11110
11235
  if (params && params.untilAttach) {
11111
- if (_this85.channel.state === "attached") {
11236
+ if (_this95.channel.state === "attached") {
11112
11237
  delete params.untilAttach;
11113
- params.from_serial = _this85.channel.properties.attachSerial;
11238
+ params.from_serial = _this95.channel.properties.attachSerial;
11114
11239
  } else {
11115
- throw new _ErrorInfo2("option untilAttach requires the channel to be attached, was: " + _this85.channel.state, 4e4, 400);
11240
+ throw new _ErrorInfo2("option untilAttach requires the channel to be attached, was: " + _this95.channel.state, 4e4, 400);
11116
11241
  }
11117
11242
  }
11118
- return restMixin.history(_this85, params);
11243
+ return restMixin.history(_this95, params);
11119
11244
  })();
11120
11245
  }
11121
11246
  setPresence(presenceSet, isSync, syncChannelSerial) {
@@ -11243,7 +11368,7 @@ var ably = {exports: {}};
11243
11368
  }
11244
11369
  subscribe() {
11245
11370
  var _arguments5 = arguments,
11246
- _this86 = this;
11371
+ _this96 = this;
11247
11372
  return _asyncToGenerator(function* () {
11248
11373
  for (var _len12 = _arguments5.length, _args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
11249
11374
  _args[_key12] = _arguments5[_key12];
@@ -11251,11 +11376,11 @@ var ably = {exports: {}};
11251
11376
  var args = realtimechannel_default.processListenerArgs(_args);
11252
11377
  var event = args[0];
11253
11378
  var listener = args[1];
11254
- var channel = _this86.channel;
11379
+ var channel = _this96.channel;
11255
11380
  if (channel.state === "failed") {
11256
11381
  throw _ErrorInfo2.fromValues(channel.invalidStateError());
11257
11382
  }
11258
- _this86.subscriptions.on(event, listener);
11383
+ _this96.subscriptions.on(event, listener);
11259
11384
  if (channel.channelOptions.attachOnSubscribe !== false) {
11260
11385
  yield channel.attach();
11261
11386
  }
@@ -11427,8 +11552,8 @@ var ably = {exports: {}};
11427
11552
  isRef: !!((_f = (_e = m.extras) == null ? void 0 : _e.ref) == null ? void 0 : _f.timeserial),
11428
11553
  clientId: m.clientId
11429
11554
  };
11430
- if (Object.entries(filter).find(_ref10 => {
11431
- var [key, value] = _ref10;
11555
+ if (Object.entries(filter).find(_ref12 => {
11556
+ var [key, value] = _ref12;
11432
11557
  return value !== void 0 ? mapping[key] !== value : false;
11433
11558
  })) {
11434
11559
  return;
@@ -11456,8 +11581,8 @@ var ably = {exports: {}};
11456
11581
  return [];
11457
11582
  }
11458
11583
  if (!realListener && filter) {
11459
- return Array.from(channel.filteredSubscriptions.entries()).map(_ref11 => {
11460
- var [key, filterMaps] = _ref11;
11584
+ return Array.from(channel.filteredSubscriptions.entries()).map(_ref13 => {
11585
+ var [key, filterMaps] = _ref13;
11461
11586
  var _a2;
11462
11587
  var listenerMaps = filterMaps.get(filter);
11463
11588
  filterMaps.delete(filter);
@@ -11929,38 +12054,38 @@ var ably = {exports: {}};
11929
12054
  return output;
11930
12055
  }
11931
12056
  encrypt(plaintext) {
11932
- var _this87 = this;
12057
+ var _this97 = this;
11933
12058
  return _asyncToGenerator(function* () {
11934
- logger_default.logAction(_this87.logger, logger_default.LOG_MICRO, "CBCCipher.encrypt()", "");
11935
- var iv = yield _this87.getIv();
11936
- var cryptoKey = yield crypto.subtle.importKey("raw", _this87.key, _this87.webCryptoAlgorithm, false, ["encrypt"]);
12059
+ logger_default.logAction(_this97.logger, logger_default.LOG_MICRO, "CBCCipher.encrypt()", "");
12060
+ var iv = yield _this97.getIv();
12061
+ var cryptoKey = yield crypto.subtle.importKey("raw", _this97.key, _this97.webCryptoAlgorithm, false, ["encrypt"]);
11937
12062
  var ciphertext = yield crypto.subtle.encrypt({
11938
- name: _this87.webCryptoAlgorithm,
12063
+ name: _this97.webCryptoAlgorithm,
11939
12064
  iv
11940
12065
  }, cryptoKey, plaintext);
11941
- return _this87.concat(iv, ciphertext);
12066
+ return _this97.concat(iv, ciphertext);
11942
12067
  })();
11943
12068
  }
11944
12069
  decrypt(ciphertext) {
11945
- var _this88 = this;
12070
+ var _this98 = this;
11946
12071
  return _asyncToGenerator(function* () {
11947
- logger_default.logAction(_this88.logger, logger_default.LOG_MICRO, "CBCCipher.decrypt()", "");
12072
+ logger_default.logAction(_this98.logger, logger_default.LOG_MICRO, "CBCCipher.decrypt()", "");
11948
12073
  var ciphertextArrayBuffer = bufferUtils.toArrayBuffer(ciphertext);
11949
12074
  var iv = ciphertextArrayBuffer.slice(0, DEFAULT_BLOCKLENGTH);
11950
12075
  var ciphertextBody = ciphertextArrayBuffer.slice(DEFAULT_BLOCKLENGTH);
11951
- var cryptoKey = yield crypto.subtle.importKey("raw", _this88.key, _this88.webCryptoAlgorithm, false, ["decrypt"]);
12076
+ var cryptoKey = yield crypto.subtle.importKey("raw", _this98.key, _this98.webCryptoAlgorithm, false, ["decrypt"]);
11952
12077
  return crypto.subtle.decrypt({
11953
- name: _this88.webCryptoAlgorithm,
12078
+ name: _this98.webCryptoAlgorithm,
11954
12079
  iv
11955
12080
  }, cryptoKey, ciphertextBody);
11956
12081
  })();
11957
12082
  }
11958
12083
  getIv() {
11959
- var _this89 = this;
12084
+ var _this99 = this;
11960
12085
  return _asyncToGenerator(function* () {
11961
- if (_this89.iv) {
11962
- var iv = _this89.iv;
11963
- _this89.iv = null;
12086
+ if (_this99.iv) {
12087
+ var iv = _this99.iv;
12088
+ _this99.iv = null;
11964
12089
  return iv;
11965
12090
  }
11966
12091
  var randomBlock = yield config.getRandomArrayBuffer(DEFAULT_BLOCKLENGTH);
@@ -12007,7 +12132,7 @@ var ably = {exports: {}};
12007
12132
  if (Platform.Config.xhrSupported && xhrRequestImplementation) {
12008
12133
  this.supportsAuthHeaders = true;
12009
12134
  this.Request = /*#__PURE__*/function () {
12010
- var _ref12 = _asyncToGenerator(function* (method, uri, headers, params, body) {
12135
+ var _ref14 = _asyncToGenerator(function* (method, uri, headers, params, body) {
12011
12136
  return new Promise(resolve => {
12012
12137
  var _a3;
12013
12138
  var req = xhrRequestImplementation.createRequest(uri, headers, params, body, XHRStates_default.REQ_SEND, (_a3 = client && client.options.timeouts) != null ? _a3 : null, this.logger, method);
@@ -12021,8 +12146,8 @@ var ably = {exports: {}};
12021
12146
  req.exec();
12022
12147
  });
12023
12148
  });
12024
- return function (_x82, _x83, _x84, _x85, _x86) {
12025
- return _ref12.apply(this, arguments);
12149
+ return function (_x88, _x89, _x90, _x91, _x92) {
12150
+ return _ref14.apply(this, arguments);
12026
12151
  };
12027
12152
  }();
12028
12153
  if (client == null ? void 0 : client.options.disableConnectivityCheck) {
@@ -12047,11 +12172,11 @@ var ably = {exports: {}};
12047
12172
  } else if (Platform.Config.fetchSupported && fetchRequestImplementation) {
12048
12173
  this.supportsAuthHeaders = true;
12049
12174
  this.Request = /*#__PURE__*/function () {
12050
- var _ref15 = _asyncToGenerator(function* (method, uri, headers, params, body) {
12175
+ var _ref17 = _asyncToGenerator(function* (method, uri, headers, params, body) {
12051
12176
  return fetchRequestImplementation(method, client != null ? client : null, uri, headers, params, body);
12052
12177
  });
12053
- return function (_x87, _x88, _x89, _x90, _x91) {
12054
- return _ref15.apply(this, arguments);
12178
+ return function (_x93, _x94, _x95, _x96, _x97) {
12179
+ return _ref17.apply(this, arguments);
12055
12180
  };
12056
12181
  }();
12057
12182
  if (client == null ? void 0 : client.options.disableConnectivityCheck) {
@@ -12082,14 +12207,14 @@ var ably = {exports: {}};
12082
12207
  return (_b = (_a2 = this.client) == null ? void 0 : _a2.logger) != null ? _b : logger_default.defaultLogger;
12083
12208
  }
12084
12209
  doUri(method, uri, headers, body, params) {
12085
- var _this90 = this;
12210
+ var _this100 = this;
12086
12211
  return _asyncToGenerator(function* () {
12087
- if (!_this90.Request) {
12212
+ if (!_this100.Request) {
12088
12213
  return {
12089
12214
  error: new PartialErrorInfo("Request invoked before assigned to", null, 500)
12090
12215
  };
12091
12216
  }
12092
- return _this90.Request(method, uri, headers, params, body);
12217
+ return _this100.Request(method, uri, headers, params, body);
12093
12218
  })();
12094
12219
  }
12095
12220
  shouldFallback(errorInfo) {
@@ -12219,7 +12344,7 @@ var ably = {exports: {}};
12219
12344
  globalObject4.crypto.getRandomValues(byteArray);
12220
12345
  return byteArray.buffer;
12221
12346
  });
12222
- function getRandomArrayBuffer(_x92) {
12347
+ function getRandomArrayBuffer(_x98) {
12223
12348
  return _getRandomArrayBuffer.apply(this, arguments);
12224
12349
  }
12225
12350
  return getRandomArrayBuffer;
@@ -13364,7 +13489,7 @@ var ably = {exports: {}};
13364
13489
  });
13365
13490
  return result;
13366
13491
  }
13367
- function fetchRequest(_x93, _x94, _x95, _x96, _x97, _x98) {
13492
+ function fetchRequest(_x99, _x100, _x101, _x102, _x103, _x104) {
13368
13493
  return _fetchRequest.apply(this, arguments);
13369
13494
  } // src/platform/web/lib/http/request/index.ts
13370
13495
  function _fetchRequest() {
@@ -13513,10 +13638,19 @@ class ClientAblyService {
13513
13638
  token: ablyToken,
13514
13639
  autoConnect: true
13515
13640
  });
13641
+ _this.client.connection.on('failed', stateChange => {
13642
+ var _a;
13643
+ console.error('[AblyService] Connection state: failed', {
13644
+ reason: (_a = stateChange.reason) === null || _a === void 0 ? void 0 : _a.message,
13645
+ error: stateChange.reason
13646
+ });
13647
+ });
13516
13648
  // Wait for connection to be established
13517
13649
  yield new Promise((resolve, reject) => {
13518
13650
  if (!_this.client) {
13519
- reject(new Error('Failed to initialize Ably client'));
13651
+ var error = new Error('Failed to initialize Ably client');
13652
+ console.error('[AblyService]', error);
13653
+ reject(error);
13520
13654
  return;
13521
13655
  }
13522
13656
  _this.client.connection.once('connected', () => {
@@ -13525,23 +13659,38 @@ class ClientAblyService {
13525
13659
  resolve();
13526
13660
  });
13527
13661
  _this.client.connection.once('failed', stateChange => {
13528
- var _a;
13529
- reject(new Error("Ably connection failed: ".concat(((_a = stateChange.reason) === null || _a === void 0 ? void 0 : _a.message) || 'Unknown error')));
13662
+ var _a, _b;
13663
+ var error = new Error("Ably connection failed: ".concat(((_a = stateChange.reason) === null || _a === void 0 ? void 0 : _a.message) || 'Unknown error'));
13664
+ console.error('[AblyService] Connection failed', {
13665
+ reason: (_b = stateChange.reason) === null || _b === void 0 ? void 0 : _b.message,
13666
+ error: stateChange.reason
13667
+ });
13668
+ reject(error);
13530
13669
  });
13531
13670
  _this.client.connection.once('disconnected', stateChange => {
13532
- var _a;
13533
- reject(new Error("Ably connection disconnected: ".concat(((_a = stateChange.reason) === null || _a === void 0 ? void 0 : _a.message) || 'Unknown error')));
13671
+ var _a, _b;
13672
+ var error = new Error("Ably connection disconnected: ".concat(((_a = stateChange.reason) === null || _a === void 0 ? void 0 : _a.message) || 'Unknown error'));
13673
+ console.error('[AblyService] Connection disconnected', {
13674
+ reason: (_b = stateChange.reason) === null || _b === void 0 ? void 0 : _b.message
13675
+ });
13676
+ reject(error);
13534
13677
  });
13535
13678
  // Set a timeout for connection
13536
13679
  setTimeout(() => {
13537
13680
  if (!_this.isConnected) {
13538
- reject(new Error('Ably connection timeout'));
13681
+ var _error = new Error('Ably connection timeout');
13682
+ console.error('[AblyService] Connection timeout after 10 seconds');
13683
+ reject(_error);
13539
13684
  }
13540
13685
  }, 10000);
13541
13686
  });
13542
13687
  // Subscribe to the session room
13543
13688
  yield _this.joinChannel(sessionId, onMessageReceived, tenantId);
13544
13689
  } catch (error) {
13690
+ console.error('[AblyService] Error in startConnection', {
13691
+ error,
13692
+ sessionId
13693
+ });
13545
13694
  _this.isConnected = false;
13546
13695
  _this.sessionId = null;
13547
13696
  throw error;
@@ -13552,23 +13701,53 @@ class ClientAblyService {
13552
13701
  var _this2 = this;
13553
13702
  return _asyncToGenerator(function* () {
13554
13703
  if (!_this2.client) {
13555
- throw new Error('Chat client not initialized');
13704
+ var error = new Error('Chat client not initialized');
13705
+ console.error('[AblyService] joinChannel error:', error);
13706
+ throw error;
13556
13707
  }
13557
13708
  var roomName = "session:".concat(tenantId, ":").concat(sessionId);
13558
13709
  // Set up raw channel subscription for server messages
13559
13710
  if (_this2.client) {
13560
13711
  _this2.channel = _this2.client.channels.get(roomName);
13712
+ _this2.channel.on('failed', stateChange => {
13713
+ var _a;
13714
+ console.error('[AblyService] Channel failed', {
13715
+ roomName,
13716
+ reason: (_a = stateChange.reason) === null || _a === void 0 ? void 0 : _a.message,
13717
+ error: stateChange.reason
13718
+ });
13719
+ });
13561
13720
  // Subscribe to assistant/system responses
13562
13721
  _this2.channel.subscribe('ReceiveMessage', message => {
13563
- var _a, _b, _c, _d, _e;
13722
+ var _a, _b, _c, _d, _e, _f, _g, _h;
13564
13723
  try {
13565
- var messageContent = typeof message.data === 'string' ? message.data : ((_a = message.data) === null || _a === void 0 ? void 0 : _a.content) || ((_b = message.data) === null || _b === void 0 ? void 0 : _b.message);
13566
- var senderType = ((_c = message.data) === null || _c === void 0 ? void 0 : _c.senderType) || 3; // Assistant
13567
- var needsAgent = ((_d = message.data) === null || _d === void 0 ? void 0 : _d.needsAgent) || false;
13568
- var attachments = ((_e = message.data) === null || _e === void 0 ? void 0 : _e.attachments) || [];
13569
- onMessageReceived(messageContent, senderType, needsAgent, attachments);
13724
+ // Ensure messageContent is always a string (default to empty string if undefined)
13725
+ var messageContent = typeof message.data === 'string' ? message.data : (_d = (_b = (_a = message.data) === null || _a === void 0 ? void 0 : _a.content) !== null && _b !== void 0 ? _b : (_c = message.data) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : '';
13726
+ var senderType = ((_e = message.data) === null || _e === void 0 ? void 0 : _e.senderType) || 3; // Assistant
13727
+ var needsAgent = ((_f = message.data) === null || _f === void 0 ? void 0 : _f.needsAgent) || ((_g = message.data) === null || _g === void 0 ? void 0 : _g.actionType) == 'needs_agent' || false;
13728
+ var attachments = ((_h = message.data) === null || _h === void 0 ? void 0 : _h.attachments) || [];
13729
+ // Extract downloadUrl from attachments (Ably now returns downloadUrl directly)
13730
+ // Attachments can be: strings (URLs), objects with downloadUrl, or objects with id
13731
+ var attachmentUrls = attachments.map(attachment => {
13732
+ if (typeof attachment === 'string') {
13733
+ // If it's already a string, it's a URL
13734
+ return attachment;
13735
+ } else if (attachment === null || attachment === void 0 ? void 0 : attachment.downloadUrl) {
13736
+ // If it's an object with downloadUrl, use that
13737
+ return attachment.downloadUrl;
13738
+ } else if (attachment === null || attachment === void 0 ? void 0 : attachment.url) {
13739
+ // Fallback to url property
13740
+ return attachment.url;
13741
+ }
13742
+ // If it's an object with id, we'll need to keep it for backward compatibility
13743
+ return null;
13744
+ }).filter(url => url !== null);
13745
+ onMessageReceived(messageContent, senderType, needsAgent, attachmentUrls);
13570
13746
  } catch (error) {
13571
- // Handle error silently
13747
+ console.error('[AblyService] Error processing message', {
13748
+ error,
13749
+ message
13750
+ });
13572
13751
  }
13573
13752
  });
13574
13753
  yield _this2.channel.attach();
@@ -13598,6 +13777,9 @@ class ClientAblyService {
13598
13777
  _this3.isConnected = false;
13599
13778
  _this3.sessionId = null;
13600
13779
  } catch (error) {
13780
+ console.error('[AblyService] Error in stopConnection', {
13781
+ error
13782
+ });
13601
13783
  // Reset state even if there's an error
13602
13784
  _this3.isConnected = false;
13603
13785
  _this3.sessionId = null;