@microsoft/applicationinsights-web-basic 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 (38) hide show
  1. package/browser/es5/{aib.3.1.3-nightly3.240403-01.js → aib.3.1.3-nightly3.240412-01.cjs.js} +178 -77
  2. package/browser/es5/{aib.3.1.3-nightly3.240403-01.cjs.js.map → aib.3.1.3-nightly3.240412-01.cjs.js.map} +1 -1
  3. package/browser/es5/{aib.3.1.3-nightly3.240403-01.cjs.min.js → aib.3.1.3-nightly3.240412-01.cjs.min.js} +3 -3
  4. package/browser/es5/{aib.3.1.3-nightly3.240403-01.cjs.min.js.map → aib.3.1.3-nightly3.240412-01.cjs.min.js.map} +1 -1
  5. package/browser/es5/{aib.3.1.3-nightly3.240403-01.gbl.js → aib.3.1.3-nightly3.240412-01.gbl.js} +180 -52
  6. package/browser/es5/{aib.3.1.3-nightly3.240403-01.gbl.js.map → aib.3.1.3-nightly3.240412-01.gbl.js.map} +1 -1
  7. package/browser/es5/aib.3.1.3-nightly3.240412-01.gbl.min.js +6 -0
  8. package/browser/es5/{aib.3.1.3-nightly3.240403-01.gbl.min.js.map → aib.3.1.3-nightly3.240412-01.gbl.min.js.map} +1 -1
  9. package/browser/es5/aib.3.1.3-nightly3.240412-01.integrity.json +66 -0
  10. package/browser/es5/{aib.3.1.3-nightly3.240403-01.cjs.js → aib.3.1.3-nightly3.240412-01.js} +205 -50
  11. package/browser/es5/{aib.3.1.3-nightly3.240403-01.js.map → aib.3.1.3-nightly3.240412-01.js.map} +1 -1
  12. package/browser/es5/aib.3.1.3-nightly3.240412-01.min.js +6 -0
  13. package/browser/es5/{aib.3.1.3-nightly3.240403-01.min.js.map → aib.3.1.3-nightly3.240412-01.min.js.map} +1 -1
  14. package/browser/es5/aib.3.cjs.js +177 -49
  15. package/browser/es5/aib.3.cjs.js.map +1 -1
  16. package/browser/es5/aib.3.cjs.min.js +2 -2
  17. package/browser/es5/aib.3.cjs.min.js.map +1 -1
  18. package/browser/es5/aib.3.gbl.js +179 -51
  19. package/browser/es5/aib.3.gbl.js.map +1 -1
  20. package/browser/es5/aib.3.gbl.min.js +2 -2
  21. package/browser/es5/aib.3.gbl.min.js.map +1 -1
  22. package/browser/es5/aib.3.integrity.json +25 -25
  23. package/browser/es5/aib.3.js +179 -51
  24. package/browser/es5/aib.3.js.map +1 -1
  25. package/browser/es5/aib.3.min.js +2 -2
  26. package/browser/es5/aib.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-web-basic.js +177 -49
  28. package/dist/es5/applicationinsights-web-basic.js.map +1 -1
  29. package/dist/es5/applicationinsights-web-basic.min.js +2 -2
  30. package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
  31. package/dist-es5/__DynamicConstants.js +1 -1
  32. package/dist-es5/index.js +1 -1
  33. package/package.json +4 -4
  34. package/types/applicationinsights-web-basic.d.ts +1 -1
  35. package/types/applicationinsights-web-basic.namespaced.d.ts +59 -22
  36. package/browser/es5/aib.3.1.3-nightly3.240403-01.gbl.min.js +0 -6
  37. package/browser/es5/aib.3.1.3-nightly3.240403-01.integrity.json +0 -66
  38. package/browser/es5/aib.3.1.3-nightly3.240403-01.min.js +0 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.1.3-nightly3.240403-01
