@microsoft/applicationinsights-channel-js 3.1.3-nightly3.2403-15 → 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 (59) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.2403-15.js → applicationinsights-channel-js.3.1.3-nightly3.2404-12.cjs.js} +248 -125
  2. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.cjs.min.js.map +1 -0
  5. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.2403-15.gbl.js → applicationinsights-channel-js.3.1.3-nightly3.2404-12.gbl.js} +250 -100
  6. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.2403-15.cjs.js → applicationinsights-channel-js.3.1.3-nightly3.2404-12.js} +275 -98
  11. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2404-12.min.js.map +1 -0
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +247 -97
  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 +249 -99
  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 +249 -99
  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 +247 -97
  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 +3 -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 -49
  50. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.cjs.js.map +0 -1
  51. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.cjs.min.js +0 -6
  52. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.cjs.min.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.gbl.js.map +0 -1
  54. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.gbl.min.js +0 -6
  55. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.gbl.min.js.map +0 -1
  56. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.integrity.json +0 -66
  57. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.js.map +0 -1
  58. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.min.js +0 -6
  59. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.2403-15.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.1.3-nightly3.2403-15
2
+ * Application Insights JavaScript SDK - Channel, 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_applicationinsights_channel_js_3_1_3_nightly3_2403_15", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.2403-15";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_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]||{});
@@ -1190,14 +1190,19 @@ function throwAggregationError(message, sourceErrors) {
1190
1190
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1191
1191
  }
1192
1192
 
