@microsoft/applicationinsights-channel-js 3.1.3-nightly3.240403-01 → 3.1.3-nightly3.240412-01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.js → applicationinsights-channel-js.3.1.3-nightly3.240412-01.cjs.js} +178 -77
  2. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.cjs.js.map → applicationinsights-channel-js.3.1.3-nightly3.240412-01.cjs.js.map} +1 -1
  3. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.cjs.min.js → applicationinsights-channel-js.3.1.3-nightly3.240412-01.cjs.min.js} +3 -3
  4. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.cjs.min.js.map → applicationinsights-channel-js.3.1.3-nightly3.240412-01.cjs.min.js.map} +1 -1
  5. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.gbl.js → applicationinsights-channel-js.3.1.3-nightly3.240412-01.gbl.js} +180 -52
  6. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.gbl.js.map → applicationinsights-channel-js.3.1.3-nightly3.240412-01.gbl.js.map} +1 -1
  7. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240412-01.gbl.min.js +6 -0
  8. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.gbl.min.js.map → applicationinsights-channel-js.3.1.3-nightly3.240412-01.gbl.min.js.map} +1 -1
  9. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240412-01.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.cjs.js → applicationinsights-channel-js.3.1.3-nightly3.240412-01.js} +205 -50
  11. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.js.map → applicationinsights-channel-js.3.1.3-nightly3.240412-01.js.map} +1 -1
  12. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240412-01.min.js +6 -0
  13. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240403-01.min.js.map → applicationinsights-channel-js.3.1.3-nightly3.240412-01.min.js.map} +1 -1
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +177 -49
  15. package/browser/es5/applicationinsights-channel-js.3.cjs.js.map +1 -1
  16. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js +2 -2
  17. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js.map +1 -1
  18. package/browser/es5/applicationinsights-channel-js.3.gbl.js +179 -51
  19. package/browser/es5/applicationinsights-channel-js.3.gbl.js.map +1 -1
  20. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js +2 -2
  21. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js.map +1 -1
  22. package/browser/es5/applicationinsights-channel-js.3.integrity.json +25 -25
  23. package/browser/es5/applicationinsights-channel-js.3.js +179 -51
  24. package/browser/es5/applicationinsights-channel-js.3.js.map +1 -1
  25. package/browser/es5/applicationinsights-channel-js.3.min.js +2 -2
  26. package/browser/es5/applicationinsights-channel-js.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-channel-js.js +177 -49
  28. package/dist/es5/applicationinsights-channel-js.js.map +1 -1
  29. package/dist/es5/applicationinsights-channel-js.min.js +2 -2
  30. package/dist/es5/applicationinsights-channel-js.min.js.map +1 -1
  31. package/dist-es5/EnvelopeCreator.js +2 -2
  32. package/dist-es5/EnvelopeCreator.js.map +1 -1
  33. package/dist-es5/Interfaces.js +1 -1
  34. package/dist-es5/InternalConstants.js +1 -1
  35. package/dist-es5/SendBuffer.js +98 -19
  36. package/dist-es5/SendBuffer.js.map +1 -1
  37. package/dist-es5/Sender.js +94 -35
  38. package/dist-es5/Sender.js.map +1 -1
  39. package/dist-es5/Serializer.js +1 -1
  40. package/dist-es5/TelemetryProcessors/Sample.js +1 -1
  41. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +3 -3
  42. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js.map +1 -1
  43. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  44. package/dist-es5/__DynamicConstants.js +6 -4
  45. package/dist-es5/__DynamicConstants.js.map +1 -1
  46. package/dist-es5/applicationinsights-channel-js.js +1 -1
  47. package/package.json +3 -3
  48. package/types/applicationinsights-channel-js.d.ts +59 -22
  49. package/types/applicationinsights-channel-js.namespaced.d.ts +59 -22
  50. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240403-01.gbl.min.js +0 -6
  51. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240403-01.integrity.json +0 -66
  52. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240403-01.min.js +0 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.1.3-nightly3.240403-01