2
+ * Application Insights JavaScript Web SDK - Basic, 3.1.3-nightly3.240412-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -6221,6 +6221,20 @@
6221
6221
  }
6222
6222
  return false;
6223
6223
  }
6224
+ function utlRemoveSessionStorage(logger, name) {
6225
+ var storage = _getSessionStorageObject();
6226
+ if (storage !== null) {
6227
+ try {
6228
+ storage[_DYN_REMOVE_ITEM ](name);
6229
+ return true;
6230
+ }
6231
+ catch (e) {
6232
+ _canUseSessionStorage = false;
6233
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
6234
+ }
6235
+ }
6236
+ return false;
6237
+ }
6224
6238
 
6225
6239
  var _FIELDS_SEPARATOR = ";";
6226
6240
  var _FIELD_KEY_VALUE_SEPARATOR = "=";
@@ -7198,6 +7212,7 @@
7198
7212
  var _DYN_COUNT = "count";
7199
7213
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
7200
7214
  var _DYN_PUSH = "push";
7215
+ var _DYN_ITEM = "item";
7201
7216
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
7202
7217
  var _DYN_CLEAR = "clear";
7203
7218
  var _DYN_CREATE_NEW = "createNew";
@@ -7206,6 +7221,7 @@
7206
7221
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
7207
7222
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
7208
7223
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
7224
+ var _DYN_CONCAT = "concat";
7209
7225
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
7210
7226
  var _DYN_TRIGGER_SEND = "triggerSend";
7211
7227
  var _DYN_DIAG_LOG = "diagLog";
@@ -7231,8 +7247,8 @@
7231
7247
  var _DYN__ON_ERROR = "_onError";
7232
7248
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
7233
7249
  var _DYN__ON_SUCCESS = "_onSuccess";
7234
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
7235
7250
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7251
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
7236
7252
  var _DYN_ORI_PAYLOAD = "oriPayload";
7237
7253
  var _DYN_BASE_TYPE = "baseType";
7238
7254
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -7350,7 +7366,7 @@
7350
7366
  }
7351
7367
  }
7352
7368
  var EnvelopeCreator = {
7353
- Version: '3.1.3-nightly3.240403-01'
7369
+ Version: '3.1.3-nightly3.240412-01'
7354
7370
  };
7355
7371
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
7356
7372
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7503,6 +7519,7 @@
7503
7519
  function BaseSendBuffer(logger, config) {
7504
7520
  var _buffer = [];
7505
7521
  var _bufferFullMessageSent = false;
7522
+ var _maxRetryCnt = config.maxRetryCnt;
7506
7523
  this[_DYN__GET ] = function () {
7507
7524
  return _buffer;
7508
7525
  };
@@ -7519,7 +7536,14 @@
7519
7536
  }
7520
7537
  return;
7521
7538
  }
7539
+ payload.cnt = payload.cnt || 0;
7540
+ if (!isNullOrUndefined(_maxRetryCnt)) {
7541
+ if (payload.cnt > _maxRetryCnt) {
7542
+ return;
7543
+ }
7544
+ }
7522
7545
  _buffer[_DYN_PUSH ](payload);
7546
+ return;
7523
7547
  };
