@microsoft/applicationinsights-web-basic 3.1.3-nightly3.240329-01 → 3.1.3-nightly3.2404-12

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 (45) hide show
  1. package/browser/es5/{aib.3.1.3-nightly3.240329-01.js → aib.3.1.3-nightly3.2404-12.cjs.js} +251 -127
  2. package/browser/es5/aib.3.1.3-nightly3.2404-12.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.1.3-nightly3.2404-12.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.1.3-nightly3.2404-12.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.1.3-nightly3.240329-01.gbl.js → aib.3.1.3-nightly3.2404-12.gbl.js} +253 -102
  6. package/browser/es5/aib.3.1.3-nightly3.2404-12.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.1.3-nightly3.2404-12.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.1.3-nightly3.2404-12.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.1.3-nightly3.2404-12.integrity.json +66 -0
  10. package/browser/es5/{aib.3.1.3-nightly3.240329-01.cjs.js → aib.3.1.3-nightly3.2404-12.js} +278 -100
  11. package/browser/es5/aib.3.1.3-nightly3.2404-12.js.map +1 -0
  12. package/browser/es5/aib.3.1.3-nightly3.2404-12.min.js +6 -0
  13. package/browser/es5/aib.3.1.3-nightly3.2404-12.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +250 -99
  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 +252 -101
  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 +252 -101
  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 +250 -99
  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 -49
  36. package/browser/es5/aib.3.1.3-nightly3.240329-01.cjs.js.map +0 -1
  37. package/browser/es5/aib.3.1.3-nightly3.240329-01.cjs.min.js +0 -6
  38. package/browser/es5/aib.3.1.3-nightly3.240329-01.cjs.min.js.map +0 -1
  39. package/browser/es5/aib.3.1.3-nightly3.240329-01.gbl.js.map +0 -1
  40. package/browser/es5/aib.3.1.3-nightly3.240329-01.gbl.min.js +0 -6
  41. package/browser/es5/aib.3.1.3-nightly3.240329-01.gbl.min.js.map +0 -1
  42. package/browser/es5/aib.3.1.3-nightly3.240329-01.integrity.json +0 -66
  43. package/browser/es5/aib.3.1.3-nightly3.240329-01.js.map +0 -1
  44. package/browser/es5/aib.3.1.3-nightly3.240329-01.min.js +0 -6
  45. package/browser/es5/aib.3.1.3-nightly3.240329-01.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.1.3-nightly3.240329-01
2
+ * Application Insights JavaScript Web SDK - Basic, 3.1.3-nightly3.2404-12
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_3_nightly3_240329_01", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.240329-01";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_3_nightly3_2404_12", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.2404-12";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -1398,14 +1398,19 @@ function throwAggregationError(message, sourceErrors) {
1398
1398
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1399
1399
  }
1400
1400
 