1193
+ var STR_PROMISE = "Promise";
1194
+ var REJECTED = "rejected";
1195
+
1193
1196
  function doAwaitResponse(value, cb) {
1194
1197
  return doAwait(value, function (value) {
1195
1198
  return cb ? cb({
1196
- value: value,
1197
- rejected: false
1199
+ status: "fulfilled",
1200
+ rejected: false,
1201
+ value: value
1198
1202
  }) : value;
1199
1203
  }, function (reason) {
1200
1204
  return cb ? cb({
1205
+ status: REJECTED,
1201
1206
  rejected: true,
1202
1207
  reason: reason
1203
1208
  }) : reason;
@@ -1205,18 +1210,32 @@ function doAwaitResponse(value, cb) {
1205
1210
  }
1206
1211
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
1207
1212
  var result = value;
1208
- if (isPromiseLike(value)) {
1209
- if (resolveFn || rejectFn) {
1210
- result = value.then(resolveFn, rejectFn);
1213
+ try {
1214
+ if (isPromiseLike(value)) {
1215
+ if (resolveFn || rejectFn) {
1216
+ result = value.then(resolveFn, rejectFn);
1217
+ }
1211
1218
  }
1212
- }
1213
- else {
1214
- if (resolveFn) {
1215
- result = resolveFn(value);
1219
+ else {
1220
+ try {
1221
+ if (resolveFn) {
1222
+ result = resolveFn(value);
1223
+ }
1224
+ }
1225
+ catch (err) {
1226
+ if (rejectFn) {
1227
+ result = rejectFn(err);
1228
+ }
1229
+ else {
1230
+ throw err;
1231
+ }
1232
+ }
1216
1233
  }
1217
1234
  }
1218
- if (finallyFn) {
1219
- doFinally(result, finallyFn);
1235
+ finally {
1236
+ if (finallyFn) {
1237
+ doFinally(result, finallyFn);
1238
+ }
1220
1239
  }
1221
1240
  return result;
1222
1241
  }
@@ -1244,21 +1263,22 @@ function doFinally(value, finallyFn) {
1244
1263
  return result;
1245
1264
  }
1246
1265
 
1247
- var STRING_STATES = [
1248
- "pending", "resolving", "resolved", "rejected"
1266
+ var STRING_STATES = [
1267
+ "pending", "resolving", "resolved", REJECTED
1249
1268
  ];
1250
1269
 
1251
1270
  var DISPATCH_EVENT = "dispatchEvent";
1252
1271
  var _hasInitEvent;
1272
+ function _hasInitEventFn(doc) {
1273
+ var evt;
1274
+ if (doc && doc.createEvent) {
1275
+ evt = doc.createEvent("Event");
1276
+ }
1277
+ return (!!evt && evt.initEvent);
1278
+ }
1253
1279
  function emitEvent(target, evtName, populateEvent, useNewEvent) {
1254
1280
  var doc = getDocument();
1255
- !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1256
- var evt;
1257
- if (doc && doc.createEvent) {
1258
- evt = doc.createEvent("Event");
1259
- }
1260
- return (!!evt && evt.initEvent);
1261
- }, null));
1281
+ !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));
1262
1282
  var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1263
1283
  populateEvent && populateEvent(theEvt);
1264
1284
  if (_hasInitEvent.v) {
@@ -1279,8 +1299,6 @@ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1279
1299
  }
1280
1300
  }
1281
1301
 
1282
- var STR_PROMISE = "Promise";
1283
-
1284
1302
  var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1285
1303
  var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1286
1304
  var _unhandledRejectionTimeout = 10;
@@ -1301,7 +1319,7 @@ function _createPromise(newPromise, processor, executor) {
1301
1319
  var _unHandledRejectionHandler = null;
1302
1320
  var _thePromise;
1303
1321
  !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1304
- var _then = function (onResolved, onRejected) {
1322
+ function _then(onResolved, onRejected) {
1305
1323
  try {
1306
1324
  _handled = true;
1307
1325
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
@@ -1336,11 +1354,11 @@ function _createPromise(newPromise, processor, executor) {
1336
1354
  }
1337
1355
  finally {
1338
1356
  }
1339
- };
1340
- var _catch = function (onRejected) {
1357
+ }
1358
+ function _catch(onRejected) {
1341
1359
  return _then(undefined, onRejected);
1342
- };
1343
- var _finally = function (onFinally) {
1360
+ }
1361
+ function _finally(onFinally) {
1344
1362
  var thenFinally = onFinally;
1345
1363
  var catchFinally = onFinally;
1346
1364
  if (isFunction(onFinally)) {
@@ -1354,21 +1372,21 @@ function _createPromise(newPromise, processor, executor) {
1354
1372
  };
1355
1373
  }
1356
1374
  return _then(thenFinally, catchFinally);
1357
- };
1358
- var _strState = function () {
1375
+ }
1376
+ function _strState() {
1359
1377
  return STRING_STATES[_state];
1360
- };
1361
- var _processQueue = function () {
1378
+ }
1379
+ function _processQueue() {
1362
1380
  if (_queue.length > 0) {
1363
1381
  var pending = _queue.slice();
1364
1382
  _queue = [];
1365
1383
  _handled = true;
1366
- processor(pending);
1367
1384
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1368
1385
  _unHandledRejectionHandler = null;
1386
+ processor(pending);
1369
1387
  }
1370
- };
1371
- var _createSettleIfFn = function (newState, allowState) {
1388
+ }
1389
+ function _createSettleIfFn(newState, allowState) {
1372
1390
  return function (theValue) {
1373
1391
  if (_state === allowState) {
1374
1392
  if (newState === 2 && isPromiseLike(theValue)) {
@@ -1385,9 +1403,10 @@ function _createPromise(newPromise, processor, executor) {
1385
1403
  }
1386
1404
  }
1387
1405
  };
1388
- };
1389
- var _notifyUnhandledRejection = function () {
1406
+ }
1407
+ function _notifyUnhandledRejection() {
1390
1408
  if (!_handled) {
1409
+ _handled = true;
1391
1410
  if (isNode()) {
1392
1411
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1393
1412
  }
@@ -1400,7 +1419,7 @@ function _createPromise(newPromise, processor, executor) {
1400
1419
  }, !!_hasPromiseRejectionEvent.v);
1401
1420
  }
1402
1421
  }
1403
- };
1422
+ }
1404
1423
  _thePromise = {
1405
1424
  then: _then,
1406
1425
  "catch": _catch,
@@ -1412,9 +1431,9 @@ function _createPromise(newPromise, processor, executor) {
1412
1431
  if (hasSymbol()) {
1413
1432
  _thePromise[getKnownSymbol(11 )] = "IPromise";
1414
1433
  }
1415
- var _toString = function () {
1416
- return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1417
- };
1434
+ function _toString() {
1435
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "") + ("");
1436
+ }
1418
1437
  _thePromise.toString = _toString;
1419
1438
  (function _initialize() {
1420
1439
  if (!isFunction(executor)) {
@@ -1431,7 +1450,7 @@ function _createPromise(newPromise, processor, executor) {
1431
1450
  return _thePromise;
1432
1451
  }
1433
1452
 
1434
- var _processPendingItems = function (pending) {
1453
+ function syncItemProcessor(pending) {
1435
1454
  arrForEach(pending, function (fn) {
1436
1455
  try {
1437
1456
  fn();
@@ -1439,12 +1458,12 @@ var _processPendingItems = function (pending) {
1439
1458
  catch (e) {
1440
1459
  }
1441
1460
  });
1442
- };
1461
+ }
1443
1462
  function timeoutItemProcessor(timeout) {
1444
1463
  var callbackTimeout = isNumber(timeout) ? timeout : 0;
1445
1464
  return function (pending) {
1446
1465
  scheduleTimeout(function () {
1447
- _processPendingItems(pending);
1466
+ syncItemProcessor(pending);
1448
1467
  }, callbackTimeout);
1449
1468
  };
1450
1469
  }
@@ -1453,10 +1472,10 @@ function createAsyncPromise(executor, timeout) {
1453
1472
  return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1454
1473
  }
1455
1474
 
1456
- var _isPromiseSupported;
1475
+ var _promiseCls;
1457
1476
  function createNativePromise(executor, timeout) {
1458
- !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1459
- var PrmCls = _isPromiseSupported.v;
1477
+ !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));
1478
+ var PrmCls = _promiseCls.v;
1460
1479
  if (!PrmCls) {
1461
1480
  return createAsyncPromise(executor);
1462
1481
  }
@@ -1486,7 +1505,7 @@ function createNativePromise(executor, timeout) {
1486
1505
 
1487
1506
  var _promiseCreator;
1488
1507
  function createPromise(executor, timeout) {
1489
- !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1508
+ !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1490
1509
  return _promiseCreator.v.call(this, executor, timeout);
1491
1510
  }
1492
1511
 
@@ -3724,7 +3743,9 @@ var SenderPostManager = /** @class */ (function () {
3724
3743
  return;
3725
3744
  }
3726
3745
  var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
3727
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3746
+ if (!_isOneDs) {
3747
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3748
+ }
3728
3749
  arrForEach(objKeys(headers), function (headerName) {
3729
3750
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
3730
3751
  });
@@ -4463,6 +4484,20 @@ function utlSetSessionStorage(logger, name, data) {
4463
4484
  }
4464
4485
  return false;
4465
4486
  }
4487
+ function utlRemoveSessionStorage(logger, name) {
4488
+ var storage = _getSessionStorageObject();
4489
+ if (storage !== null) {
4490
+ try {
4491
+ storage[_DYN_REMOVE_ITEM ](name);
4492
+ return true;
4493
+ }
4494
+ catch (e) {
4495
+ _canUseSessionStorage = false;
4496
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
4497
+ }
4498
+ }
4499
+ return false;
4500
+ }
4466
4501
 
4467
4502
  var Envelope = /** @class */ (function () {
4468
4503
  function Envelope(logger, data, name) {
@@ -5403,6 +5438,7 @@ var _DYN_ENQUEUE = "enqueue";
5403
5438
  var _DYN_COUNT = "count";
5404
5439
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
5405
5440
  var _DYN_PUSH = "push";
5441
+ var _DYN_ITEM = "item";
5406
5442
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
5407
5443
  var _DYN_CLEAR = "clear";
5408
5444
  var _DYN_CREATE_NEW = "createNew";
@@ -5411,6 +5447,7 @@ var _DYN_CLEAR_SENT = "clearSent";
5411
5447
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
5412
5448
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
5413
5449
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
5450
+ var _DYN_CONCAT = "concat";
5414
5451
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
5415
5452
  var _DYN_TRIGGER_SEND = "triggerSend";
5416
5453
  var _DYN_DIAG_LOG = "diagLog";
@@ -5436,8 +5473,8 @@ var _DYN_SERIALIZE = "serialize";
5436
5473
  var _DYN__ON_ERROR = "_onError";
5437
5474
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
5438
5475
  var _DYN__ON_SUCCESS = "_onSuccess";
5439
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5440
5476
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5477
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5441
5478
  var _DYN_ORI_PAYLOAD = "oriPayload";
5442
5479
  var _DYN_BASE_TYPE = "baseType";
5443
5480
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -5489,6 +5526,7 @@ function _extractPartAExtensions(logger, item, env) {
5489
5526
  var extOs = itmExt.os;
5490
5527
  if (extOs) {
5491
5528
  _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
5529
+ _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);
5492
5530
  }
5493
5531
  var extTrace = itmExt.trace;
5494
5532
  if (extTrace) {
@@ -5554,7 +5592,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
5554
5592
  }
5555
5593
  }
5556
5594
  var EnvelopeCreator = {
5557
- Version: '3.1.3-nightly3.2403-15'
5595
+ Version: '3.1.3-nightly3.2404-12'
5558
5596
  };
5559
5597
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
5560
5598
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5707,6 +5745,7 @@ var BaseSendBuffer = /** @class */ (function () {
5707
5745
  function BaseSendBuffer(logger, config) {
5708
5746
  var _buffer = [];
5709
5747
  var _bufferFullMessageSent = false;
5748
+ var _maxRetryCnt = config.maxRetryCnt;
5710
5749
  this[_DYN__GET ] = function () {
5711
5750
  return _buffer;
5712
5751
  };
@@ -5723,7 +5762,14 @@ var BaseSendBuffer = /** @class */ (function () {
5723
5762
  }
5724
5763
  return;
5725
5764
  }
5765
+ payload.cnt = payload.cnt || 0;
5766
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5767
+ if (payload.cnt > _maxRetryCnt) {
5768
+ return;
5769
+ }
5770
+ }
5726
5771
  _buffer[_DYN_PUSH ](payload);
5772
+ return;
5727
5773
  };
5728
5774
  _self[_DYN_COUNT ] = function () {
5729
5775
  return _buffer[_DYN_LENGTH ];
@@ -5731,7 +5777,7 @@ var BaseSendBuffer = /** @class */ (function () {
5731
5777
  _self.size = function () {
5732
5778
  var size = _buffer[_DYN_LENGTH ];
5733
5779
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
5734
- size += _buffer[lp][_DYN_LENGTH ];
5780
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
5735
5781
  }
5736
5782
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
5737
5783
  size += 2;
@@ -5745,11 +5791,15 @@ var BaseSendBuffer = /** @class */ (function () {
5745
5791
  _self.getItems = function () {
5746
5792
  return _buffer.slice(0);
5747
5793
  };
5748
- _self.batchPayloads = function (payload) {
5749
- if (payload && payload[_DYN_LENGTH ] > 0) {
5794
+ _self.batchPayloads = function (payloads) {
5795
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
5796
+ var payloadStr_1 = [];
5797
+ arrForEach(payloads, function (payload) {
5798
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
5799
+ });
5750
5800
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5751
- payload.join("\n") :
5752
- "[" + payload.join(",") + "]";
5801
+ payloadStr_1.join("\n") :
5802
+ "[" + payloadStr_1.join(",") + "]";
5753
5803
  return batch;
5754
5804
  }
5755
5805
  return null;
@@ -5785,17 +5835,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
5785
5835
  ArraySendBuffer.__ieDyn=1;
5786
5836
  return ArraySendBuffer;
5787
5837
  }(BaseSendBuffer));
5838
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
5788
5839
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
5789
5840
  __extendsFn(SessionStorageSendBuffer, _super);
5790
5841
  function SessionStorageSendBuffer(logger, config) {
5791
5842
  var _this = _super.call(this, logger, config) || this;
5792
5843
  var _bufferFullMessageSent = false;
5793
5844
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
5794
- var _a = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;
5845
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
5846
+ var _maxRetryCnt = config.maxRetryCnt;
5795
5847
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5796
5848
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5797
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5798
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5849
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5850
+ var previousItems = _getPreviousEvents();
5851
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
5852
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5799
5853
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5800
5854
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5801
5855
  }
@@ -5809,6 +5863,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5809
5863
  }
5810
5864
  return;
5811
5865
  }
5866
+ payload.cnt = payload.cnt || 0;
5867
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5868
+ if (payload.cnt > _maxRetryCnt) {
5869
+ return;
5870
+ }
5871
+ }
5812
5872
  _base[_DYN_ENQUEUE ](payload);
5813
5873
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
5814
5874
  };
@@ -5822,7 +5882,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5822
5882
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5823
5883
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5824
5884
  if (sentElements instanceof Array && payload instanceof Array) {
5825
- sentElements = sentElements.concat(payload);
5885
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5826
5886
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5827
5887
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5828
5888
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5853,8 +5913,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5853
5913
  };
5854
5914
  function _removePayloadsFromBuffer(payloads, buffer) {
5855
5915
  var remaining = [];
5916
+ var payloadStr = [];
5917
+ arrForEach(payloads, function (payload) {
5918
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
5919
+ });
5856
5920
  arrForEach(buffer, function (value) {
5857
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
5921
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
5858
5922
  remaining[_DYN_PUSH ](value);
5859
5923
  }
5860
5924
  });
@@ -5862,9 +5926,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5862
5926
  }
5863
5927
  function _getBuffer(key) {
5864
5928
  var prefixedKey = key;
5929
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5930
+ return _getBufferBase(prefixedKey);
5931
+ }
5932
+ function _getBufferBase(key) {
5865
5933
  try {
5866
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5867
- var bufferJson = getItem(logger, prefixedKey);
5934
+ var bufferJson = getItem(logger, key);
5868
5935
  if (bufferJson) {
5869
5936
  var buffer_1 = getJSON().parse(bufferJson);
5870
5937
  if (isString(buffer_1)) {
@@ -5876,7 +5943,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5876
5943
  }
5877
5944
  }
5878
5945
  catch (e) {
5879
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
5946
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
5880
5947
  }
5881
5948
  return [];
5882
5949
  }
@@ -5892,11 +5959,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5892
5959
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
5893
5960
  }
5894
5961
  }
5962
+ function _getPreviousEvents() {
5963
+ var items = [];
5964
+ try {
5965
+ arrForEach(PREVIOUS_KEYS, function (key) {
5966
+ var events = _getItemsFromPreviousKey(key);
5967
+ items = items[_DYN_CONCAT ](events);
5968
+ if (_namePrefix) {
5969
+ var prefixedKey = _namePrefix + "_" + key;
5970
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
5971
+ items = items[_DYN_CONCAT ](prefixEvents);
5972
+ }
5973
+ });
5974
+ return items;
5975
+ }
5976
+ catch (e) {
5977
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
5978
+ }
5979
+ return [];
5980
+ }
5981
+ function _getItemsFromPreviousKey(key) {
5982
+ try {
5983
+ var items = _getBufferBase(key);
5984
+ var transFormedItems_1 = [];
5985
+ arrForEach(items, function (item) {
5986
+ var internalItem = {
5987
+ item: item,
5988
+ cnt: 0
5989
+ };
5990
+ transFormedItems_1[_DYN_PUSH ](internalItem);
5991
+ });
5992
+ utlRemoveSessionStorage(logger, key);
5993
+ return transFormedItems_1;
5994
+ }
5995
+ catch (e) {
5996
+ }
5997
+ return [];
5998
+ }
5895
5999
  });
5896
6000
  return _this;
5897
6001
  }
5898
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
5899
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
6002
+ var _a;
6003
+ _a = SessionStorageSendBuffer;
6004
+ SessionStorageSendBuffer.VERSION = "_1";
6005
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
6006
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
5900
6007
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
5901
6008
  return SessionStorageSendBuffer;
5902
6009
  }(BaseSendBuffer));
@@ -6055,7 +6162,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
6055
6162
  return 0;
6056
6163
  }
6057
6164
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
6058
- input = input.concat(input);
6165
+ input = input[_DYN_CONCAT ](input);
6059
6166
  }
6060
6167
  var hash = 5381;
6061
6168
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -6162,6 +6269,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
6162
6269
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
6163
6270
  _a.transports = UNDEFINED_VALUE,
6164
6271
  _a.retryCodes = UNDEFINED_VALUE,
6272
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
6165
6273
  _a));
6166
6274
  function _chkSampling(value) {
6167
6275
  return !isNaN(value) && value > 0 && value <= 100;
@@ -6391,6 +6499,7 @@ var Sender = /** @class */ (function (_super) {
6391
6499
  }));
6392
6500
  };
6393
6501
  _self.processTelemetry = function (telemetryItem, itemCtx) {
6502
+ var _a;
6394
6503
  itemCtx = _self._getTelCtx(itemCtx);
6395
6504
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
6396
6505
  try {
@@ -6405,7 +6514,12 @@ var Sender = /** @class */ (function (_super) {
6405
6514
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
6406
6515
  var buffer = _self[_DYN__BUFFER ];
6407
6516
  _checkMaxSize(payload);
6408
- buffer[_DYN_ENQUEUE ](payload);
6517
+ var payloadItem = (_a = {},
6518
+ _a[_DYN_ITEM ] = payload,
6519
+ _a.cnt = 0
6520
+ ,
6521
+ _a);
6522
+ buffer[_DYN_ENQUEUE ](payloadItem);
6409
6523
  _setupTimer();
6410
6524
  }
6411
6525
  catch (e) {
@@ -6417,6 +6531,9 @@ var Sender = /** @class */ (function (_super) {
6417
6531
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
6418
6532
  };
6419
6533
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6534
+ if (_isStringArr(payload)) {
6535
+ return;
6536
+ }
6420
6537
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
6421
6538
  };
6422
6539
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -6472,40 +6589,27 @@ var Sender = /** @class */ (function (_super) {
6472
6589
  _initDefaults();
6473
6590
  };
6474
6591
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
6475
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6476
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6592
+ if (_isStringArr(payload)) {
6593
+ return;
6594
+ }
6595
+ return _onError(payload, message);
6477
6596
  };
6478
6597
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
6479
- var failed = [];
6480
- var retry = [];
6481
- var errors = results.errors.reverse();
6482
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6483
- var error = errors_1[_i];
6484
- var extracted = payload.splice(error.index, 1)[0];
6485
- if (_isRetriable(error.statusCode)) {
6486
- retry[_DYN_PUSH ](extracted);
6487
- }
6488
- else {
6489
- failed[_DYN_PUSH ](extracted);
6490
- }
6491
- }
6492
- if (payload[_DYN_LENGTH ] > 0) {
6493
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6494
- }
6495
- if (failed[_DYN_LENGTH ] > 0) {
6496
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6497
- }
6498
- if (retry[_DYN_LENGTH ] > 0) {
6499
- _resendPayload(retry);
6500
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6501
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6502
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6598
+ if (_isStringArr(payload)) {
6599
+ return;
6503
6600
  }
6601
+ return _onPartialSuccess(payload, results);
6504
6602
  };
6505
6603
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
6506
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6604
+ if (_isStringArr(payload)) {
6605
+ return;
6606
+ }
6607
+ return _onSuccess(payload);
6507
6608
  };
6508
6609
  _self._xdrOnLoad = function (xdr, payload) {
6610
+ if (_isStringArr(payload)) {
6611
+ return;
6612
+ }
6509
6613
  return _xdrOnLoad(xdr, payload);
6510
6614
  };
6511
6615
  function _xdrOnLoad(xdr, payload) {
@@ -6516,7 +6620,7 @@ var Sender = /** @class */ (function (_super) {
6516
6620
  }
6517
6621
  else {
6518
6622
  var results = parseResponse(responseText);
6519
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
6623
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
6520
6624
  && !_isRetryDisabled) {
6521
6625
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
6522
6626
  }
@@ -6574,6 +6678,40 @@ var Sender = /** @class */ (function (_super) {
6574
6678
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6575
6679
  }
6576
6680
  }
6681
+ function _onError(payload, message, event) {
6682
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6683
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6684
+ }
6685
+ function _onPartialSuccess(payload, results) {
6686
+ var failed = [];
6687
+ var retry = [];
6688
+ var errors = results.errors.reverse();
6689
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6690
+ var error = errors_1[_i];
6691
+ var extracted = payload.splice(error.index, 1)[0];
6692
+ if (_isRetriable(error.statusCode)) {
6693
+ retry[_DYN_PUSH ](extracted);
6694
+ }
6695
+ else {
6696
+ failed[_DYN_PUSH ](extracted);
6697
+ }
6698
+ }
6699
+ if (payload[_DYN_LENGTH ] > 0) {
6700
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6701
+ }
6702
+ if (failed[_DYN_LENGTH ] > 0) {
6703
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6704
+ }
6705
+ if (retry[_DYN_LENGTH ] > 0) {
6706
+ _resendPayload(retry);
6707
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6708
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6709
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6710
+ }
6711
+ }
6712
+ function _onSuccess(payload, countOfItemsInPayload) {
6713
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6714
+ }
6577
6715
  function _getPayloadArr(payload) {
6578
6716
  try {
6579
6717
  if (payload) {
@@ -6841,12 +6979,22 @@ var Sender = /** @class */ (function (_super) {
6841
6979
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6842
6980
  }
6843
6981
  }
6982
+ function _isStringArr(arr) {
6983
+ try {
6984
+ if (arr && arr[_DYN_LENGTH ]) {
6985
+ return (isString(arr[0]));
6986
+ }
6987
+ }
6988
+ catch (e) {
6989
+ }
6990
+ return null;
6991
+ }
6844
6992
  function _fetchKeepAliveSender(payload, isAsync) {
6845
6993
  var transport = null;
6846
6994
  if (isArray(payload)) {
6847
6995
  var payloadSize = payload[_DYN_LENGTH ];
6848
6996
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6849
- payloadSize += payload[lp][_DYN_LENGTH ];
6997
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
6850
6998
  }
6851
6999
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6852
7000
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -6874,6 +7022,8 @@ var Sender = /** @class */ (function (_super) {
6874
7022
  _consecutiveErrors++;
6875
7023
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
6876
7024
  var item = payload_1[_i];
7025
+ item.cnt = item.cnt || 0;
7026
+ item.cnt++;
6877
7027
  buffer[_DYN_ENQUEUE ](item);
6878
7028
  }
6879
7029
  _setRetryTime(linearFactor);