7524
7548
  _self[_DYN_COUNT ] = function () {
7525
7549
  return _buffer[_DYN_LENGTH ];
@@ -7527,7 +7551,7 @@
7527
7551
  _self.size = function () {
7528
7552
  var size = _buffer[_DYN_LENGTH ];
7529
7553
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
7530
- size += _buffer[lp][_DYN_LENGTH ];
7554
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
7531
7555
  }
7532
7556
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
7533
7557
  size += 2;
@@ -7541,11 +7565,15 @@
7541
7565
  _self.getItems = function () {
7542
7566
  return _buffer.slice(0);
7543
7567
  };
7544
- _self.batchPayloads = function (payload) {
7545
- if (payload && payload[_DYN_LENGTH ] > 0) {
7568
+ _self.batchPayloads = function (payloads) {
7569
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
7570
+ var payloadStr_1 = [];
7571
+ arrForEach(payloads, function (payload) {
7572
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
7573
+ });
7546
7574
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
7547
- payload.join("\n") :
7548
- "[" + payload.join(",") + "]";
7575
+ payloadStr_1.join("\n") :
7576
+ "[" + payloadStr_1.join(",") + "]";
7549
7577
  return batch;
7550
7578
  }
7551
7579
  return null;
@@ -7581,17 +7609,21 @@
7581
7609
  ArraySendBuffer.__ieDyn=1;
7582
7610
  return ArraySendBuffer;
7583
7611
  }(BaseSendBuffer));
7612
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
7584
7613
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
7585
7614
  __extendsFn(SessionStorageSendBuffer, _super);
7586
7615
  function SessionStorageSendBuffer(logger, config) {
7587
7616
  var _this = _super.call(this, logger, config) || this;
7588
7617
  var _bufferFullMessageSent = false;
7589
7618
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
7590
- var _a = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;
7619
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
7620
+ var _maxRetryCnt = config.maxRetryCnt;
7591
7621
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
7592
7622
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
7593
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7594
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
7623
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7624
+ var previousItems = _getPreviousEvents();
7625
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
7626
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7595
7627
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7596
7628
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
7597
7629
  }
@@ -7605,6 +7637,12 @@
7605
7637
  }
7606
7638
  return;
7607
7639
  }
7640
+ payload.cnt = payload.cnt || 0;
7641
+ if (!isNullOrUndefined(_maxRetryCnt)) {
7642
+ if (payload.cnt > _maxRetryCnt) {
7643
+ return;
7644
+ }
7645
+ }
7608
7646
  _base[_DYN_ENQUEUE ](payload);
7609
7647
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
7610
7648
  };
@@ -7618,7 +7656,7 @@
7618
7656
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7619
7657
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7620
7658
  if (sentElements instanceof Array && payload instanceof Array) {
7621
- sentElements = sentElements.concat(payload);
7659
+ sentElements = sentElements[_DYN_CONCAT ](payload);
7622
7660
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7623
7661
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7624
7662
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7649,8 +7687,12 @@
7649
7687
  };
7650
7688
  function _removePayloadsFromBuffer(payloads, buffer) {
7651
7689
  var remaining = [];
7690
+ var payloadStr = [];
7691
+ arrForEach(payloads, function (payload) {
7692
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
7693
+ });
7652
7694
  arrForEach(buffer, function (value) {
7653
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
7695
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
7654
7696
  remaining[_DYN_PUSH ](value);
7655
7697
  }
7656
7698
  });
@@ -7658,9 +7700,12 @@
7658
7700
  }
7659
7701
  function _getBuffer(key) {
7660
7702
  var prefixedKey = key;
7703
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
7704
+ return _getBufferBase(prefixedKey);
7705
+ }
7706
+ function _getBufferBase(key) {
7661
7707
  try {
7662
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
7663
- var bufferJson = getItem(logger, prefixedKey);
7708
+ var bufferJson = getItem(logger, key);
7664
7709
  if (bufferJson) {
7665
7710
  var buffer_1 = getJSON().parse(bufferJson);
7666
7711
  if (isString(buffer_1)) {
@@ -7672,7 +7717,7 @@
7672
7717
  }
7673
7718
  }
7674
7719
  catch (e) {
7675
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
7720
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
7676
7721
  }
7677
7722
  return [];
7678
7723
  }
@@ -7688,11 +7733,51 @@
7688
7733
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
7689
7734
  }
7690
7735
  }