1401
+ var STR_PROMISE = "Promise";
1402
+ var REJECTED = "rejected";
1403
+
1401
1404
  function doAwaitResponse(value, cb) {
1402
1405
  return doAwait(value, function (value) {
1403
1406
  return cb ? cb({
1404
- value: value,
1405
- rejected: false
1407
+ status: "fulfilled",
1408
+ rejected: false,
1409
+ value: value
1406
1410
  }) : value;
1407
1411
  }, function (reason) {
1408
1412
  return cb ? cb({
1413
+ status: REJECTED,
1409
1414
  rejected: true,
1410
1415
  reason: reason
1411
1416
  }) : reason;
@@ -1413,18 +1418,32 @@ function doAwaitResponse(value, cb) {
1413
1418
  }
1414
1419
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
1415
1420
  var result = value;
1416
- if (isPromiseLike(value)) {
1417
- if (resolveFn || rejectFn) {
1418
- result = value.then(resolveFn, rejectFn);
1421
+ try {
1422
+ if (isPromiseLike(value)) {
1423
+ if (resolveFn || rejectFn) {
1424
+ result = value.then(resolveFn, rejectFn);
1425
+ }
1419
1426
  }
1420
- }
1421
- else {
1422
- if (resolveFn) {
1423
- result = resolveFn(value);
1427
+ else {
1428
+ try {
1429
+ if (resolveFn) {
1430
+ result = resolveFn(value);
1431
+ }
1432
+ }
1433
+ catch (err) {
1434
+ if (rejectFn) {
1435
+ result = rejectFn(err);
1436
+ }
1437
+ else {
1438
+ throw err;
1439
+ }
1440
+ }
1424
1441
  }
1425
1442
  }
1426
- if (finallyFn) {
1427
- doFinally(result, finallyFn);
1443
+ finally {
1444
+ if (finallyFn) {
1445
+ doFinally(result, finallyFn);
1446
+ }
1428
1447
  }
1429
1448
  return result;
1430
1449
  }
@@ -1452,21 +1471,22 @@ function doFinally(value, finallyFn) {
1452
1471
  return result;
1453
1472
  }
1454
1473
 
1455
- var STRING_STATES = [
1456
- "pending", "resolving", "resolved", "rejected"
1474
+ var STRING_STATES = [
1475
+ "pending", "resolving", "resolved", REJECTED
1457
1476
  ];
1458
1477
 
1459
1478
  var DISPATCH_EVENT = "dispatchEvent";
1460
1479
  var _hasInitEvent;
1480
+ function _hasInitEventFn(doc) {
1481
+ var evt;
1482
+ if (doc && doc.createEvent) {
1483
+ evt = doc.createEvent("Event");
1484
+ }
1485
+ return (!!evt && evt.initEvent);
1486
+ }
1461
1487
  function emitEvent(target, evtName, populateEvent, useNewEvent) {
1462
1488
  var doc = getDocument();
1463
- !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1464
- var evt;
1465
- if (doc && doc.createEvent) {
1466
- evt = doc.createEvent("Event");
1467
- }
1468
- return (!!evt && evt.initEvent);
1469
- }, null));
1489
+ !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));
1470
1490
  var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1471
1491
  populateEvent && populateEvent(theEvt);
1472
1492
  if (_hasInitEvent.v) {
@@ -1487,8 +1507,6 @@ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1487
1507
  }
1488
1508
  }
1489
1509
 
1490
- var STR_PROMISE = "Promise";
1491
-
1492
1510
  var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1493
1511
  var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1494
1512
  var _unhandledRejectionTimeout = 10;
@@ -1509,7 +1527,7 @@ function _createPromise(newPromise, processor, executor) {
1509
1527
  var _unHandledRejectionHandler = null;
1510
1528
  var _thePromise;
1511
1529
  !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1512
- var _then = function (onResolved, onRejected) {
1530
+ function _then(onResolved, onRejected) {
1513
1531
  try {
1514
1532
  _handled = true;
1515
1533
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
@@ -1544,11 +1562,11 @@ function _createPromise(newPromise, processor, executor) {
1544
1562
  }
1545
1563
  finally {
1546
1564
  }
1547
- };
1548
- var _catch = function (onRejected) {
1565
+ }
1566
+ function _catch(onRejected) {
1549
1567
  return _then(undefined, onRejected);
1550
- };
1551
- var _finally = function (onFinally) {
1568
+ }
1569
+ function _finally(onFinally) {
1552
1570
  var thenFinally = onFinally;
1553
1571
  var catchFinally = onFinally;
1554
1572
  if (isFunction(onFinally)) {
@@ -1562,21 +1580,21 @@ function _createPromise(newPromise, processor, executor) {
1562
1580
  };
1563
1581
  }
1564
1582
  return _then(thenFinally, catchFinally);
1565
- };
1566
- var _strState = function () {
1583
+ }
1584
+ function _strState() {
1567
1585
  return STRING_STATES[_state];
1568
- };
1569
- var _processQueue = function () {
1586
+ }
1587
+ function _processQueue() {
1570
1588
  if (_queue.length > 0) {
1571
1589
  var pending = _queue.slice();
1572
1590
  _queue = [];
1573
1591
  _handled = true;
1574
- processor(pending);
1575
1592
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1576
1593
  _unHandledRejectionHandler = null;
1594
+ processor(pending);
1577
1595
  }
1578
- };
1579
- var _createSettleIfFn = function (newState, allowState) {
1596
+ }
1597
+ function _createSettleIfFn(newState, allowState) {
1580
1598
  return function (theValue) {
1581
1599
  if (_state === allowState) {
1582
1600
  if (newState === 2 && isPromiseLike(theValue)) {
@@ -1593,9 +1611,10 @@ function _createPromise(newPromise, processor, executor) {
1593
1611
  }
1594
1612
  }
1595
1613
  };
1596
- };
1597
- var _notifyUnhandledRejection = function () {
1614
+ }
1615
+ function _notifyUnhandledRejection() {
1598
1616
  if (!_handled) {
1617
+ _handled = true;
1599
1618
  if (isNode()) {
1600
1619
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1601
1620
  }
@@ -1608,7 +1627,7 @@ function _createPromise(newPromise, processor, executor) {
1608
1627
  }, !!_hasPromiseRejectionEvent.v);
1609
1628
  }
1610
1629
  }
1611
- };
1630
+ }
1612
1631
  _thePromise = {
1613
1632
  then: _then,
1614
1633
  "catch": _catch,
@@ -1620,9 +1639,9 @@ function _createPromise(newPromise, processor, executor) {
1620
1639
  if (hasSymbol()) {
1621
1640
  _thePromise[getKnownSymbol(11 )] = "IPromise";
1622
1641
  }
1623
- var _toString = function () {
1624
- return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1625
- };
1642
+ function _toString() {
1643
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "") + ("");
1644
+ }
1626
1645
  _thePromise.toString = _toString;
1627
1646
  (function _initialize() {
1628
1647
  if (!isFunction(executor)) {
@@ -1638,6 +1657,7 @@ function _createPromise(newPromise, processor, executor) {
1638
1657
  })();
1639
1658
  return _thePromise;
1640
1659
  }
1660
+ /*#__NO_SIDE_EFFECTS__*/
1641
1661
  function _createAllPromise(newPromise) {
1642
1662
  return function (input) {
1643
1663
  var additionalArgs = arrSlice(arguments, 1);
@@ -1645,7 +1665,7 @@ function _createAllPromise(newPromise) {
1645
1665
  try {
1646
1666
  var values_1 = [];
1647
1667
  var pending_1 = 1;
1648
- arrForEach(input, function (item, idx) {
1668
+ iterForOf(input, function (item, idx) {
1649
1669
  if (item) {
1650
1670
  pending_1++;
1651
1671
  doAwait(item, function (value) {
@@ -1668,7 +1688,7 @@ function _createAllPromise(newPromise) {
1668
1688
  };
1669
1689
  }
1670
1690
 
1671
- var _processPendingItems = function (pending) {
1691
+ function syncItemProcessor(pending) {
1672
1692
  arrForEach(pending, function (fn) {
1673
1693
  try {
1674
1694
  fn();
@@ -1676,12 +1696,12 @@ var _processPendingItems = function (pending) {
1676
1696
  catch (e) {
1677
1697
  }
1678
1698
  });
1679
- };
1699
+ }
1680
1700
  function timeoutItemProcessor(timeout) {
1681
1701
  var callbackTimeout = isNumber(timeout) ? timeout : 0;
1682
1702
  return function (pending) {
1683
1703
  scheduleTimeout(function () {
1684
- _processPendingItems(pending);
1704
+ syncItemProcessor(pending);
1685
1705
  }, callbackTimeout);
1686
1706
  };
1687
1707
  }
@@ -1690,10 +1710,10 @@ function createAsyncPromise(executor, timeout) {
1690
1710
  return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1691
1711
  }
1692
1712
 
1693
- var _isPromiseSupported;
1713
+ var _promiseCls;
1694
1714
  function createNativePromise(executor, timeout) {
1695
- !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1696
- var PrmCls = _isPromiseSupported.v;
1715
+ !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));
1716
+ var PrmCls = _promiseCls.v;
1697
1717
  if (!PrmCls) {
1698
1718
  return createAsyncPromise(executor);
1699
1719
  }
@@ -1723,10 +1743,10 @@ function createNativePromise(executor, timeout) {
1723
1743
 
1724
1744
  var _promiseCreator;
1725
1745
  function createPromise(executor, timeout) {
1726
- !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1746
+ !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1727
1747
  return _promiseCreator.v.call(this, executor, timeout);
1728
1748
  }
1729
- var createAllPromise = _createAllPromise(createPromise);
1749
+ var createAllPromise = /*#__PURE__*/ _createAllPromise(createPromise);
1730
1750
 
1731
1751
  var UNDEFINED_VALUE$1 = undefined;
1732
1752
  var STR_EMPTY$1 = "";
@@ -5481,7 +5501,9 @@ var SenderPostManager = /** @class */ (function () {
5481
5501
  return;
5482
5502
  }
5483
5503
  var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
5484
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5504
+ if (!_isOneDs) {
5505
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5506
+ }
5485
5507
  arrForEach(objKeys(headers), function (headerName) {
5486
5508
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
5487
5509
  });
@@ -6221,6 +6243,20 @@ function utlSetSessionStorage(logger, name, data) {
6221
6243
  }
6222
6244
  return false;
6223
6245
  }
6246
+ function utlRemoveSessionStorage(logger, name) {
6247
+ var storage = _getSessionStorageObject();
6248
+ if (storage !== null) {
6249
+ try {
6250
+ storage[_DYN_REMOVE_ITEM ](name);
6251
+ return true;
6252
+ }
6253
+ catch (e) {
6254
+ _canUseSessionStorage = false;
6255
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
6256
+ }
6257
+ }
6258
+ return false;
6259
+ }
6224
6260
 
6225
6261
  var _FIELDS_SEPARATOR = ";";
6226
6262
  var _FIELD_KEY_VALUE_SEPARATOR = "=";
@@ -7198,6 +7234,7 @@ var _DYN_ENQUEUE = "enqueue";
7198
7234
  var _DYN_COUNT = "count";
7199
7235
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
7200
7236
  var _DYN_PUSH = "push";
7237
+ var _DYN_ITEM = "item";
7201
7238
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
7202
7239
  var _DYN_CLEAR = "clear";
7203
7240
  var _DYN_CREATE_NEW = "createNew";
@@ -7206,6 +7243,7 @@ var _DYN_CLEAR_SENT = "clearSent";
7206
7243
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
7207
7244
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
7208
7245
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
7246
+ var _DYN_CONCAT = "concat";
7209
7247
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
7210
7248
  var _DYN_TRIGGER_SEND = "triggerSend";
7211
7249
  var _DYN_DIAG_LOG = "diagLog";
@@ -7231,8 +7269,8 @@ var _DYN_SERIALIZE = "serialize";
7231
7269
  var _DYN__ON_ERROR = "_onError";
7232
7270
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
7233
7271
  var _DYN__ON_SUCCESS = "_onSuccess";
7234
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
7235
7272
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7273
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
7236
7274
  var _DYN_ORI_PAYLOAD = "oriPayload";
7237
7275
  var _DYN_BASE_TYPE = "baseType";
7238
7276
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -7284,6 +7322,7 @@ function _extractPartAExtensions(logger, item, env) {
7284
7322
  var extOs = itmExt.os;
7285
7323
  if (extOs) {
7286
7324
  _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
7325
+ _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);
7287
7326
  }
7288
7327
  var extTrace = itmExt.trace;
7289
7328
  if (extTrace) {
@@ -7349,7 +7388,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
7349
7388
  }
7350
7389
  }
7351
7390
  var EnvelopeCreator = {
7352
- Version: '3.1.3-nightly3.240329-01'
7391
+ Version: '3.1.3-nightly3.2404-12'
7353
7392
  };
7354
7393
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
7355
7394
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7502,6 +7541,7 @@ var BaseSendBuffer = /** @class */ (function () {
7502
7541
  function BaseSendBuffer(logger, config) {
7503
7542
  var _buffer = [];
7504
7543
  var _bufferFullMessageSent = false;
7544
+ var _maxRetryCnt = config.maxRetryCnt;
7505
7545
  this[_DYN__GET ] = function () {
7506
7546
  return _buffer;
7507
7547
  };
@@ -7518,7 +7558,14 @@ var BaseSendBuffer = /** @class */ (function () {
7518
7558
  }
7519
7559
  return;
7520
7560
  }
7561
+ payload.cnt = payload.cnt || 0;
7562
+ if (!isNullOrUndefined(_maxRetryCnt)) {
7563
+ if (payload.cnt > _maxRetryCnt) {
7564
+ return;
7565
+ }
7566
+ }
7521
7567
  _buffer[_DYN_PUSH ](payload);
7568
+ return;
7522
7569
  };
7523
7570
  _self[_DYN_COUNT ] = function () {
7524
7571
  return _buffer[_DYN_LENGTH ];
@@ -7526,7 +7573,7 @@ var BaseSendBuffer = /** @class */ (function () {
7526
7573
  _self.size = function () {
7527
7574
  var size = _buffer[_DYN_LENGTH ];
7528
7575
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
7529
- size += _buffer[lp][_DYN_LENGTH ];
7576
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
7530
7577
  }
7531
7578
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
7532
7579
  size += 2;
@@ -7540,11 +7587,15 @@ var BaseSendBuffer = /** @class */ (function () {
7540
7587
  _self.getItems = function () {
7541
7588
  return _buffer.slice(0);
7542
7589
  };
7543
- _self.batchPayloads = function (payload) {
7544
- if (payload && payload[_DYN_LENGTH ] > 0) {
7590
+ _self.batchPayloads = function (payloads) {
7591
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
7592
+ var payloadStr_1 = [];
7593
+ arrForEach(payloads, function (payload) {
7594
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
7595
+ });
7545
7596
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
7546
- payload.join("\n") :
7547
- "[" + payload.join(",") + "]";
7597
+ payloadStr_1.join("\n") :
7598
+ "[" + payloadStr_1.join(",") + "]";
7548
7599
  return batch;
7549
7600
  }
7550
7601
  return null;
@@ -7580,17 +7631,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
7580
7631
  ArraySendBuffer.__ieDyn=1;
7581
7632
  return ArraySendBuffer;
7582
7633
  }(BaseSendBuffer));
7634
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
7583
7635
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
7584
7636
  __extendsFn(SessionStorageSendBuffer, _super);
7585
7637
  function SessionStorageSendBuffer(logger, config) {
7586
7638
  var _this = _super.call(this, logger, config) || this;
7587
7639
  var _bufferFullMessageSent = false;
7588
7640
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
7589
- var _a = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;
7641
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
7642
+ var _maxRetryCnt = config.maxRetryCnt;
7590
7643
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
7591
7644
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
7592
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7593
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
7645
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7646
+ var previousItems = _getPreviousEvents();
7647
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
7648
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7594
7649
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7595
7650
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
7596
7651
  }
@@ -7604,6 +7659,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7604
7659
  }
7605
7660
  return;
7606
7661
  }
7662
+ payload.cnt = payload.cnt || 0;
7663
+ if (!isNullOrUndefined(_maxRetryCnt)) {
7664
+ if (payload.cnt > _maxRetryCnt) {
7665
+ return;
7666
+ }
7667
+ }
7607
7668
  _base[_DYN_ENQUEUE ](payload);
7608
7669
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
7609
7670
  };
@@ -7617,7 +7678,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7617
7678
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7618
7679
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7619
7680
  if (sentElements instanceof Array && payload instanceof Array) {
7620
- sentElements = sentElements.concat(payload);
7681
+ sentElements = sentElements[_DYN_CONCAT ](payload);
7621
7682
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7622
7683
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7623
7684
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7648,8 +7709,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7648
7709
  };
7649
7710
  function _removePayloadsFromBuffer(payloads, buffer) {
7650
7711
  var remaining = [];
7712
+ var payloadStr = [];
7713
+ arrForEach(payloads, function (payload) {
7714
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
7715
+ });
7651
7716
  arrForEach(buffer, function (value) {
7652
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
7717
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
7653
7718
  remaining[_DYN_PUSH ](value);
7654
7719
  }
7655
7720
  });
@@ -7657,9 +7722,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7657
7722
  }
7658
7723
  function _getBuffer(key) {
7659
7724
  var prefixedKey = key;
7725
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
7726
+ return _getBufferBase(prefixedKey);
7727
+ }
7728
+ function _getBufferBase(key) {
7660
7729
  try {
7661
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
7662
- var bufferJson = getItem(logger, prefixedKey);
7730
+ var bufferJson = getItem(logger, key);
7663
7731
  if (bufferJson) {
7664
7732
  var buffer_1 = getJSON().parse(bufferJson);
7665
7733
  if (isString(buffer_1)) {
@@ -7671,7 +7739,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7671
7739
  }
7672
7740
  }
7673
7741
  catch (e) {
7674
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
7742
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
7675
7743
  }
7676
7744
  return [];
7677
7745
  }
@@ -7687,11 +7755,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7687
7755
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
7688
7756
  }
7689
7757
  }
7758
+ function _getPreviousEvents() {
7759
+ var items = [];
7760
+ try {
7761
+ arrForEach(PREVIOUS_KEYS, function (key) {
7762
+ var events = _getItemsFromPreviousKey(key);
7763
+ items = items[_DYN_CONCAT ](events);
7764
+ if (_namePrefix) {
7765
+ var prefixedKey = _namePrefix + "_" + key;
7766
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
7767
+ items = items[_DYN_CONCAT ](prefixEvents);
7768
+ }
7769
+ });
7770
+ return items;
7771
+ }
7772
+ catch (e) {
7773
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
7774
+ }
7775
+ return [];
7776
+ }
7777
+ function _getItemsFromPreviousKey(key) {
7778
+ try {
7779
+ var items = _getBufferBase(key);
7780
+ var transFormedItems_1 = [];
7781
+ arrForEach(items, function (item) {
7782
+ var internalItem = {
7783
+ item: item,
7784
+ cnt: 0
7785
+ };
7786
+ transFormedItems_1[_DYN_PUSH ](internalItem);
7787
+ });
7788
+ utlRemoveSessionStorage(logger, key);
7789
+ return transFormedItems_1;
7790
+ }
7791
+ catch (e) {
7792
+ }
7793
+ return [];
7794
+ }
7690
7795
  });
7691
7796
  return _this;
7692
7797
  }
7693
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
7694
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
7798
+ var _a;
7799
+ _a = SessionStorageSendBuffer;
7800
+ SessionStorageSendBuffer.VERSION = "_1";
7801
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
7802
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
7695
7803
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
7696
7804
  return SessionStorageSendBuffer;
7697
7805
  }(BaseSendBuffer));
@@ -7850,7 +7958,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7850
7958
  return 0;
7851
7959
  }
7852
7960
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7853
- input = input.concat(input);
7961
+ input = input[_DYN_CONCAT ](input);
7854
7962
  }
7855
7963
  var hash = 5381;
7856
7964
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7957,6 +8065,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7957
8065
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
7958
8066
  _a.transports = UNDEFINED_VALUE,
7959
8067
  _a.retryCodes = UNDEFINED_VALUE,
8068
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
7960
8069
  _a));
7961
8070
  function _chkSampling(value) {
7962
8071
  return !isNaN(value) && value > 0 && value <= 100;
@@ -8186,6 +8295,7 @@ var Sender = /** @class */ (function (_super) {
8186
8295
  }));
8187
8296
  };
8188
8297
  _self.processTelemetry = function (telemetryItem, itemCtx) {
8298
+ var _a;
8189
8299
  itemCtx = _self._getTelCtx(itemCtx);
8190
8300
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
8191
8301
  try {
@@ -8200,7 +8310,12 @@ var Sender = /** @class */ (function (_super) {
8200
8310
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
8201
8311
  var buffer = _self[_DYN__BUFFER ];
8202
8312
  _checkMaxSize(payload);
8203
- buffer[_DYN_ENQUEUE ](payload);
8313
+ var payloadItem = (_a = {},
8314
+ _a[_DYN_ITEM ] = payload,
8315
+ _a.cnt = 0
8316
+ ,
8317
+ _a);
8318
+ buffer[_DYN_ENQUEUE ](payloadItem);
8204
8319
  _setupTimer();
8205
8320
  }
8206
8321
  catch (e) {
@@ -8212,6 +8327,9 @@ var Sender = /** @class */ (function (_super) {
8212
8327
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
8213
8328
  };
8214
8329
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8330
+ if (_isStringArr(payload)) {
8331
+ return;
8332
+ }
8215
8333
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
8216
8334
  };
8217
8335
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -8267,40 +8385,27 @@ var Sender = /** @class */ (function (_super) {
8267
8385
  _initDefaults();
8268
8386
  };
8269
8387
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
8270
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
8271
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8388
+ if (_isStringArr(payload)) {
8389
+ return;
8390
+ }
8391
+ return _onError(payload, message);
8272
8392
  };
8273
8393
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
8274
- var failed = [];
8275
- var retry = [];
8276
- var errors = results.errors.reverse();
8277
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
8278
- var error = errors_1[_i];
8279
- var extracted = payload.splice(error.index, 1)[0];
8280
- if (_isRetriable(error.statusCode)) {
8281
- retry[_DYN_PUSH ](extracted);
8282
- }
8283
- else {
8284
- failed[_DYN_PUSH ](extracted);
8285
- }
8286
- }
8287
- if (payload[_DYN_LENGTH ] > 0) {
8288
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
8289
- }
8290
- if (failed[_DYN_LENGTH ] > 0) {
8291
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8292
- }
8293
- if (retry[_DYN_LENGTH ] > 0) {
8294
- _resendPayload(retry);
8295
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
8296
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
8297
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
8394
+ if (_isStringArr(payload)) {
8395
+ return;
8298
8396
  }
8397
+ return _onPartialSuccess(payload, results);
8299
8398
  };
8300
8399
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
8301
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8400
+ if (_isStringArr(payload)) {
8401
+ return;
8402
+ }
8403
+ return _onSuccess(payload);
8302
8404
  };
8303
8405
  _self._xdrOnLoad = function (xdr, payload) {
8406
+ if (_isStringArr(payload)) {
8407
+ return;
8408
+ }
8304
8409
  return _xdrOnLoad(xdr, payload);
8305
8410
  };
8306
8411
  function _xdrOnLoad(xdr, payload) {
@@ -8311,7 +8416,7 @@ var Sender = /** @class */ (function (_super) {
8311
8416
  }
8312
8417
  else {
8313
8418
  var results = parseResponse(responseText);
8314
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
8419
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
8315
8420
  && !_isRetryDisabled) {
8316
8421
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
8317
8422
  }
@@ -8369,6 +8474,40 @@ var Sender = /** @class */ (function (_super) {
8369
8474
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
8370
8475
  }
8371
8476
  }
8477
+ function _onError(payload, message, event) {
8478
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
8479
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8480
+ }
8481
+ function _onPartialSuccess(payload, results) {
8482
+ var failed = [];
8483
+ var retry = [];
8484
+ var errors = results.errors.reverse();
8485
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
8486
+ var error = errors_1[_i];
8487
+ var extracted = payload.splice(error.index, 1)[0];
8488
+ if (_isRetriable(error.statusCode)) {
8489
+ retry[_DYN_PUSH ](extracted);
8490
+ }
8491
+ else {
8492
+ failed[_DYN_PUSH ](extracted);
8493
+ }
8494
+ }
8495
+ if (payload[_DYN_LENGTH ] > 0) {
8496
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
8497
+ }
8498
+ if (failed[_DYN_LENGTH ] > 0) {
8499
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8500
+ }
8501
+ if (retry[_DYN_LENGTH ] > 0) {
8502
+ _resendPayload(retry);
8503
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
8504
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
8505
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
8506
+ }
8507
+ }
8508
+ function _onSuccess(payload, countOfItemsInPayload) {
8509
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8510
+ }
8372
8511
  function _getPayloadArr(payload) {
8373
8512
  try {
8374
8513
  if (payload) {
@@ -8636,12 +8775,22 @@ var Sender = /** @class */ (function (_super) {
8636
8775
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8637
8776
  }
8638
8777
  }
8778
+ function _isStringArr(arr) {
8779
+ try {
8780
+ if (arr && arr[_DYN_LENGTH ]) {
8781
+ return (isString(arr[0]));
8782
+ }
8783
+ }
8784
+ catch (e) {
8785
+ }
8786
+ return null;
8787
+ }
8639
8788
  function _fetchKeepAliveSender(payload, isAsync) {
8640
8789
  var transport = null;
8641
8790
  if (isArray(payload)) {
8642
8791
  var payloadSize = payload[_DYN_LENGTH ];
8643
8792
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8644
- payloadSize += payload[lp][_DYN_LENGTH ];
8793
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
8645
8794
  }
8646
8795
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8647
8796
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -8669,6 +8818,8 @@ var Sender = /** @class */ (function (_super) {
8669
8818
  _consecutiveErrors++;
8670
8819
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
8671
8820
  var item = payload_1[_i];
8821
+ item.cnt = item.cnt || 0;
8822
+ item.cnt++;
8672
8823
  buffer[_DYN_ENQUEUE ](item);
8673
8824
  }
8674
8825
  _setRetryTime(linearFactor);