@microsoft/applicationinsights-channel-js 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 (59) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.1.3-nightly3.240329-01.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.240329-01.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.240329-01.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.240329-01.cjs.js.map +0 -1
  51. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.cjs.min.js +0 -6
  52. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.cjs.min.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.gbl.js.map +0 -1
  54. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.gbl.min.js +0 -6
  55. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.gbl.min.js.map +0 -1
  56. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.integrity.json +0 -66
  57. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.js.map +0 -1
  58. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.min.js +0 -6
  59. package/browser/es5/applicationinsights-channel-js.3.1.3-nightly3.240329-01.min.js.map +0 -1
@@ -1,7 +1,32 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.1.3-nightly3.240329-01
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
+ (function (global, factory) {
6
+ var undef = "undefined";
7
+ typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
+ typeof define === "function" && define.amd ? define(["exports"], factory) :
9
+ (function(global){
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
+ var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
+ // Versioned namespace "Microsoft.ApplicationInsights3"
14
+ var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
15
+ // Global namespace "Microsoft.ApplicationInsights"
16
+ var destNs=baseNs, nsKey="ApplicationInsights", destNs=destNs[nsKey]=(destNs[nsKey]||{});
17
+ var expNsDetail=(exportNs[msMod]=(exportNs[msMod] || {})), expNameVer=(expNsDetail["v"]=(expNsDetail["v"] || []));
18
+ var destNsDetail=(destNs[msMod]=(destNs[msMod] || {})), destNameVer=(destNsDetail["v"]=(destNsDetail["v"] || []));
19
+ (destNsDetail["o"]=(destNsDetail["o"] || [])).push(mods);
20
+ factory(theExports);
21
+ for(var key in theExports) {
22
+ // Always set the imported value into the "export" versioned namespace (last-write wins)
23
+ nm="x", exportNs[key]=theExports[key], expNameVer[key]=ver;
24
+ // Copy over any named element that is not already present (first-write wins)
25
+ typeof destNs[key]===undef ? (nm="n", destNs[key]=theExports[key]) && (destNameVer[key]=ver) : !destNameVer[key] && (destNameVer[key]="---");
26
+ (modDetail[nm] = (modDetail[nm] || [])).push(key);
27
+ }
28
+ })(typeof globalThis !== undef ? globalThis : global || self);
29
+ })(this, (function (exports) {
5
30
  'use strict';
6
31
 
7
32
 
@@ -1165,14 +1190,19 @@ function throwAggregationError(message, sourceErrors) {
1165
1190
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1166
1191
  }
1167
1192
 
1193
+ var STR_PROMISE = "Promise";
1194
+ var REJECTED = "rejected";
1195
+
1168
1196
  function doAwaitResponse(value, cb) {
1169
1197
  return doAwait(value, function (value) {
1170
1198
  return cb ? cb({
1171
- value: value,
1172
- rejected: false
1199
+ status: "fulfilled",
1200
+ rejected: false,
1201
+ value: value
1173
1202
  }) : value;
1174
1203
  }, function (reason) {
1175
1204
  return cb ? cb({
1205
+ status: REJECTED,
1176
1206
  rejected: true,
1177
1207
  reason: reason
1178
1208
  }) : reason;
@@ -1180,18 +1210,32 @@ function doAwaitResponse(value, cb) {
1180
1210
  }
1181
1211
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
1182
1212
  var result = value;
1183
- if (isPromiseLike(value)) {
1184
- if (resolveFn || rejectFn) {
1185
- result = value.then(resolveFn, rejectFn);
1213
+ try {
1214
+ if (isPromiseLike(value)) {
1215
+ if (resolveFn || rejectFn) {
1216
+ result = value.then(resolveFn, rejectFn);
1217
+ }
1186
1218
  }
1187
- }
1188
- else {
1189
- if (resolveFn) {
1190
- 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
+ }
1191
1233
  }
1192
1234
  }
1193
- if (finallyFn) {
1194
- doFinally(result, finallyFn);
1235
+ finally {
1236
+ if (finallyFn) {
1237
+ doFinally(result, finallyFn);
1238
+ }
1195
1239
  }
1196
1240
  return result;
1197
1241
  }
@@ -1219,21 +1263,22 @@ function doFinally(value, finallyFn) {
1219
1263
  return result;
1220
1264
  }
1221
1265
 
1222
- var STRING_STATES = [
1223
- "pending", "resolving", "resolved", "rejected"
1266
+ var STRING_STATES = [
1267
+ "pending", "resolving", "resolved", REJECTED
1224
1268
  ];
1225
1269
 
1226
1270
  var DISPATCH_EVENT = "dispatchEvent";
1227
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
+ }
1228
1279
  function emitEvent(target, evtName, populateEvent, useNewEvent) {
1229
1280
  var doc = getDocument();
1230
- !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1231
- var evt;
1232
- if (doc && doc.createEvent) {
1233
- evt = doc.createEvent("Event");
1234
- }
1235
- return (!!evt && evt.initEvent);
1236
- }, null));
1281
+ !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));
1237
1282
  var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1238
1283
  populateEvent && populateEvent(theEvt);
1239
1284
  if (_hasInitEvent.v) {
@@ -1254,8 +1299,6 @@ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1254
1299
  }
1255
1300
  }
1256
1301
 
1257
- var STR_PROMISE = "Promise";
1258
-
1259
1302
  var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1260
1303
  var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1261
1304
  var _unhandledRejectionTimeout = 10;
@@ -1276,7 +1319,7 @@ function _createPromise(newPromise, processor, executor) {
1276
1319
  var _unHandledRejectionHandler = null;
1277
1320
  var _thePromise;
1278
1321
  !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1279
- var _then = function (onResolved, onRejected) {
1322
+ function _then(onResolved, onRejected) {
1280
1323
  try {
1281
1324
  _handled = true;
1282
1325
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
@@ -1311,11 +1354,11 @@ function _createPromise(newPromise, processor, executor) {
1311
1354
  }
1312
1355
  finally {
1313
1356
  }
1314
- };
1315
- var _catch = function (onRejected) {
1357
+ }
1358
+ function _catch(onRejected) {
1316
1359
  return _then(undefined, onRejected);
1317
- };
1318
- var _finally = function (onFinally) {
1360
+ }
1361
+ function _finally(onFinally) {
1319
1362
  var thenFinally = onFinally;
1320
1363
  var catchFinally = onFinally;
1321
1364
  if (isFunction(onFinally)) {
@@ -1329,21 +1372,21 @@ function _createPromise(newPromise, processor, executor) {
1329
1372
  };
1330
1373
  }
1331
1374
  return _then(thenFinally, catchFinally);
1332
- };
1333
- var _strState = function () {
1375
+ }
1376
+ function _strState() {
1334
1377
  return STRING_STATES[_state];
1335
- };
1336
- var _processQueue = function () {
1378
+ }
1379
+ function _processQueue() {
1337
1380
  if (_queue.length > 0) {
1338
1381
  var pending = _queue.slice();
1339
1382
  _queue = [];
1340
1383
  _handled = true;
1341
- processor(pending);
1342
1384
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1343
1385
  _unHandledRejectionHandler = null;
1386
+ processor(pending);
1344
1387
  }
1345
- };
1346
- var _createSettleIfFn = function (newState, allowState) {
1388
+ }
1389
+ function _createSettleIfFn(newState, allowState) {
1347
1390
  return function (theValue) {
1348
1391
  if (_state === allowState) {
1349
1392
  if (newState === 2 && isPromiseLike(theValue)) {
@@ -1360,9 +1403,10 @@ function _createPromise(newPromise, processor, executor) {
1360
1403
  }
1361
1404
  }
1362
1405
  };
1363
- };
1364
- var _notifyUnhandledRejection = function () {
1406
+ }
1407
+ function _notifyUnhandledRejection() {
1365
1408
  if (!_handled) {
1409
+ _handled = true;
1366
1410
  if (isNode()) {
1367
1411
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1368
1412
  }
@@ -1375,7 +1419,7 @@ function _createPromise(newPromise, processor, executor) {
1375
1419
  }, !!_hasPromiseRejectionEvent.v);
1376
1420
  }
1377
1421
  }
1378
- };
1422
+ }
1379
1423
  _thePromise = {
1380
1424
  then: _then,
1381
1425
  "catch": _catch,
@@ -1387,9 +1431,9 @@ function _createPromise(newPromise, processor, executor) {
1387
1431
  if (hasSymbol()) {
1388
1432
  _thePromise[getKnownSymbol(11 )] = "IPromise";
1389
1433
  }
1390
- var _toString = function () {
1391
- return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1392
- };
1434
+ function _toString() {
1435
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "") + ("");
1436
+ }
1393
1437
  _thePromise.toString = _toString;
1394
1438
  (function _initialize() {
1395
1439
  if (!isFunction(executor)) {
@@ -1406,7 +1450,7 @@ function _createPromise(newPromise, processor, executor) {
1406
1450
  return _thePromise;
1407
1451
  }
1408
1452
 
1409
- var _processPendingItems = function (pending) {
1453
+ function syncItemProcessor(pending) {
1410
1454
  arrForEach(pending, function (fn) {
1411
1455
  try {
1412
1456
  fn();
@@ -1414,12 +1458,12 @@ var _processPendingItems = function (pending) {
1414
1458
  catch (e) {
1415
1459
  }
1416
1460
  });
1417
- };
1461
+ }
1418
1462
  function timeoutItemProcessor(timeout) {
1419
1463
  var callbackTimeout = isNumber(timeout) ? timeout : 0;
1420
1464
  return function (pending) {
1421
1465
  scheduleTimeout(function () {
1422
- _processPendingItems(pending);
1466
+ syncItemProcessor(pending);
1423
1467
  }, callbackTimeout);
1424
1468
  };
1425
1469
  }
@@ -1428,10 +1472,10 @@ function createAsyncPromise(executor, timeout) {
1428
1472
  return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1429
1473
  }
1430
1474
 
1431
- var _isPromiseSupported;
1475
+ var _promiseCls;
1432
1476
  function createNativePromise(executor, timeout) {
1433
- !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1434
- var PrmCls = _isPromiseSupported.v;
1477
+ !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));
1478
+ var PrmCls = _promiseCls.v;
1435
1479
  if (!PrmCls) {
1436
1480
  return createAsyncPromise(executor);
1437
1481
  }
@@ -1461,7 +1505,7 @@ function createNativePromise(executor, timeout) {
1461
1505
 
1462
1506
  var _promiseCreator;
1463
1507
  function createPromise(executor, timeout) {
1464
- !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1508
+ !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1465
1509
  return _promiseCreator.v.call(this, executor, timeout);
1466
1510
  }
1467
1511
 
@@ -3699,7 +3743,9 @@ var SenderPostManager = /** @class */ (function () {
3699
3743
  return;
3700
3744
  }
3701
3745
  var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
3702
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3746
+ if (!_isOneDs) {
3747
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3748
+ }
3703
3749
  arrForEach(objKeys(headers), function (headerName) {
3704
3750
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
3705
3751
  });
@@ -4438,6 +4484,20 @@ function utlSetSessionStorage(logger, name, data) {
4438
4484
  }
4439
4485
  return false;
4440
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
+ }
4441
4501
 
4442
4502
  var Envelope = /** @class */ (function () {
4443
4503
  function Envelope(logger, data, name) {
@@ -5378,6 +5438,7 @@ var _DYN_ENQUEUE = "enqueue";
5378
5438
  var _DYN_COUNT = "count";
5379
5439
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
5380
5440
  var _DYN_PUSH = "push";
5441
+ var _DYN_ITEM = "item";
5381
5442
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
5382
5443
  var _DYN_CLEAR = "clear";
5383
5444
  var _DYN_CREATE_NEW = "createNew";
@@ -5386,6 +5447,7 @@ var _DYN_CLEAR_SENT = "clearSent";
5386
5447
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
5387
5448
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
5388
5449
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
5450
+ var _DYN_CONCAT = "concat";
5389
5451
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
5390
5452
  var _DYN_TRIGGER_SEND = "triggerSend";
5391
5453
  var _DYN_DIAG_LOG = "diagLog";
@@ -5411,8 +5473,8 @@ var _DYN_SERIALIZE = "serialize";
5411
5473
  var _DYN__ON_ERROR = "_onError";
5412
5474
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
5413
5475
  var _DYN__ON_SUCCESS = "_onSuccess";
5414
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5415
5476
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5477
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5416
5478
  var _DYN_ORI_PAYLOAD = "oriPayload";
5417
5479
  var _DYN_BASE_TYPE = "baseType";
5418
5480
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -5464,6 +5526,7 @@ function _extractPartAExtensions(logger, item, env) {
5464
5526
  var extOs = itmExt.os;
5465
5527
  if (extOs) {
5466
5528
  _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
5529
+ _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);
5467
5530
  }
5468
5531
  var extTrace = itmExt.trace;
5469
5532
  if (extTrace) {
@@ -5529,7 +5592,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
5529
5592
  }
5530
5593
  }
5531
5594
  var EnvelopeCreator = {
5532
- Version: '3.1.3-nightly3.240329-01'
5595
+ Version: '3.1.3-nightly3.2404-12'
5533
5596
  };
5534
5597
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
5535
5598
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5682,6 +5745,7 @@ var BaseSendBuffer = /** @class */ (function () {
5682
5745
  function BaseSendBuffer(logger, config) {
5683
5746
  var _buffer = [];
5684
5747
  var _bufferFullMessageSent = false;
5748
+ var _maxRetryCnt = config.maxRetryCnt;
5685
5749
  this[_DYN__GET ] = function () {
5686
5750
  return _buffer;
5687
5751
  };
@@ -5698,7 +5762,14 @@ var BaseSendBuffer = /** @class */ (function () {
5698
5762
  }
5699
5763
  return;
5700
5764
  }
5765
+ payload.cnt = payload.cnt || 0;
5766
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5767
+ if (payload.cnt > _maxRetryCnt) {
5768
+ return;
5769
+ }
5770
+ }
5701
5771
  _buffer[_DYN_PUSH ](payload);
5772
+ return;
5702
5773
  };
5703
5774
  _self[_DYN_COUNT ] = function () {
5704
5775
  return _buffer[_DYN_LENGTH ];
@@ -5706,7 +5777,7 @@ var BaseSendBuffer = /** @class */ (function () {
5706
5777
  _self.size = function () {
5707
5778
  var size = _buffer[_DYN_LENGTH ];
5708
5779
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
5709
- size += _buffer[lp][_DYN_LENGTH ];
5780
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
5710
5781
  }
5711
5782
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
5712
5783
  size += 2;
@@ -5720,11 +5791,15 @@ var BaseSendBuffer = /** @class */ (function () {
5720
5791
  _self.getItems = function () {
5721
5792
  return _buffer.slice(0);
5722
5793
  };
5723
- _self.batchPayloads = function (payload) {
5724
- 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
+ });
5725
5800
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5726
- payload.join("\n") :
5727
- "[" + payload.join(",") + "]";
5801
+ payloadStr_1.join("\n") :
5802
+ "[" + payloadStr_1.join(",") + "]";
5728
5803
  return batch;
5729
5804
  }
5730
5805
  return null;
@@ -5760,17 +5835,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
5760
5835
  ArraySendBuffer.__ieDyn=1;
5761
5836
  return ArraySendBuffer;
5762
5837
  }(BaseSendBuffer));
5838
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
5763
5839
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
5764
5840
  __extendsFn(SessionStorageSendBuffer, _super);
5765
5841
  function SessionStorageSendBuffer(logger, config) {
5766
5842
  var _this = _super.call(this, logger, config) || this;
5767
5843
  var _bufferFullMessageSent = false;
5768
5844
  var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;
5769
- 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;
5770
5847
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5771
5848
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5772
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5773
- 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));
5774
5853
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5775
5854
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5776
5855
  }
@@ -5784,6 +5863,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5784
5863
  }
5785
5864
  return;
5786
5865
  }
5866
+ payload.cnt = payload.cnt || 0;
5867
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5868
+ if (payload.cnt > _maxRetryCnt) {
5869
+ return;
5870
+ }
5871
+ }
5787
5872
  _base[_DYN_ENQUEUE ](payload);
5788
5873
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
5789
5874
  };
@@ -5797,7 +5882,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5797
5882
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5798
5883
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5799
5884
  if (sentElements instanceof Array && payload instanceof Array) {
5800
- sentElements = sentElements.concat(payload);
5885
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5801
5886
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5802
5887
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5803
5888
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5828,8 +5913,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5828
5913
  };
5829
5914
  function _removePayloadsFromBuffer(payloads, buffer) {
5830
5915
  var remaining = [];
5916
+ var payloadStr = [];
5917
+ arrForEach(payloads, function (payload) {
5918
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
5919
+ });
5831
5920
  arrForEach(buffer, function (value) {
5832
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
5921
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
5833
5922
  remaining[_DYN_PUSH ](value);
5834
5923
  }
5835
5924
  });
@@ -5837,9 +5926,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5837
5926
  }
5838
5927
  function _getBuffer(key) {
5839
5928
  var prefixedKey = key;
5929
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5930
+ return _getBufferBase(prefixedKey);
5931
+ }
5932
+ function _getBufferBase(key) {
5840
5933
  try {
5841
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5842
- var bufferJson = getItem(logger, prefixedKey);
5934
+ var bufferJson = getItem(logger, key);
5843
5935
  if (bufferJson) {
5844
5936
  var buffer_1 = getJSON().parse(bufferJson);
5845
5937
  if (isString(buffer_1)) {
@@ -5851,7 +5943,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5851
5943
  }
5852
5944
  }
5853
5945
  catch (e) {
5854
- _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) });
5855
5947
  }
5856
5948
  return [];
5857
5949
  }
@@ -5867,11 +5959,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5867
5959
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
5868
5960
  }
5869
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
+ }
5870
5999
  });