2
+ * Application Insights JavaScript SDK - Channel, 3.1.3-nightly3.240412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -4459,6 +4459,20 @@ function utlSetSessionStorage(logger, name, data) {
4459
4459
  }
4460
4460
  return false;
4461
4461
  }
4462
+ function utlRemoveSessionStorage(logger, name) {
4463
+ var storage = _getSessionStorageObject();
4464
+ if (storage !== null) {
4465
+ try {
4466
+ storage[_DYN_REMOVE_ITEM ](name);
4467
+ return true;
4468
+ }
4469
+ catch (e) {
4470
+ _canUseSessionStorage = false;
4471
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
4472
+ }
4473
+ }
4474
+ return false;
4475
+ }
4462
4476
 
4463
4477
  var Envelope = /** @class */ (function () {
4464
4478
  function Envelope(logger, data, name) {
@@ -5399,6 +5413,7 @@ var _DYN_ENQUEUE = "enqueue";
5399
5413
  var _DYN_COUNT = "count";
5400
5414
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
5401
5415
  var _DYN_PUSH = "push";
5416
+ var _DYN_ITEM = "item";
5402
5417
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
5403
5418
  var _DYN_CLEAR = "clear";
5404
5419
  var _DYN_CREATE_NEW = "createNew";
@@ -5407,6 +5422,7 @@ var _DYN_CLEAR_SENT = "clearSent";
5407
5422
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
5408
5423
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
5409
5424
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
5425
+ var _DYN_CONCAT = "concat";
5410
5426
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
5411
5427
  var _DYN_TRIGGER_SEND = "triggerSend";
5412
5428
  var _DYN_DIAG_LOG = "diagLog";
@@ -5432,8 +5448,8 @@ var _DYN_SERIALIZE = "serialize";
5432
5448
  var _DYN__ON_ERROR = "_onError";
5433
5449
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
5434
5450
  var _DYN__ON_SUCCESS = "_onSuccess";
5435
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5436
5451
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5452
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5437
5453
  var _DYN_ORI_PAYLOAD = "oriPayload";
5438
5454
  var _DYN_BASE_TYPE = "baseType";
5439
5455
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -5551,7 +5567,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
5551
5567
  }
5552
5568
  }
5553
5569
  var EnvelopeCreator = {
5554
- Version: '3.1.3-nightly3.240403-01'
5570
+ Version: '3.1.3-nightly3.240412-01'
5555
5571
  };
5556
5572
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
5557
5573
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5704,6 +5720,7 @@ var BaseSendBuffer = /** @class */ (function () {
5704
5720
  function BaseSendBuffer(logger, config) {
5705
5721
  var _buffer = [];
5706
5722
  var _bufferFullMessageSent = false;
5723
+ var _maxRetryCnt = config.maxRetryCnt;
5707
5724
  this[_DYN__GET ] = function () {
5708
5725
  return _buffer;
5709
5726
  };
@@ -5720,7 +5737,14 @@ var BaseSendBuffer = /** @class */ (function () {
5720
5737
  }
5721
5738
  return;
5722
5739
  }
5740
+ payload.cnt = payload.cnt || 0;
5741
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5742
+ if (payload.cnt > _maxRetryCnt) {
5743
+ return;
5744
+ }
5745
+ }
5723
5746
  _buffer[_DYN_PUSH ](payload);
5747
+ return;
5724
5748
  };
5725
5749
  _self[_DYN_COUNT ] = function () {
5726
5750
  return _buffer[_DYN_LENGTH ];
@@ -5728,7 +5752,7 @@ var BaseSendBuffer = /** @class */ (function () {
5728
5752
  _self.size = function () {
5729
5753
  var size = _buffer[_DYN_LENGTH ];
5730
5754
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
5731
- size += _buffer[lp][_DYN_LENGTH ];
5755
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
5732
5756
  }
5733
5757
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
5734
5758
  size += 2;
@@ -5742,11 +5766,15 @@ var BaseSendBuffer = /** @class */ (function () {
5742
5766
  _self.getItems = function () {
5743
5767
  return _buffer.slice(0);
5744
5768
  };
5745
- _self.batchPayloads = function (payload) {
5746
- if (payload && payload[_DYN_LENGTH ] > 0) {
5769
+ _self.batchPayloads = function (payloads) {
5770
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
5771
+ var payloadStr_1 = [];
5772
+ arrForEach(payloads, function (payload) {
5773
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
5774
+ });
5747
5775
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5748
- payload.join("\n") :
5749
- "[" + payload.join(",") + "]";
5776
+ payloadStr_1.join("\n") :
5777
+ "[" + payloadStr_1.join(",") + "]";
5750
5778
  return batch;
5751
5779
  }
5752
5780
  return null;
@@ -5782,17 +5810,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
5782
5810
  ArraySendBuffer.__ieDyn=1;
5783
5811
  return ArraySendBuffer;
5784
5812
  }(BaseSendBuffer));
5813
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
5785
5814
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
5786
5815
  __extendsFn(SessionStorageSendBuffer, _super);
5787
5816
  function SessionStorageSendBuffer(logger, config) {
5788
5817
  var _this = _super.call(this, logger, config) || this;
5789
5818
  var _bufferFullMessageSent = false;
5790
5819
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
5791
- var _a = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;
5820
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
5821
+ var _maxRetryCnt = config.maxRetryCnt;
5792
5822
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5793
5823
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5794
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5795
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5824
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5825
+ var previousItems = _getPreviousEvents();
5826
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
5827
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5796
5828
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5797
5829
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5798
5830
  }
@@ -5806,6 +5838,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5806
5838
  }
5807
5839
  return;
5808
5840
  }
5841
+ payload.cnt = payload.cnt || 0;
5842
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5843
+ if (payload.cnt > _maxRetryCnt) {
5844
+ return;
5845
+ }
5846
+ }
5809
5847
  _base[_DYN_ENQUEUE ](payload);
5810
5848
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
5811
5849
  };
@@ -5819,7 +5857,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5819
5857
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5820
5858
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5821
5859
  if (sentElements instanceof Array && payload instanceof Array) {
5822
- sentElements = sentElements.concat(payload);
5860
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5823
5861
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5824
5862
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5825
5863
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5850,8 +5888,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5850
5888
  };
5851
5889
  function _removePayloadsFromBuffer(payloads, buffer) {
5852
5890
  var remaining = [];
5891
+ var payloadStr = [];
5892
+ arrForEach(payloads, function (payload) {
5893
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
5894
+ });
5853
5895
  arrForEach(buffer, function (value) {
5854
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
5896
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
5855
5897
  remaining[_DYN_PUSH ](value);
5856
5898
  }
5857
5899
  });
@@ -5859,9 +5901,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5859
5901
  }
5860
5902
  function _getBuffer(key) {
5861
5903
  var prefixedKey = key;
5904
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5905
+ return _getBufferBase(prefixedKey);
5906
+ }
5907
+ function _getBufferBase(key) {
5862
5908
  try {
5863
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5864
- var bufferJson = getItem(logger, prefixedKey);
5909
+ var bufferJson = getItem(logger, key);
5865
5910
  if (bufferJson) {
5866
5911
  var buffer_1 = getJSON().parse(bufferJson);
5867
5912
  if (isString(buffer_1)) {
@@ -5873,7 +5918,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5873
5918
  }
5874
5919
  }
5875
5920
  catch (e) {
5876
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
5921
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
5877
5922
  }
5878
5923
  return [];
5879
5924
  }
@@ -5889,11 +5934,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5889
5934
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
5890
5935
  }
5891
5936
  }
5937
+ function _getPreviousEvents() {
5938
+ var items = [];
5939
+ try {
5940
+ arrForEach(PREVIOUS_KEYS, function (key) {
5941
+ var events = _getItemsFromPreviousKey(key);
5942
+ items = items[_DYN_CONCAT ](events);
5943
+ if (_namePrefix) {
5944
+ var prefixedKey = _namePrefix + "_" + key;
5945
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
5946
+ items = items[_DYN_CONCAT ](prefixEvents);
5947
+ }
5948
+ });
5949
+ return items;
5950
+ }
5951
+ catch (e) {
5952
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
5953
+ }
5954
+ return [];
5955
+ }
5956
+ function _getItemsFromPreviousKey(key) {
5957
+ try {
5958
+ var items = _getBufferBase(key);
5959
+ var transFormedItems_1 = [];
5960
+ arrForEach(items, function (item) {
5961
+ var internalItem = {
5962
+ item: item,
5963
+ cnt: 0
5964
+ };
5965
+ transFormedItems_1[_DYN_PUSH ](internalItem);
5966
+ });
5967
+ utlRemoveSessionStorage(logger, key);
5968
+ return transFormedItems_1;
5969
+ }
5970
+ catch (e) {
5971
+ }
5972
+ return [];
5973
+ }
5892
5974
  });
