@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,11 +1,11 @@
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) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_3_nightly3_240329_01", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.240329-01";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_3_nightly3_2404_12", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.2404-12";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -1394,14 +1394,19 @@ function throwAggregationError(message, sourceErrors) {
1394
1394
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1395
1395
  }
1396
1396
 
1397
+ var STR_PROMISE = "Promise";
1398
+ var REJECTED = "rejected";
1399
+
1397
1400
  function doAwaitResponse(value, cb) {
1398
1401
  return doAwait(value, function (value) {
1399
1402
  return cb ? cb({
1400
- value: value,
1401
- rejected: false
1403
+ status: "fulfilled",
1404
+ rejected: false,
1405
+ value: value
1402
1406
  }) : value;
1403
1407
  }, function (reason) {
1404
1408
  return cb ? cb({
1409
+ status: REJECTED,
1405
1410
  rejected: true,
1406
1411
  reason: reason
1407
1412
  }) : reason;
@@ -1409,18 +1414,32 @@ function doAwaitResponse(value, cb) {
1409
1414
  }
1410
1415
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
1411
1416
  var result = value;
1412
- if (isPromiseLike(value)) {
1413
- if (resolveFn || rejectFn) {
1414
- result = value.then(resolveFn, rejectFn);
1417
+ try {
1418
+ if (isPromiseLike(value)) {
1419
+ if (resolveFn || rejectFn) {
1420
+ result = value.then(resolveFn, rejectFn);
1421
+ }
1415
1422
  }
1416
- }
1417
- else {
1418
- if (resolveFn) {
1419
- result = resolveFn(value);
1423
+ else {
1424
+ try {
1425
+ if (resolveFn) {
1426
+ result = resolveFn(value);
1427
+ }
1428
+ }
1429
+ catch (err) {
1430
+ if (rejectFn) {
1431
+ result = rejectFn(err);
1432
+ }
1433
+ else {
1434
+ throw err;
1435
+ }
1436
+ }
1420
1437
  }
1421
1438
  }
1422
- if (finallyFn) {
1423
- doFinally(result, finallyFn);
1439
+ finally {
1440
+ if (finallyFn) {
1441
+ doFinally(result, finallyFn);
1442
+ }
1424
1443
  }
1425
1444
  return result;
1426
1445
  }
@@ -1448,21 +1467,22 @@ function doFinally(value, finallyFn) {
1448
1467
  return result;
1449
1468
  }
1450
1469
 
1451
- var STRING_STATES = [
1452
- "pending", "resolving", "resolved", "rejected"
1470
+ var STRING_STATES = [
1471
+ "pending", "resolving", "resolved", REJECTED
1453
1472
  ];
1454
1473
 
1455
1474
  var DISPATCH_EVENT = "dispatchEvent";
1456
1475
  var _hasInitEvent;
1476
+ function _hasInitEventFn(doc) {
1477
+ var evt;
1478
+ if (doc && doc.createEvent) {
1479
+ evt = doc.createEvent("Event");
1480
+ }
1481
+ return (!!evt && evt.initEvent);
1482
+ }
1457
1483
  function emitEvent(target, evtName, populateEvent, useNewEvent) {
1458
1484
  var doc = getDocument();
1459
- !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1460
- var evt;
1461
- if (doc && doc.createEvent) {
1462
- evt = doc.createEvent("Event");
1463
- }
1464
- return (!!evt && evt.initEvent);
1465
- }, null));
1485
+ !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));
1466
1486
  var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1467
1487
  populateEvent && populateEvent(theEvt);
1468
1488
  if (_hasInitEvent.v) {
@@ -1483,8 +1503,6 @@ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1483
1503
  }
1484
1504
  }
1485
1505
 
1486
- var STR_PROMISE = "Promise";
1487
-
1488
1506
  var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1489
1507
  var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1490
1508
  var _unhandledRejectionTimeout = 10;
@@ -1505,7 +1523,7 @@ function _createPromise(newPromise, processor, executor) {
1505
1523
  var _unHandledRejectionHandler = null;
1506
1524
  var _thePromise;
1507
1525
  !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1508
- var _then = function (onResolved, onRejected) {
1526
+ function _then(onResolved, onRejected) {
1509
1527
  try {
1510
1528
  _handled = true;
1511
1529
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
@@ -1540,11 +1558,11 @@ function _createPromise(newPromise, processor, executor) {
1540
1558
  }
1541
1559
  finally {
1542
1560
  }
1543
- };
1544
- var _catch = function (onRejected) {
1561
+ }
1562
+ function _catch(onRejected) {
1545
1563
  return _then(undefined, onRejected);
1546
- };
1547
- var _finally = function (onFinally) {
1564
+ }
1565
+ function _finally(onFinally) {
1548
1566
  var thenFinally = onFinally;
1549
1567
  var catchFinally = onFinally;
1550
1568
  if (isFunction(onFinally)) {
@@ -1558,21 +1576,21 @@ function _createPromise(newPromise, processor, executor) {
1558
1576
  };
1559
1577
  }
1560
1578
  return _then(thenFinally, catchFinally);
1561
- };
1562
- var _strState = function () {
1579
+ }
1580
+ function _strState() {
1563
1581
  return STRING_STATES[_state];
1564
- };
1565
- var _processQueue = function () {
1582
+ }
1583
+ function _processQueue() {
1566
1584
  if (_queue.length > 0) {
1567
1585
  var pending = _queue.slice();
1568
1586
  _queue = [];
1569
1587
  _handled = true;
1570
- processor(pending);
1571
1588
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1572
1589
  _unHandledRejectionHandler = null;
1590
+ processor(pending);
1573
1591
  }
1574
- };
1575
- var _createSettleIfFn = function (newState, allowState) {
1592
+ }
1593
+ function _createSettleIfFn(newState, allowState) {
1576
1594
  return function (theValue) {
1577
1595
  if (_state === allowState) {
1578
1596
  if (newState === 2 && isPromiseLike(theValue)) {
@@ -1589,9 +1607,10 @@ function _createPromise(newPromise, processor, executor) {
1589
1607
  }
1590
1608
  }
1591
1609
  };
1592
- };
1593
- var _notifyUnhandledRejection = function () {
1610
+ }
1611
+ function _notifyUnhandledRejection() {
1594
1612
  if (!_handled) {
1613
+ _handled = true;
1595
1614
  if (isNode()) {
1596
1615
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1597
1616
  }
@@ -1604,7 +1623,7 @@ function _createPromise(newPromise, processor, executor) {
1604
1623
  }, !!_hasPromiseRejectionEvent.v);
1605
1624
  }
1606
1625
  }
1607
- };
1626
+ }
1608
1627
  _thePromise = {
1609
1628
  then: _then,
1610
1629
  "catch": _catch,
@@ -1616,9 +1635,9 @@ function _createPromise(newPromise, processor, executor) {
1616
1635
  if (hasSymbol()) {
1617
1636
  _thePromise[getKnownSymbol(11 )] = "IPromise";
1618
1637
  }
1619
- var _toString = function () {
1620
- return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1621
- };
1638
+ function _toString() {
1639
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "") + ("");
1640
+ }
1622
1641
  _thePromise.toString = _toString;
1623
1642
  (function _initialize() {
1624
1643
  if (!isFunction(executor)) {
@@ -1634,6 +1653,7 @@ function _createPromise(newPromise, processor, executor) {
1634
1653
  })();
1635
1654
  return _thePromise;
1636
1655
  }
1656
+ /*#__NO_SIDE_EFFECTS__*/
1637
1657
  function _createAllPromise(newPromise) {
1638
1658
  return function (input) {
1639
1659
  var additionalArgs = arrSlice(arguments, 1);
@@ -1641,7 +1661,7 @@ function _createAllPromise(newPromise) {
1641
1661
  try {
1642
1662
  var values_1 = [];
1643
1663
  var pending_1 = 1;
1644
- arrForEach(input, function (item, idx) {
1664
+ iterForOf(input, function (item, idx) {
1645
1665
  if (item) {
1646
1666
  pending_1++;
1647
1667
  doAwait(item, function (value) {
@@ -1664,7 +1684,7 @@ function _createAllPromise(newPromise) {
1664
1684
  };
1665
1685
  }
1666
1686
 
1667
- var _processPendingItems = function (pending) {
1687
+ function syncItemProcessor(pending) {
1668
1688
  arrForEach(pending, function (fn) {
1669
1689
  try {
1670
1690
  fn();
@@ -1672,12 +1692,12 @@ var _processPendingItems = function (pending) {
1672
1692
  catch (e) {
1673
1693
  }
1674
1694
  });
1675
- };
1695
+ }
1676
1696
  function timeoutItemProcessor(timeout) {
1677
1697
  var callbackTimeout = isNumber(timeout) ? timeout : 0;
1678
1698
  return function (pending) {
1679
1699
  scheduleTimeout(function () {
1680
- _processPendingItems(pending);
1700
+ syncItemProcessor(pending);
1681
1701
  }, callbackTimeout);
1682
1702
  };
1683
1703
  }
@@ -1686,10 +1706,10 @@ function createAsyncPromise(executor, timeout) {
1686
1706
  return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1687
1707
  }
1688
1708
 
1689
- var _isPromiseSupported;
1709
+ var _promiseCls;
1690
1710
  function createNativePromise(executor, timeout) {
1691
- !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1692
- var PrmCls = _isPromiseSupported.v;
1711
+ !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));
1712
+ var PrmCls = _promiseCls.v;
1693
1713
  if (!PrmCls) {
1694
1714
  return createAsyncPromise(executor);
1695
1715
  }
@@ -1719,10 +1739,10 @@ function createNativePromise(executor, timeout) {
1719
1739
 
1720
1740
  var _promiseCreator;
1721
1741
  function createPromise(executor, timeout) {
1722
- !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1742
+ !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1723
1743
  return _promiseCreator.v.call(this, executor, timeout);
1724
1744
  }
1725
- var createAllPromise = _createAllPromise(createPromise);
1745
+ var createAllPromise = /*#__PURE__*/ _createAllPromise(createPromise);
1726
1746
 
1727
1747
  var UNDEFINED_VALUE$1 = undefined;
1728
1748
  var STR_EMPTY$1 = "";
@@ -5477,7 +5497,9 @@ var SenderPostManager = /** @class */ (function () {
5477
5497
  return;
5478
5498
  }
5479
5499
  var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
5480
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5500
+ if (!_isOneDs) {
5501
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5502
+ }
5481
5503
  arrForEach(objKeys(headers), function (headerName) {
5482
5504
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
5483
5505
  });
@@ -6217,6 +6239,20 @@ function utlSetSessionStorage(logger, name, data) {
6217
6239
  }
6218
6240
  return false;
6219
6241
  }
6242
+ function utlRemoveSessionStorage(logger, name) {
6243
+ var storage = _getSessionStorageObject();
6244
+ if (storage !== null) {
6245
+ try {
6246
+ storage[_DYN_REMOVE_ITEM ](name);
6247
+ return true;
6248
+ }
6249
+ catch (e) {
6250
+ _canUseSessionStorage = false;
6251
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
6252
+ }
6253
+ }
6254
+ return false;
6255
+ }
6220
6256
 
6221
6257
  var _FIELDS_SEPARATOR = ";";
6222
6258
  var _FIELD_KEY_VALUE_SEPARATOR = "=";
@@ -7194,6 +7230,7 @@ var _DYN_ENQUEUE = "enqueue";
7194
7230
  var _DYN_COUNT = "count";
7195
7231
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
7196
7232
  var _DYN_PUSH = "push";
7233
+ var _DYN_ITEM = "item";
7197
7234
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
7198
7235
  var _DYN_CLEAR = "clear";
7199
7236
  var _DYN_CREATE_NEW = "createNew";
@@ -7202,6 +7239,7 @@ var _DYN_CLEAR_SENT = "clearSent";
7202
7239
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
7203
7240
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
7204
7241
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
7242
+ var _DYN_CONCAT = "concat";
7205
7243
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
7206
7244
  var _DYN_TRIGGER_SEND = "triggerSend";
7207
7245
  var _DYN_DIAG_LOG = "diagLog";
@@ -7227,8 +7265,8 @@ var _DYN_SERIALIZE = "serialize";
7227
7265
  var _DYN__ON_ERROR = "_onError";
7228
7266
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
7229
7267
  var _DYN__ON_SUCCESS = "_onSuccess";
7230
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
7231
7268
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7269
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
7232
7270
  var _DYN_ORI_PAYLOAD = "oriPayload";
7233
7271
  var _DYN_BASE_TYPE = "baseType";
7234
7272
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -7280,6 +7318,7 @@ function _extractPartAExtensions(logger, item, env) {
7280
7318
  var extOs = itmExt.os;
7281
7319
  if (extOs) {
7282
7320
  _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
7321
+ _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);
7283
7322
  }
7284
7323
  var extTrace = itmExt.trace;
7285
7324
  if (extTrace) {
@@ -7345,7 +7384,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
7345
7384
  }
7346
7385
  }
7347
7386
  var EnvelopeCreator = {
7348
- Version: '3.1.3-nightly3.240329-01'
7387
+ Version: '3.1.3-nightly3.2404-12'
7349
7388
  };
7350
7389
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
7351
7390
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7498,6 +7537,7 @@ var BaseSendBuffer = /** @class */ (function () {
7498
7537
  function BaseSendBuffer(logger, config) {
7499
7538
  var _buffer = [];
7500
7539
  var _bufferFullMessageSent = false;
7540
+ var _maxRetryCnt = config.maxRetryCnt;
7501
7541
  this[_DYN__GET ] = function () {
7502
7542
  return _buffer;
7503
7543
  };
@@ -7514,7 +7554,14 @@ var BaseSendBuffer = /** @class */ (function () {
7514
7554
  }
7515
7555
  return;
7516
7556
  }
7557
+ payload.cnt = payload.cnt || 0;
7558
+ if (!isNullOrUndefined(_maxRetryCnt)) {
7559
+ if (payload.cnt > _maxRetryCnt) {
7560
+ return;
7561
+ }
7562
+ }
7517
7563
  _buffer[_DYN_PUSH ](payload);
7564
+ return;
7518
7565
  };
7519
7566
  _self[_DYN_COUNT ] = function () {
7520
7567
  return _buffer[_DYN_LENGTH ];
@@ -7522,7 +7569,7 @@ var BaseSendBuffer = /** @class */ (function () {
7522
7569
  _self.size = function () {
7523
7570
  var size = _buffer[_DYN_LENGTH ];
7524
7571
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
7525
- size += _buffer[lp][_DYN_LENGTH ];
7572
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
7526
7573
  }
7527
7574
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
7528
7575
  size += 2;
@@ -7536,11 +7583,15 @@ var BaseSendBuffer = /** @class */ (function () {
7536
7583
  _self.getItems = function () {
7537
7584
  return _buffer.slice(0);
7538
7585
  };
7539
- _self.batchPayloads = function (payload) {
7540
- if (payload && payload[_DYN_LENGTH ] > 0) {
7586
+ _self.batchPayloads = function (payloads) {
7587
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
7588
+ var payloadStr_1 = [];
7589
+ arrForEach(payloads, function (payload) {
7590
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
7591
+ });
7541
7592
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
7542
- payload.join("\n") :
7543
- "[" + payload.join(",") + "]";
7593
+ payloadStr_1.join("\n") :
7594
+ "[" + payloadStr_1.join(",") + "]";
7544
7595
  return batch;
7545
7596
  }
7546
7597
  return null;
@@ -7576,17 +7627,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
7576
7627
  ArraySendBuffer.__ieDyn=1;
7577
7628
  return ArraySendBuffer;
7578
7629
  }(BaseSendBuffer));
7630
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
7579
7631
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
7580
7632
  __extendsFn(SessionStorageSendBuffer, _super);
7581
7633
  function SessionStorageSendBuffer(logger, config) {
7582
7634
  var _this = _super.call(this, logger, config) || this;
7583
7635
  var _bufferFullMessageSent = false;
7584
7636
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
7585
- var _a = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;
7637
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
7638
+ var _maxRetryCnt = config.maxRetryCnt;
7586
7639
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
7587
7640
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
7588
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7589
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
7641
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7642
+ var previousItems = _getPreviousEvents();
7643
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
7644
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7590
7645
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7591
7646
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
7592
7647
  }
@@ -7600,6 +7655,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7600
7655
  }
7601
7656
  return;
7602
7657
  }
7658
+ payload.cnt = payload.cnt || 0;
7659
+ if (!isNullOrUndefined(_maxRetryCnt)) {
7660
+ if (payload.cnt > _maxRetryCnt) {
7661
+ return;
7662
+ }
7663
+ }
7603
7664
  _base[_DYN_ENQUEUE ](payload);
7604
7665
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
7605
7666
  };
@@ -7613,7 +7674,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7613
7674
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7614
7675
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7615
7676
  if (sentElements instanceof Array && payload instanceof Array) {
7616
- sentElements = sentElements.concat(payload);
7677
+ sentElements = sentElements[_DYN_CONCAT ](payload);
7617
7678
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7618
7679
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7619
7680
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7644,8 +7705,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7644
7705
  };
7645
7706
  function _removePayloadsFromBuffer(payloads, buffer) {
7646
7707
  var remaining = [];
7708
+ var payloadStr = [];
7709
+ arrForEach(payloads, function (payload) {
7710
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
7711
+ });
7647
7712
  arrForEach(buffer, function (value) {
7648
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
7713
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
7649
7714
  remaining[_DYN_PUSH ](value);
7650
7715
  }
7651
7716
  });
@@ -7653,9 +7718,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7653
7718
  }
7654
7719
  function _getBuffer(key) {
7655
7720
  var prefixedKey = key;
7721
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
7722
+ return _getBufferBase(prefixedKey);
7723
+ }
7724
+ function _getBufferBase(key) {
7656
7725
  try {
7657
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
7658
- var bufferJson = getItem(logger, prefixedKey);
7726
+ var bufferJson = getItem(logger, key);
7659
7727
  if (bufferJson) {
7660
7728
  var buffer_1 = getJSON().parse(bufferJson);
7661
7729
  if (isString(buffer_1)) {
@@ -7667,7 +7735,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7667
7735
  }
7668
7736
  }
7669
7737
  catch (e) {
7670
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
7738
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
7671
7739
  }
7672
7740
  return [];
7673
7741
  }
@@ -7683,11 +7751,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7683
7751
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
7684
7752
  }
7685
7753
  }
7754
+ function _getPreviousEvents() {
7755
+ var items = [];
7756
+ try {
7757
+ arrForEach(PREVIOUS_KEYS, function (key) {
7758
+ var events = _getItemsFromPreviousKey(key);
7759
+ items = items[_DYN_CONCAT ](events);
7760
+ if (_namePrefix) {
7761
+ var prefixedKey = _namePrefix + "_" + key;
7762
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
7763
+ items = items[_DYN_CONCAT ](prefixEvents);
7764
+ }
7765
+ });
7766
+ return items;
7767
+ }
7768
+ catch (e) {
7769
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
7770
+ }
7771
+ return [];
7772
+ }
7773
+ function _getItemsFromPreviousKey(key) {
7774
+ try {
7775
+ var items = _getBufferBase(key);
7776
+ var transFormedItems_1 = [];
7777
+ arrForEach(items, function (item) {
7778
+ var internalItem = {
7779
+ item: item,
7780
+ cnt: 0
7781
+ };
7782
+ transFormedItems_1[_DYN_PUSH ](internalItem);
7783
+ });
7784
+ utlRemoveSessionStorage(logger, key);
7785
+ return transFormedItems_1;
7786
+ }
7787
+ catch (e) {
7788
+ }
7789
+ return [];
7790
+ }
7686
7791
  });
7687
7792
  return _this;
7688
7793
  }
7689
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
7690
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
7794
+ var _a;
7795
+ _a = SessionStorageSendBuffer;
7796
+ SessionStorageSendBuffer.VERSION = "_1";
7797
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
7798
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
7691
7799
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
7692
7800
  return SessionStorageSendBuffer;
7693
7801
  }(BaseSendBuffer));
@@ -7846,7 +7954,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7846
7954
  return 0;
7847
7955
  }
7848
7956
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7849
- input = input.concat(input);
7957
+ input = input[_DYN_CONCAT ](input);
7850
7958
  }
7851
7959
  var hash = 5381;
7852
7960
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7953,6 +8061,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7953
8061
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
7954
8062
  _a.transports = UNDEFINED_VALUE,
7955
8063
  _a.retryCodes = UNDEFINED_VALUE,
8064
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
7956
8065
  _a));
7957
8066
  function _chkSampling(value) {
7958
8067
  return !isNaN(value) && value > 0 && value <= 100;
@@ -8182,6 +8291,7 @@ var Sender = /** @class */ (function (_super) {
8182
8291
  }));
8183
8292
  };
8184
8293
  _self.processTelemetry = function (telemetryItem, itemCtx) {
8294
+ var _a;
8185
8295
  itemCtx = _self._getTelCtx(itemCtx);
8186
8296
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
8187
8297
  try {
@@ -8196,7 +8306,12 @@ var Sender = /** @class */ (function (_super) {
8196
8306
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
8197
8307
  var buffer = _self[_DYN__BUFFER ];
8198
8308
  _checkMaxSize(payload);
8199
- buffer[_DYN_ENQUEUE ](payload);
8309
+ var payloadItem = (_a = {},
8310
+ _a[_DYN_ITEM ] = payload,
8311
+ _a.cnt = 0
8312
+ ,
8313
+ _a);
8314
+ buffer[_DYN_ENQUEUE ](payloadItem);
8200
8315
  _setupTimer();
8201
8316
  }
8202
8317
  catch (e) {
@@ -8208,6 +8323,9 @@ var Sender = /** @class */ (function (_super) {
8208
8323
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
8209
8324
  };
8210
8325
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8326
+ if (_isStringArr(payload)) {
8327
+ return;
8328
+ }
8211
8329
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
8212
8330
  };
8213
8331
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -8263,40 +8381,27 @@ var Sender = /** @class */ (function (_super) {
8263
8381
  _initDefaults();
8264
8382
  };
8265
8383
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
8266
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
8267
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8384
+ if (_isStringArr(payload)) {
8385
+ return;
8386
+ }
8387
+ return _onError(payload, message);
8268
8388
  };
8269
8389
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
8270
- var failed = [];
8271
- var retry = [];
8272
- var errors = results.errors.reverse();
8273
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
8274
- var error = errors_1[_i];
8275
- var extracted = payload.splice(error.index, 1)[0];
8276
- if (_isRetriable(error.statusCode)) {
8277
- retry[_DYN_PUSH ](extracted);
8278
- }
8279
- else {
8280
- failed[_DYN_PUSH ](extracted);
8281
- }
8282
- }
8283
- if (payload[_DYN_LENGTH ] > 0) {
8284
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
8285
- }
8286
- if (failed[_DYN_LENGTH ] > 0) {
8287
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8288
- }
8289
- if (retry[_DYN_LENGTH ] > 0) {
8290
- _resendPayload(retry);
8291
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
8292
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
8293
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
8390
+ if (_isStringArr(payload)) {
8391
+ return;
8294
8392
  }
8393
+ return _onPartialSuccess(payload, results);
8295
8394
  };
8296
8395
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
8297
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8396
+ if (_isStringArr(payload)) {
8397
+ return;
8398
+ }
8399
+ return _onSuccess(payload);
8298
8400
  };
8299
8401
  _self._xdrOnLoad = function (xdr, payload) {
8402
+ if (_isStringArr(payload)) {
8403
+ return;
8404
+ }
8300
8405
  return _xdrOnLoad(xdr, payload);
8301
8406
  };
8302
8407
  function _xdrOnLoad(xdr, payload) {
@@ -8307,7 +8412,7 @@ var Sender = /** @class */ (function (_super) {
8307
8412
  }
8308
8413
  else {
8309
8414
  var results = parseResponse(responseText);
8310
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
8415
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
8311
8416
  && !_isRetryDisabled) {
8312
8417
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
8313
8418
  }
@@ -8365,6 +8470,40 @@ var Sender = /** @class */ (function (_super) {
8365
8470
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
8366
8471
  }
8367
8472
  }
8473
+ function _onError(payload, message, event) {
8474
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
8475
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8476
+ }
8477
+ function _onPartialSuccess(payload, results) {
8478
+ var failed = [];
8479
+ var retry = [];
8480
+ var errors = results.errors.reverse();
8481
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
8482
+ var error = errors_1[_i];
8483
+ var extracted = payload.splice(error.index, 1)[0];
8484
+ if (_isRetriable(error.statusCode)) {
8485
+ retry[_DYN_PUSH ](extracted);
8486
+ }
8487
+ else {
8488
+ failed[_DYN_PUSH ](extracted);
8489
+ }
8490
+ }
8491
+ if (payload[_DYN_LENGTH ] > 0) {
8492
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
8493
+ }
8494
+ if (failed[_DYN_LENGTH ] > 0) {
8495
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8496
+ }
8497
+ if (retry[_DYN_LENGTH ] > 0) {
8498
+ _resendPayload(retry);
8499
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
8500
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
8501
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
8502
+ }
8503
+ }
8504
+ function _onSuccess(payload, countOfItemsInPayload) {
8505
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
8506
+ }
8368
8507
  function _getPayloadArr(payload) {
8369
8508
  try {
8370
8509
  if (payload) {
@@ -8632,12 +8771,22 @@ var Sender = /** @class */ (function (_super) {
8632
8771
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8633
8772
  }
8634
8773
  }
8774
+ function _isStringArr(arr) {
8775
+ try {
8776
+ if (arr && arr[_DYN_LENGTH ]) {
8777
+ return (isString(arr[0]));
8778
+ }
8779
+ }
8780
+ catch (e) {
8781
+ }
8782
+ return null;
8783
+ }
8635
8784
  function _fetchKeepAliveSender(payload, isAsync) {
8636
8785
  var transport = null;
8637
8786
  if (isArray(payload)) {
8638
8787
  var payloadSize = payload[_DYN_LENGTH ];
8639
8788
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8640
- payloadSize += payload[lp][_DYN_LENGTH ];
8789
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
8641
8790
  }
8642
8791
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8643
8792
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -8665,6 +8814,8 @@ var Sender = /** @class */ (function (_super) {
8665
8814
  _consecutiveErrors++;
8666
8815
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
8667
8816
  var item = payload_1[_i];
8817
+ item.cnt = item.cnt || 0;
8818
+ item.cnt++;
8668
8819
  buffer[_DYN_ENQUEUE ](item);
8669
8820
  }
8670
8821
  _setRetryTime(linearFactor);