5871
6000
  return _this;
5872
6001
  }
5873
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
5874
- 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;
5875
6007
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
5876
6008
  return SessionStorageSendBuffer;
5877
6009
  }(BaseSendBuffer));
@@ -6030,7 +6162,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
6030
6162
  return 0;
6031
6163
  }
6032
6164
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
6033
- input = input.concat(input);
6165
+ input = input[_DYN_CONCAT ](input);
6034
6166
  }
6035
6167
  var hash = 5381;
6036
6168
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -6137,6 +6269,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
6137
6269
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
6138
6270
  _a.transports = UNDEFINED_VALUE,
6139
6271
  _a.retryCodes = UNDEFINED_VALUE,
6272
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
6140
6273
  _a));
6141
6274
  function _chkSampling(value) {
6142
6275
  return !isNaN(value) && value > 0 && value <= 100;
@@ -6366,6 +6499,7 @@ var Sender = /** @class */ (function (_super) {
6366
6499
  }));
6367
6500
  };
6368
6501
  _self.processTelemetry = function (telemetryItem, itemCtx) {
6502
+ var _a;
6369
6503
  itemCtx = _self._getTelCtx(itemCtx);
6370
6504
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
6371
6505
  try {
@@ -6380,7 +6514,12 @@ var Sender = /** @class */ (function (_super) {
6380
6514
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
6381
6515
  var buffer = _self[_DYN__BUFFER ];
6382
6516
  _checkMaxSize(payload);
6383
- 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);
6384
6523
  _setupTimer();
6385
6524
  }
6386
6525
  catch (e) {
@@ -6392,6 +6531,9 @@ var Sender = /** @class */ (function (_super) {
6392
6531
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
6393
6532
  };
6394
6533
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6534
+ if (_isStringArr(payload)) {
6535
+ return;
6536
+ }
6395
6537
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
6396
6538
  };
6397
6539
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -6447,40 +6589,27 @@ var Sender = /** @class */ (function (_super) {
6447
6589
  _initDefaults();
6448
6590
  };
6449
6591
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
6450
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6451
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6592
+ if (_isStringArr(payload)) {
6593
+ return;
6594
+ }
6595
+ return _onError(payload, message);
6452
6596
  };
6453
6597
  _self[_DYN__ON_PARTIAL_SUCCESS ] = function (payload, results) {
6454
- var failed = [];
6455
- var retry = [];
6456
- var errors = results.errors.reverse();
6457
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6458
- var error = errors_1[_i];
6459
- var extracted = payload.splice(error.index, 1)[0];
6460
- if (_isRetriable(error.statusCode)) {
6461
- retry[_DYN_PUSH ](extracted);
6462
- }
6463
- else {
6464
- failed[_DYN_PUSH ](extracted);
6465
- }
6466
- }
6467
- if (payload[_DYN_LENGTH ] > 0) {
6468
- _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6469
- }
6470
- if (failed[_DYN_LENGTH ] > 0) {
6471
- _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6472
- }
6473
- if (retry[_DYN_LENGTH ] > 0) {
6474
- _resendPayload(retry);
6475
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6476
- "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6477
- ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6598
+ if (_isStringArr(payload)) {
6599
+ return;
6478
6600
  }
6601
+ return _onPartialSuccess(payload, results);
6479
6602
  };
6480
6603
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
6481
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6604
+ if (_isStringArr(payload)) {
6605
+ return;
6606
+ }
6607
+ return _onSuccess(payload);
6482
6608
  };
6483
6609
  _self._xdrOnLoad = function (xdr, payload) {
6610
+ if (_isStringArr(payload)) {
6611
+ return;
6612
+ }
6484
6613
  return _xdrOnLoad(xdr, payload);
6485
6614
  };
6486
6615
  function _xdrOnLoad(xdr, payload) {
@@ -6491,7 +6620,7 @@ var Sender = /** @class */ (function (_super) {
6491
6620
  }
6492
6621
  else {
6493
6622
  var results = parseResponse(responseText);
6494
- 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 ]
6495
6624
  && !_isRetryDisabled) {
6496
6625
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
6497
6626
  }
@@ -6549,6 +6678,40 @@ var Sender = /** @class */ (function (_super) {
6549
6678
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6550
6679
  }
6551
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
+ }
6552
6715
  function _getPayloadArr(payload) {
6553
6716
  try {
6554
6717
  if (payload) {
@@ -6816,12 +6979,22 @@ var Sender = /** @class */ (function (_super) {
6816
6979
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6817
6980
  }
6818
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
+ }
6819
6992
  function _fetchKeepAliveSender(payload, isAsync) {
6820
6993
  var transport = null;
6821
6994
  if (isArray(payload)) {
6822
6995
  var payloadSize = payload[_DYN_LENGTH ];
6823
6996
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6824
- payloadSize += payload[lp][_DYN_LENGTH ];
6997
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
6825
6998
  }
6826
6999
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6827
7000
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -6849,6 +7022,8 @@ var Sender = /** @class */ (function (_super) {
6849
7022
  _consecutiveErrors++;
6850
7023
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
6851
7024
  var item = payload_1[_i];
7025
+ item.cnt = item.cnt || 0;
7026
+ item.cnt++;
6852
7027
  buffer[_DYN_ENQUEUE ](item);
6853
7028
  }
6854
7029
  _setRetryTime(linearFactor);
@@ -6981,4 +7156,6 @@ var Sender = /** @class */ (function (_super) {
6981
7156
  }(BaseTelemetryPlugin));
6982
7157
 
6983
7158
  exports.Sender = Sender;
6984
- //# sourceMappingURL=applicationinsights-channel-js.3.1.3-nightly3.240329-01.cjs.js.map
7159
+
7160
+ }));
7161
+ //# sourceMappingURL=applicationinsights-channel-js.3.1.3-nightly3.2404-12.js.map