5893
5975
  return _this;
5894
5976
  }
5895
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
5896
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
5977
+ var _a;
5978
+ _a = SessionStorageSendBuffer;
5979
+ SessionStorageSendBuffer.VERSION = "_1";
5980
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
5981
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
5897
5982
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
5898
5983
  return SessionStorageSendBuffer;
5899
5984
  }(BaseSendBuffer));
@@ -6052,7 +6137,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
6052
6137
  return 0;
6053
6138
  }
6054
6139
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
6055
- input = input.concat(input);
6140
+ input = input[_DYN_CONCAT ](input);
6056
6141
  }
6057
6142
  var hash = 5381;
6058
6143
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -6159,6 +6244,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
6159
6244
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
6160
6245
  _a.transports = UNDEFINED_VALUE,
6161
6246
  _a.retryCodes = UNDEFINED_VALUE,
6247
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
6162
6248
  _a));
6163
6249
  function _chkSampling(value) {
6164
6250
  return !isNaN(value) && value > 0 && value <= 100;
@@ -6388,6 +6474,7 @@ var Sender = /** @class */ (function (_super) {
6388
6474
  }));
6389
6475
  };
6390
6476
  _self.processTelemetry = function (telemetryItem, itemCtx) {
6477
+ var _a;
6391
6478
  itemCtx = _self._getTelCtx(itemCtx);
6392
6479
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
6393
6480
  try {
@@ -6402,7 +6489,12 @@ var Sender = /** @class */ (function (_super) {
6402
6489
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
6403
6490
  var buffer = _self[_DYN__BUFFER ];
6404
6491
  _checkMaxSize(payload);
6405
- buffer[_DYN_ENQUEUE ](payload);
6492
+ var payloadItem = (_a = {},
6493
+ _a[_DYN_ITEM ] = payload,
6494
+ _a.cnt = 0
6495
+ ,
6496
+ _a);
6497
+ buffer[_DYN_ENQUEUE ](payloadItem);
6406
6498
  _setupTimer();
6407
6499
  }
6408
6500
  catch (e) {
@@ -6414,6 +6506,9 @@ var Sender = /** @class */ (function (_super) {
6414
6506
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
6415
6507
  };
6416
6508
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6509
+ if (_isStringArr(payload)) {
6510
+ return;
6511
+ }
6417
6512
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
6418
6513
  };
6419
6514
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -6469,40 +6564,27 @@ var Sender = /** @class */ (function (_super) {
6469
6564
  _initDefaults();
6470
6565
  };
6471
6566
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
6472
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6473
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6567
+ if (_isStringArr(payload)) {
6568
+ return;
6569
+ }
6570
+ return _onError(payload, message);
6474
6571
  };
6475
6572
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
6476
- var failed = [];
6477
- var retry = [];
6478
- var errors = results.errors.reverse();
6479
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6480
- var error = errors_1[_i];
6481
- var extracted = payload.splice(error.index, 1)[0];
6482
- if (_isRetriable(error.statusCode)) {
6483
- retry[_DYN_PUSH ](extracted);
6484
- }
6485
- else {
6486
- failed[_DYN_PUSH ](extracted);
6487
- }
6488
- }
6489
- if (payload[_DYN_LENGTH ] > 0) {
6490
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6491
- }
6492
- if (failed[_DYN_LENGTH ] > 0) {
6493
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6494
- }
6495
- if (retry[_DYN_LENGTH ] > 0) {
6496
- _resendPayload(retry);
6497
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6498
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6499
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6573
+ if (_isStringArr(payload)) {
6574
+ return;
6500
6575
  }
6576
+ return _onPartialSuccess(payload, results);
6501
6577
  };
6502
6578
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
6503
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6579
+ if (_isStringArr(payload)) {
6580
+ return;
6581
+ }
6582
+ return _onSuccess(payload);
6504
6583
  };
6505
6584
  _self._xdrOnLoad = function (xdr, payload) {
6585
+ if (_isStringArr(payload)) {
6586
+ return;
6587
+ }
6506
6588
  return _xdrOnLoad(xdr, payload);
6507
6589
  };
6508
6590
  function _xdrOnLoad(xdr, payload) {
@@ -6513,7 +6595,7 @@ var Sender = /** @class */ (function (_super) {
6513
6595
  }
6514
6596
  else {
6515
6597
  var results = parseResponse(responseText);
6516
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
6598
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
6517
6599
  && !_isRetryDisabled) {
6518
6600
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
6519
6601
  }
@@ -6571,6 +6653,40 @@ var Sender = /** @class */ (function (_super) {
6571
6653
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6572
6654
  }
6573
6655
  }
6656
+ function _onError(payload, message, event) {
6657
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6658
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6659
+ }
6660
+ function _onPartialSuccess(payload, results) {
6661
+ var failed = [];
6662
+ var retry = [];
6663
+ var errors = results.errors.reverse();
6664
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6665
+ var error = errors_1[_i];
6666
+ var extracted = payload.splice(error.index, 1)[0];
6667
+ if (_isRetriable(error.statusCode)) {
6668
+ retry[_DYN_PUSH ](extracted);
6669
+ }
6670
+ else {
6671
+ failed[_DYN_PUSH ](extracted);
6672
+ }
6673
+ }
6674
+ if (payload[_DYN_LENGTH ] > 0) {
6675
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6676
+ }
6677
+ if (failed[_DYN_LENGTH ] > 0) {
6678
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6679
+ }
6680
+ if (retry[_DYN_LENGTH ] > 0) {
6681
+ _resendPayload(retry);
6682
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6683
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6684
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6685
+ }
6686
+ }
6687
+ function _onSuccess(payload, countOfItemsInPayload) {
6688
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6689
+ }
6574
6690
  function _getPayloadArr(payload) {
6575
6691
  try {
6576
6692
  if (payload) {
@@ -6838,12 +6954,22 @@ var Sender = /** @class */ (function (_super) {
6838
6954
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6839
6955
  }
6840
6956
  }
6957
+ function _isStringArr(arr) {
6958
+ try {
6959
+ if (arr && arr[_DYN_LENGTH ]) {
6960
+ return (isString(arr[0]));
6961
+ }
6962
+ }
6963
+ catch (e) {
6964
+ }
6965
+ return null;
6966
+ }
6841
6967
  function _fetchKeepAliveSender(payload, isAsync) {
6842
6968
  var transport = null;
6843
6969
  if (isArray(payload)) {
6844
6970
  var payloadSize = payload[_DYN_LENGTH ];
6845
6971
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6846
- payloadSize += payload[lp][_DYN_LENGTH ];
6972
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
6847
6973
  }
6848
6974
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6849
6975
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -6871,6 +6997,8 @@ var Sender = /** @class */ (function (_super) {
6871
6997
  _consecutiveErrors++;
6872
6998
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
6873
6999
  var item = payload_1[_i];
7000
+ item.cnt = item.cnt || 0;
7001
+ item.cnt++;
6874
7002
  buffer[_DYN_ENQUEUE ](item);
6875
7003
  }
6876
7004
  _setRetryTime(linearFactor);