@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,11 +1,11 @@
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) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_3_1_3_nightly3_2403_15", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.2403-15";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_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]||{});
@@ -1186,14 +1186,19 @@ function throwAggregationError(message, sourceErrors) {
1186
1186
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1187
1187
  }
1188
1188
 
1189
+ var STR_PROMISE = "Promise";
1190
+ var REJECTED = "rejected";
1191
+
1189
1192
  function doAwaitResponse(value, cb) {
1190
1193
  return doAwait(value, function (value) {
1191
1194
  return cb ? cb({
1192
- value: value,
1193
- rejected: false
1195
+ status: "fulfilled",
1196
+ rejected: false,
1197
+ value: value
1194
1198
  }) : value;
1195
1199
  }, function (reason) {
1196
1200
  return cb ? cb({
1201
+ status: REJECTED,
1197
1202
  rejected: true,
1198
1203
  reason: reason
1199
1204
  }) : reason;
@@ -1201,18 +1206,32 @@ function doAwaitResponse(value, cb) {
1201
1206
  }
1202
1207
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
1203
1208
  var result = value;
1204
- if (isPromiseLike(value)) {
1205
- if (resolveFn || rejectFn) {
1206
- result = value.then(resolveFn, rejectFn);
1209
+ try {
1210
+ if (isPromiseLike(value)) {
1211
+ if (resolveFn || rejectFn) {
1212
+ result = value.then(resolveFn, rejectFn);
1213
+ }
1207
1214
  }
1208
- }
1209
- else {
1210
- if (resolveFn) {
1211
- result = resolveFn(value);
1215
+ else {
1216
+ try {
1217
+ if (resolveFn) {
1218
+ result = resolveFn(value);
1219
+ }
1220
+ }
1221
+ catch (err) {
1222
+ if (rejectFn) {
1223
+ result = rejectFn(err);
1224
+ }
1225
+ else {
1226
+ throw err;
1227
+ }
1228
+ }
1212
1229
  }
1213
1230
  }
1214
- if (finallyFn) {
1215
- doFinally(result, finallyFn);
1231
+ finally {
1232
+ if (finallyFn) {
1233
+ doFinally(result, finallyFn);
1234
+ }
1216
1235
  }
1217
1236
  return result;
1218
1237
  }
@@ -1240,21 +1259,22 @@ function doFinally(value, finallyFn) {
1240
1259
  return result;
1241
1260
  }
1242
1261
 
1243
- var STRING_STATES = [
1244
- "pending", "resolving", "resolved", "rejected"
1262
+ var STRING_STATES = [
1263
+ "pending", "resolving", "resolved", REJECTED
1245
1264
  ];
1246
1265
 
1247
1266
  var DISPATCH_EVENT = "dispatchEvent";
1248
1267
  var _hasInitEvent;
1268
+ function _hasInitEventFn(doc) {
1269
+ var evt;
1270
+ if (doc && doc.createEvent) {
1271
+ evt = doc.createEvent("Event");
1272
+ }
1273
+ return (!!evt && evt.initEvent);
1274
+ }
1249
1275
  function emitEvent(target, evtName, populateEvent, useNewEvent) {
1250
1276
  var doc = getDocument();
1251
- !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1252
- var evt;
1253
- if (doc && doc.createEvent) {
1254
- evt = doc.createEvent("Event");
1255
- }
1256
- return (!!evt && evt.initEvent);
1257
- }, null));
1277
+ !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));
1258
1278
  var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1259
1279
  populateEvent && populateEvent(theEvt);
1260
1280
  if (_hasInitEvent.v) {
@@ -1275,8 +1295,6 @@ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1275
1295
  }
1276
1296
  }
1277
1297
 
1278
- var STR_PROMISE = "Promise";
1279
-
1280
1298
  var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1281
1299
  var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1282
1300
  var _unhandledRejectionTimeout = 10;
@@ -1297,7 +1315,7 @@ function _createPromise(newPromise, processor, executor) {
1297
1315
  var _unHandledRejectionHandler = null;
1298
1316
  var _thePromise;
1299
1317
  !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1300
- var _then = function (onResolved, onRejected) {
1318
+ function _then(onResolved, onRejected) {
1301
1319
  try {
1302
1320
  _handled = true;
1303
1321
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
@@ -1332,11 +1350,11 @@ function _createPromise(newPromise, processor, executor) {
1332
1350
  }
1333
1351
  finally {
1334
1352
  }
1335
- };
1336
- var _catch = function (onRejected) {
1353
+ }
1354
+ function _catch(onRejected) {
1337
1355
  return _then(undefined, onRejected);
1338
- };
1339
- var _finally = function (onFinally) {
1356
+ }
1357
+ function _finally(onFinally) {
1340
1358
  var thenFinally = onFinally;
1341
1359
  var catchFinally = onFinally;
1342
1360
  if (isFunction(onFinally)) {
@@ -1350,21 +1368,21 @@ function _createPromise(newPromise, processor, executor) {
1350
1368
  };
1351
1369
  }
1352
1370
  return _then(thenFinally, catchFinally);
1353
- };
1354
- var _strState = function () {
1371
+ }
1372
+ function _strState() {
1355
1373
  return STRING_STATES[_state];
1356
- };
1357
- var _processQueue = function () {
1374
+ }
1375
+ function _processQueue() {
1358
1376
  if (_queue.length > 0) {
1359
1377
  var pending = _queue.slice();
1360
1378
  _queue = [];
1361
1379
  _handled = true;
1362
- processor(pending);
1363
1380
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1364
1381
  _unHandledRejectionHandler = null;
1382
+ processor(pending);
1365
1383
  }
1366
- };
1367
- var _createSettleIfFn = function (newState, allowState) {
1384
+ }
1385
+ function _createSettleIfFn(newState, allowState) {
1368
1386
  return function (theValue) {
1369
1387
  if (_state === allowState) {
1370
1388
  if (newState === 2 && isPromiseLike(theValue)) {
@@ -1381,9 +1399,10 @@ function _createPromise(newPromise, processor, executor) {
1381
1399
  }
1382
1400
  }
1383
1401
  };
1384
- };
1385
- var _notifyUnhandledRejection = function () {
1402
+ }
1403
+ function _notifyUnhandledRejection() {
1386
1404
  if (!_handled) {
1405
+ _handled = true;
1387
1406
  if (isNode()) {
1388
1407
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1389
1408
  }
@@ -1396,7 +1415,7 @@ function _createPromise(newPromise, processor, executor) {
1396
1415
  }, !!_hasPromiseRejectionEvent.v);
1397
1416
  }
1398
1417
  }
1399
- };
1418
+ }
1400
1419
  _thePromise = {
1401
1420
  then: _then,
1402
1421
  "catch": _catch,
@@ -1408,9 +1427,9 @@ function _createPromise(newPromise, processor, executor) {
1408
1427
  if (hasSymbol()) {
1409
1428
  _thePromise[getKnownSymbol(11 )] = "IPromise";
1410
1429
  }
1411
- var _toString = function () {
1412
- return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1413
- };
1430
+ function _toString() {
1431
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "") + ("");
1432
+ }
1414
1433
  _thePromise.toString = _toString;
1415
1434
  (function _initialize() {
1416
1435
  if (!isFunction(executor)) {
@@ -1427,7 +1446,7 @@ function _createPromise(newPromise, processor, executor) {
1427
1446
  return _thePromise;
1428
1447
  }
1429
1448
 
1430
- var _processPendingItems = function (pending) {
1449
+ function syncItemProcessor(pending) {
1431
1450
  arrForEach(pending, function (fn) {
1432
1451
  try {
1433
1452
  fn();
@@ -1435,12 +1454,12 @@ var _processPendingItems = function (pending) {
1435
1454
  catch (e) {
1436
1455
  }
1437
1456
  });
1438
- };
1457
+ }
1439
1458
  function timeoutItemProcessor(timeout) {
1440
1459
  var callbackTimeout = isNumber(timeout) ? timeout : 0;
1441
1460
  return function (pending) {
1442
1461
  scheduleTimeout(function () {
1443
- _processPendingItems(pending);
1462
+ syncItemProcessor(pending);
1444
1463
  }, callbackTimeout);
1445
1464
  };
1446
1465
  }
@@ -1449,10 +1468,10 @@ function createAsyncPromise(executor, timeout) {
1449
1468
  return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1450
1469
  }
1451
1470
 
1452
- var _isPromiseSupported;
1471
+ var _promiseCls;
1453
1472
  function createNativePromise(executor, timeout) {
1454
- !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1455
- var PrmCls = _isPromiseSupported.v;
1473
+ !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));
1474
+ var PrmCls = _promiseCls.v;
1456
1475
  if (!PrmCls) {
1457
1476
  return createAsyncPromise(executor);
1458
1477
  }
@@ -1482,7 +1501,7 @@ function createNativePromise(executor, timeout) {
1482
1501
 
1483
1502
  var _promiseCreator;
1484
1503
  function createPromise(executor, timeout) {
1485
- !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1504
+ !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1486
1505
  return _promiseCreator.v.call(this, executor, timeout);
1487
1506
  }
1488
1507
 
@@ -3720,7 +3739,9 @@ var SenderPostManager = /** @class */ (function () {
3720
3739
  return;
3721
3740
  }
3722
3741
  var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
3723
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3742
+ if (!_isOneDs) {
3743
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3744
+ }
3724
3745
  arrForEach(objKeys(headers), function (headerName) {
3725
3746
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
3726
3747
  });
@@ -4459,6 +4480,20 @@ function utlSetSessionStorage(logger, name, data) {
4459
4480
  }
4460
4481
  return false;
4461
4482
  }
4483
+ function utlRemoveSessionStorage(logger, name) {
4484
+ var storage = _getSessionStorageObject();
4485
+ if (storage !== null) {
4486
+ try {
4487
+ storage[_DYN_REMOVE_ITEM ](name);
4488
+ return true;
4489
+ }
4490
+ catch (e) {
4491
+ _canUseSessionStorage = false;
4492
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
4493
+ }
4494
+ }
4495
+ return false;
4496
+ }
4462
4497
 
4463
4498
  var Envelope = /** @class */ (function () {
4464
4499
  function Envelope(logger, data, name) {
@@ -5399,6 +5434,7 @@ var _DYN_ENQUEUE = "enqueue";
5399
5434
  var _DYN_COUNT = "count";
5400
5435
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
5401
5436
  var _DYN_PUSH = "push";
5437
+ var _DYN_ITEM = "item";
5402
5438
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
5403
5439
  var _DYN_CLEAR = "clear";
5404
5440
  var _DYN_CREATE_NEW = "createNew";
@@ -5407,6 +5443,7 @@ var _DYN_CLEAR_SENT = "clearSent";
5407
5443
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
5408
5444
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
5409
5445
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
5446
+ var _DYN_CONCAT = "concat";
5410
5447
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
5411
5448
  var _DYN_TRIGGER_SEND = "triggerSend";
5412
5449
  var _DYN_DIAG_LOG = "diagLog";
@@ -5432,8 +5469,8 @@ var _DYN_SERIALIZE = "serialize";
5432
5469
  var _DYN__ON_ERROR = "_onError";
5433
5470
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
5434
5471
  var _DYN__ON_SUCCESS = "_onSuccess";
5435
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5436
5472
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5473
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5437
5474
  var _DYN_ORI_PAYLOAD = "oriPayload";
5438
5475
  var _DYN_BASE_TYPE = "baseType";
5439
5476
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -5485,6 +5522,7 @@ function _extractPartAExtensions(logger, item, env) {
5485
5522
  var extOs = itmExt.os;
5486
5523
  if (extOs) {
5487
5524
  _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
5525
+ _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);
5488
5526
  }
5489
5527
  var extTrace = itmExt.trace;
5490
5528
  if (extTrace) {
@@ -5550,7 +5588,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
5550
5588
  }
5551
5589
  }
5552
5590
  var EnvelopeCreator = {
5553
- Version: '3.1.3-nightly3.2403-15'
5591
+ Version: '3.1.3-nightly3.2404-12'
5554
5592
  };
5555
5593
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
5556
5594
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5703,6 +5741,7 @@ var BaseSendBuffer = /** @class */ (function () {
5703
5741
  function BaseSendBuffer(logger, config) {
5704
5742
  var _buffer = [];
5705
5743
  var _bufferFullMessageSent = false;
5744
+ var _maxRetryCnt = config.maxRetryCnt;
5706
5745
  this[_DYN__GET ] = function () {
5707
5746
  return _buffer;
5708
5747
  };
@@ -5719,7 +5758,14 @@ var BaseSendBuffer = /** @class */ (function () {
5719
5758
  }
5720
5759
  return;
5721
5760
  }
5761
+ payload.cnt = payload.cnt || 0;
5762
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5763
+ if (payload.cnt > _maxRetryCnt) {
5764
+ return;
5765
+ }
5766
+ }
5722
5767
  _buffer[_DYN_PUSH ](payload);
5768
+ return;
5723
5769
  };
5724
5770
  _self[_DYN_COUNT ] = function () {
5725
5771
  return _buffer[_DYN_LENGTH ];
@@ -5727,7 +5773,7 @@ var BaseSendBuffer = /** @class */ (function () {
5727
5773
  _self.size = function () {
5728
5774
  var size = _buffer[_DYN_LENGTH ];
5729
5775
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
5730
- size += _buffer[lp][_DYN_LENGTH ];
5776
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
5731
5777
  }
5732
5778
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
5733
5779
  size += 2;
@@ -5741,11 +5787,15 @@ var BaseSendBuffer = /** @class */ (function () {
5741
5787
  _self.getItems = function () {
5742
5788
  return _buffer.slice(0);
5743
5789
  };
5744
- _self.batchPayloads = function (payload) {
5745
- if (payload && payload[_DYN_LENGTH ] > 0) {
5790
+ _self.batchPayloads = function (payloads) {
5791
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
5792
+ var payloadStr_1 = [];
5793
+ arrForEach(payloads, function (payload) {
5794
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
5795
+ });
5746
5796
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5747
- payload.join("\n") :
5748
- "[" + payload.join(",") + "]";
5797
+ payloadStr_1.join("\n") :
5798
+ "[" + payloadStr_1.join(",") + "]";
5749
5799
  return batch;
5750
5800
  }
5751
5801
  return null;
@@ -5781,17 +5831,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
5781
5831
  ArraySendBuffer.__ieDyn=1;
5782
5832
  return ArraySendBuffer;
5783
5833
  }(BaseSendBuffer));
5834
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
5784
5835
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
5785
5836
  __extendsFn(SessionStorageSendBuffer, _super);
5786
5837
  function SessionStorageSendBuffer(logger, config) {
5787
5838
  var _this = _super.call(this, logger, config) || this;
5788
5839
  var _bufferFullMessageSent = false;
5789
5840
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
5790
- var _a = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;
5841
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
5842
+ var _maxRetryCnt = config.maxRetryCnt;
5791
5843
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5792
5844
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5793
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5794
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5845
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5846
+ var previousItems = _getPreviousEvents();
5847
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
5848
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5795
5849
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5796
5850
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5797
5851
  }
@@ -5805,6 +5859,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5805
5859
  }
5806
5860
  return;
5807
5861
  }
5862
+ payload.cnt = payload.cnt || 0;
5863
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5864
+ if (payload.cnt > _maxRetryCnt) {
5865
+ return;
5866
+ }
5867
+ }
5808
5868
  _base[_DYN_ENQUEUE ](payload);
5809
5869
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
5810
5870
  };
@@ -5818,7 +5878,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5818
5878
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5819
5879
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5820
5880
  if (sentElements instanceof Array && payload instanceof Array) {
5821
- sentElements = sentElements.concat(payload);
5881
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5822
5882
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5823
5883
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5824
5884
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5849,8 +5909,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5849
5909
  };
5850
5910
  function _removePayloadsFromBuffer(payloads, buffer) {
5851
5911
  var remaining = [];
5912
+ var payloadStr = [];
5913
+ arrForEach(payloads, function (payload) {
5914
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
5915
+ });
5852
5916
  arrForEach(buffer, function (value) {
5853
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
5917
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
5854
5918
  remaining[_DYN_PUSH ](value);
5855
5919
  }
5856
5920
  });
@@ -5858,9 +5922,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5858
5922
  }
5859
5923
  function _getBuffer(key) {
5860
5924
  var prefixedKey = key;
5925
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5926
+ return _getBufferBase(prefixedKey);
5927
+ }
5928
+ function _getBufferBase(key) {
5861
5929
  try {
5862
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5863
- var bufferJson = getItem(logger, prefixedKey);
5930
+ var bufferJson = getItem(logger, key);
5864
5931
  if (bufferJson) {
5865
5932
  var buffer_1 = getJSON().parse(bufferJson);
5866
5933
  if (isString(buffer_1)) {
@@ -5872,7 +5939,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5872
5939
  }
5873
5940
  }
5874
5941
  catch (e) {
5875
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
5942
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
5876
5943
  }
5877
5944
  return [];
5878
5945
  }
@@ -5888,11 +5955,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5888
5955
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
5889
5956
  }
5890
5957
  }
5958
+ function _getPreviousEvents() {
5959
+ var items = [];
5960
+ try {
5961
+ arrForEach(PREVIOUS_KEYS, function (key) {
5962
+ var events = _getItemsFromPreviousKey(key);
5963
+ items = items[_DYN_CONCAT ](events);
5964
+ if (_namePrefix) {
5965
+ var prefixedKey = _namePrefix + "_" + key;
5966
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
5967
+ items = items[_DYN_CONCAT ](prefixEvents);
5968
+ }
5969
+ });
5970
+ return items;
5971
+ }
5972
+ catch (e) {
5973
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
5974
+ }
5975
+ return [];
5976
+ }
5977
+ function _getItemsFromPreviousKey(key) {
5978
+ try {
5979
+ var items = _getBufferBase(key);
5980
+ var transFormedItems_1 = [];
5981
+ arrForEach(items, function (item) {
5982
+ var internalItem = {
5983
+ item: item,
5984
+ cnt: 0
5985
+ };
5986
+ transFormedItems_1[_DYN_PUSH ](internalItem);
5987
+ });
5988
+ utlRemoveSessionStorage(logger, key);
5989
+ return transFormedItems_1;
5990
+ }
5991
+ catch (e) {
5992
+ }
5993
+ return [];
5994
+ }
5891
5995
  });
5892
5996
  return _this;
5893
5997
  }
5894
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
5895
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
5998
+ var _a;
5999
+ _a = SessionStorageSendBuffer;
6000
+ SessionStorageSendBuffer.VERSION = "_1";
6001
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
6002
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
5896
6003
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
5897
6004
  return SessionStorageSendBuffer;
5898
6005
  }(BaseSendBuffer));
@@ -6051,7 +6158,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
6051
6158
  return 0;
6052
6159
  }
6053
6160
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
6054
- input = input.concat(input);
6161
+ input = input[_DYN_CONCAT ](input);
6055
6162
  }
6056
6163
  var hash = 5381;
6057
6164
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -6158,6 +6265,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
6158
6265
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
6159
6266
  _a.transports = UNDEFINED_VALUE,
6160
6267
  _a.retryCodes = UNDEFINED_VALUE,
6268
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
6161
6269
  _a));
6162
6270
  function _chkSampling(value) {
6163
6271
  return !isNaN(value) && value > 0 && value <= 100;
@@ -6387,6 +6495,7 @@ var Sender = /** @class */ (function (_super) {
6387
6495
  }));
6388
6496
  };
6389
6497
  _self.processTelemetry = function (telemetryItem, itemCtx) {
6498
+ var _a;
6390
6499
  itemCtx = _self._getTelCtx(itemCtx);
6391
6500
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
6392
6501
  try {
@@ -6401,7 +6510,12 @@ var Sender = /** @class */ (function (_super) {
6401
6510
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
6402
6511
  var buffer = _self[_DYN__BUFFER ];
6403
6512
  _checkMaxSize(payload);
6404
- buffer[_DYN_ENQUEUE ](payload);
6513
+ var payloadItem = (_a = {},
6514
+ _a[_DYN_ITEM ] = payload,
6515
+ _a.cnt = 0
6516
+ ,
6517
+ _a);
6518
+ buffer[_DYN_ENQUEUE ](payloadItem);
6405
6519
  _setupTimer();
6406
6520
  }
6407
6521
  catch (e) {
@@ -6413,6 +6527,9 @@ var Sender = /** @class */ (function (_super) {
6413
6527
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
6414
6528
  };
6415
6529
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6530
+ if (_isStringArr(payload)) {
6531
+ return;
6532
+ }
6416
6533
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
6417
6534
  };
6418
6535
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -6468,40 +6585,27 @@ var Sender = /** @class */ (function (_super) {
6468
6585
  _initDefaults();
6469
6586
  };
6470
6587
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
6471
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6472
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6588
+ if (_isStringArr(payload)) {
6589
+ return;
6590
+ }
6591
+ return _onError(payload, message);
6473
6592
  };
6474
6593
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
6475
- var failed = [];
6476
- var retry = [];
6477
- var errors = results.errors.reverse();
6478
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6479
- var error = errors_1[_i];
6480
- var extracted = payload.splice(error.index, 1)[0];
6481
- if (_isRetriable(error.statusCode)) {
6482
- retry[_DYN_PUSH ](extracted);
6483
- }
6484
- else {
6485
- failed[_DYN_PUSH ](extracted);
6486
- }
6487
- }
6488
- if (payload[_DYN_LENGTH ] > 0) {
6489
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6490
- }
6491
- if (failed[_DYN_LENGTH ] > 0) {
6492
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6493
- }
6494
- if (retry[_DYN_LENGTH ] > 0) {
6495
- _resendPayload(retry);
6496
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6497
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6498
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6594
+ if (_isStringArr(payload)) {
6595
+ return;
6499
6596
  }
6597
+ return _onPartialSuccess(payload, results);
6500
6598
  };
6501
6599
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
6502
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6600
+ if (_isStringArr(payload)) {
6601
+ return;
6602
+ }
6603
+ return _onSuccess(payload);
6503
6604
  };
6504
6605
  _self._xdrOnLoad = function (xdr, payload) {
6606
+ if (_isStringArr(payload)) {
6607
+ return;
6608
+ }
6505
6609
  return _xdrOnLoad(xdr, payload);
6506
6610
  };
6507
6611
  function _xdrOnLoad(xdr, payload) {
@@ -6512,7 +6616,7 @@ var Sender = /** @class */ (function (_super) {
6512
6616
  }
6513
6617
  else {
6514
6618
  var results = parseResponse(responseText);
6515
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
6619
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
6516
6620
  && !_isRetryDisabled) {
6517
6621
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
6518
6622
  }
@@ -6570,6 +6674,40 @@ var Sender = /** @class */ (function (_super) {
6570
6674
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6571
6675
  }
6572
6676
  }
6677
+ function _onError(payload, message, event) {
6678
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6679
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6680
+ }
6681
+ function _onPartialSuccess(payload, results) {
6682
+ var failed = [];
6683
+ var retry = [];
6684
+ var errors = results.errors.reverse();
6685
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6686
+ var error = errors_1[_i];
6687
+ var extracted = payload.splice(error.index, 1)[0];
6688
+ if (_isRetriable(error.statusCode)) {
6689
+ retry[_DYN_PUSH ](extracted);
6690
+ }
6691
+ else {
6692
+ failed[_DYN_PUSH ](extracted);
6693
+ }
6694
+ }
6695
+ if (payload[_DYN_LENGTH ] > 0) {
6696
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6697
+ }
6698
+ if (failed[_DYN_LENGTH ] > 0) {
6699
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6700
+ }
6701
+ if (retry[_DYN_LENGTH ] > 0) {
6702
+ _resendPayload(retry);
6703
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6704
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6705
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6706
+ }
6707
+ }
6708
+ function _onSuccess(payload, countOfItemsInPayload) {
6709
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6710
+ }
6573
6711
  function _getPayloadArr(payload) {
6574
6712
  try {
6575
6713
  if (payload) {
@@ -6837,12 +6975,22 @@ var Sender = /** @class */ (function (_super) {
6837
6975
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6838
6976
  }
6839
6977
  }
6978
+ function _isStringArr(arr) {
6979
+ try {
6980
+ if (arr && arr[_DYN_LENGTH ]) {
6981
+ return (isString(arr[0]));
6982
+ }
6983
+ }
6984
+ catch (e) {
6985
+ }
6986
+ return null;
6987
+ }
6840
6988
  function _fetchKeepAliveSender(payload, isAsync) {
6841
6989
  var transport = null;
6842
6990
  if (isArray(payload)) {
6843
6991
  var payloadSize = payload[_DYN_LENGTH ];
6844
6992
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6845
- payloadSize += payload[lp][_DYN_LENGTH ];
6993
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
6846
6994
  }
6847
6995
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6848
6996
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -6870,6 +7018,8 @@ var Sender = /** @class */ (function (_super) {
6870
7018
  _consecutiveErrors++;
6871
7019
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
6872
7020
  var item = payload_1[_i];
7021
+ item.cnt = item.cnt || 0;
7022
+ item.cnt++;
6873
7023
  buffer[_DYN_ENQUEUE ](item);
6874
7024
  }
6875
7025
  _setRetryTime(linearFactor);
@@ -7004,4 +7154,4 @@ var Sender = /** @class */ (function (_super) {
7004
7154
  exports.Sender = Sender;
7005
7155
 
7006
7156
  }));
7007
- //# sourceMappingURL=applicationinsights-channel-js.3.1.3-nightly3.2403-15.gbl.js.map
7157
+ //# sourceMappingURL=applicationinsights-channel-js.3.1.3-nightly3.2404-12.gbl.js.map