7736
+ function _getPreviousEvents() {
7737
+ var items = [];
7738
+ try {
7739
+ arrForEach(PREVIOUS_KEYS, function (key) {
7740
+ var events = _getItemsFromPreviousKey(key);
7741
+ items = items[_DYN_CONCAT ](events);
7742
+ if (_namePrefix) {
7743
+ var prefixedKey = _namePrefix + "_" + key;
7744
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
7745
+ items = items[_DYN_CONCAT ](prefixEvents);
7746
+ }
7747
+ });
7748
+ return items;
7749
+ }
7750
+ catch (e) {
7751
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
7752
+ }
7753
+ return [];
7754
+ }
7755
+ function _getItemsFromPreviousKey(key) {
7756
+ try {
7757
+ var items = _getBufferBase(key);
7758
+ var transFormedItems_1 = [];
7759
+ arrForEach(items, function (item) {
7760
+ var internalItem = {
7761
+ item: item,
7762
+ cnt: 0
7763
+ };
7764
+ transFormedItems_1[_DYN_PUSH ](internalItem);
7765
+ });
7766
+ utlRemoveSessionStorage(logger, key);
7767
+ return transFormedItems_1;
7768
+ }
7769
+ catch (e) {
7770
+ }
7771
+ return [];
7772
+ }
7691
7773
  });
7692
7774
  return _this;
7693
7775
  }
7694
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
7695
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
7776
+ var _a;
7777
+ _a = SessionStorageSendBuffer;
7778
+ SessionStorageSendBuffer.VERSION = "_1";
7779
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
7780
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
7696
7781
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
7697
7782
  return SessionStorageSendBuffer;
7698
7783
  }(BaseSendBuffer));
@@ -7851,7 +7936,7 @@
7851
7936
  return 0;
7852
7937
  }
7853
7938
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7854
- input = input.concat(input);
7939
+ input = input[_DYN_CONCAT ](input);
7855
7940
  }
7856
7941
  var hash = 5381;
7857
7942
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7958,6 +8043,7 @@
7958
8043
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
7959
8044
  _a.transports = UNDEFINED_VALUE,
7960
8045
  _a.retryCodes = UNDEFINED_VALUE,
8046
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
7961
8047
  _a));
7962
8048
  function _chkSampling(value) {
7963
8049
  return !isNaN(value) && value > 0 && value <= 100;
@@ -8187,6 +8273,7 @@
8187
8273
  }));
8188
8274
  };
8189
8275
  _self.processTelemetry = function (telemetryItem, itemCtx) {
8276
+ var _a;
8190
8277
  itemCtx = _self._getTelCtx(itemCtx);
8191
8278
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
8192
8279
  try {
@@ -8201,7 +8288,12 @@
8201
8288
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
8202
8289
  var buffer = _self[_DYN__BUFFER ];
8203
8290
  _checkMaxSize(payload);
8204
- buffer[_DYN_ENQUEUE ](payload);
8291
+ var payloadItem = (_a = {},
8292
+ _a[_DYN_ITEM ] = payload,
8293
+ _a.cnt = 0
8294
+ ,
8295
+ _a);
8296
+ buffer[_DYN_ENQUEUE ](payloadItem);
8205
8297
  _setupTimer();
8206
8298
  }
8207
8299
  catch (e) {
@@ -8213,6 +8305,9 @@
8213
8305
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
8214
8306
  };
8215
8307
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8308
+ if (_isStringArr(payload)) {
8309
+ return;
8310
+ }
8216
8311
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
8217
8312
  };
8218
8313
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -8268,40 +8363,27 @@
8268
8363
  _initDefaults();
8269
8364
  };
8270
8365
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
8271
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
8272
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8366
+ if (_isStringArr(payload)) {
8367
+ return;
8368
+ }
8369
+ return _onError(payload, message);
8273
8370
  };
8274
8371
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
8275
- var failed = [];
8276
- var retry = [];
8277
- var errors = results.errors.reverse();
8278
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
8279
- var error = errors_1[_i];
8280
- var extracted = payload.splice(error.index, 1)[0];
8281
- if (_isRetriable(error.statusCode)) {
8282
- retry[_DYN_PUSH ](extracted);
8283
- }
8284
- else {
8285
- failed[_DYN_PUSH ](extracted);
8286
- }
8287
- }
8288
- if (payload[_DYN_LENGTH ] > 0) {
8289
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
8290
- }
8291
- if (failed[_DYN_LENGTH ] > 0) {
8292
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8293
- }
8294
- if (retry[_DYN_LENGTH ] > 0) {
8295
- _resendPayload(retry);
8296
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
8297
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
8298
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
8372
+ if (_isStringArr(payload)) {
8373
+ return;
8299
8374
  }
8375
+ return _onPartialSuccess(payload, results);
8300
8376
  };
8301
8377
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
8302
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8378
+ if (_isStringArr(payload)) {
8379
+ return;
8380
+ }
8381
+ return _onSuccess(payload);
8303
8382
  };
8304
8383
  _self._xdrOnLoad = function (xdr, payload) {
8384
+ if (_isStringArr(payload)) {
8385
+ return;
8386
+ }
8305
8387
  return _xdrOnLoad(xdr, payload);
8306
8388
  };
8307
8389
  function _xdrOnLoad(xdr, payload) {
@@ -8312,7 +8394,7 @@
8312
8394
  }
8313
8395
  else {
8314
8396
  var results = parseResponse(responseText);
8315
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
8397
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
8316
8398
  && !_isRetryDisabled) {
8317
8399
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
8318
8400
  }
@@ -8370,6 +8452,40 @@
8370
8452
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
8371
8453
  }
8372
8454
  }
8455
+ function _onError(payload, message, event) {
8456
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
8457
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8458
+ }
8459
+ function _onPartialSuccess(payload, results) {
8460
+ var failed = [];
8461
+ var retry = [];
8462
+ var errors = results.errors.reverse();
8463
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
8464
+ var error = errors_1[_i];
8465
+ var extracted = payload.splice(error.index, 1)[0];
8466
+ if (_isRetriable(error.statusCode)) {
8467
+ retry[_DYN_PUSH ](extracted);
8468
+ }
8469
+ else {
8470
+ failed[_DYN_PUSH ](extracted);
8471
+ }
8472
+ }
8473
+ if (payload[_DYN_LENGTH ] > 0) {
8474
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
8475
+ }
8476
+ if (failed[_DYN_LENGTH ] > 0) {
8477
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8478
+ }
8479
+ if (retry[_DYN_LENGTH ] > 0) {
8480
+ _resendPayload(retry);
8481
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
8482
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
8483
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
8484
+ }
8485
+ }
8486
+ function _onSuccess(payload, countOfItemsInPayload) {
8487
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8488
+ }
8373
8489
  function _getPayloadArr(payload) {
8374
8490
  try {
8375
8491
  if (payload) {
@@ -8637,12 +8753,22 @@
8637
8753
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8638
8754
  }
8639
8755
  }
8756
+ function _isStringArr(arr) {
8757
+ try {
8758
+ if (arr && arr[_DYN_LENGTH ]) {
8759
+ return (isString(arr[0]));
8760
+ }
8761
+ }
8762
+ catch (e) {
8763
+ }
8764
+ return null;
8765
+ }
8640
8766
  function _fetchKeepAliveSender(payload, isAsync) {
8641
8767
  var transport = null;
8642
8768
  if (isArray(payload)) {
8643
8769
  var payloadSize = payload[_DYN_LENGTH ];
8644
8770
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8645
- payloadSize += payload[lp][_DYN_LENGTH ];
8771
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
8646
8772
  }
8647
8773
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8648
8774
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -8670,6 +8796,8 @@
8670
8796
  _consecutiveErrors++;
8671
8797
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
8672
8798
  var item = payload_1[_i];
8799
+ item.cnt = item.cnt || 0;
8800
+ item.cnt++;
8673
8801
  buffer[_DYN_ENQUEUE ](item);
8674
8802
  }
8675
8803
  _setRetryTime(linearFactor);