@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,32 +1,7 @@
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_240329_01", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.3-nightly3.240329-01";
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) {
30
5
  'use strict';
31
6
 
32
7
 
@@ -1190,14 +1165,19 @@ function throwAggregationError(message, sourceErrors) {
1190
1165
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1191
1166
  }
1192
1167
 
1168
+ var STR_PROMISE = "Promise";
1169
+ var REJECTED = "rejected";
1170
+
1193
1171
  function doAwaitResponse(value, cb) {
1194
1172
  return doAwait(value, function (value) {
1195
1173
  return cb ? cb({
1196
- value: value,
1197
- rejected: false
1174
+ status: "fulfilled",
1175
+ rejected: false,
1176
+ value: value
1198
1177
  }) : value;
1199
1178
  }, function (reason) {
1200
1179
  return cb ? cb({
1180
+ status: REJECTED,
1201
1181
  rejected: true,
1202
1182
  reason: reason
1203
1183
  }) : reason;
@@ -1205,18 +1185,32 @@ function doAwaitResponse(value, cb) {
1205
1185
  }
1206
1186
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
1207
1187
  var result = value;
1208
- if (isPromiseLike(value)) {
1209
- if (resolveFn || rejectFn) {
1210
- result = value.then(resolveFn, rejectFn);
1188
+ try {
1189
+ if (isPromiseLike(value)) {
1190
+ if (resolveFn || rejectFn) {
1191
+ result = value.then(resolveFn, rejectFn);
1192
+ }
1211
1193
  }
1212
- }
1213
- else {
1214
- if (resolveFn) {
1215
- result = resolveFn(value);
1194
+ else {
1195
+ try {
1196
+ if (resolveFn) {
1197
+ result = resolveFn(value);
1198
+ }
1199
+ }
1200
+ catch (err) {
1201
+ if (rejectFn) {
1202
+ result = rejectFn(err);
1203
+ }
1204
+ else {
1205
+ throw err;
1206
+ }
1207
+ }
1216
1208
  }
1217
1209
  }
1218
- if (finallyFn) {
1219
- doFinally(result, finallyFn);
1210
+ finally {
1211
+ if (finallyFn) {
1212
+ doFinally(result, finallyFn);
1213
+ }
1220
1214
  }
1221
1215
  return result;
1222
1216
  }
@@ -1244,21 +1238,22 @@ function doFinally(value, finallyFn) {
1244
1238
  return result;
1245
1239
  }
1246
1240
 
1247
- var STRING_STATES = [
1248
- "pending", "resolving", "resolved", "rejected"
1241
+ var STRING_STATES = [
1242
+ "pending", "resolving", "resolved", REJECTED
1249
1243
  ];
1250
1244
 
1251
1245
  var DISPATCH_EVENT = "dispatchEvent";
1252
1246
  var _hasInitEvent;
1247
+ function _hasInitEventFn(doc) {
1248
+ var evt;
1249
+ if (doc && doc.createEvent) {
1250
+ evt = doc.createEvent("Event");
1251
+ }
1252
+ return (!!evt && evt.initEvent);
1253
+ }
1253
1254
  function emitEvent(target, evtName, populateEvent, useNewEvent) {
1254
1255
  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));
1256
+ !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [doc]).v));
1262
1257
  var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1263
1258
  populateEvent && populateEvent(theEvt);
1264
1259
  if (_hasInitEvent.v) {
@@ -1279,8 +1274,6 @@ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1279
1274
  }
1280
1275
  }
1281
1276
 
1282
- var STR_PROMISE = "Promise";
1283
-
1284
1277
  var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1285
1278
  var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1286
1279
  var _unhandledRejectionTimeout = 10;
@@ -1301,7 +1294,7 @@ function _createPromise(newPromise, processor, executor) {
1301
1294
  var _unHandledRejectionHandler = null;
1302
1295
  var _thePromise;
1303
1296
  !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1304
- var _then = function (onResolved, onRejected) {
1297
+ function _then(onResolved, onRejected) {
1305
1298
  try {
1306
1299
  _handled = true;
1307
1300
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
@@ -1336,11 +1329,11 @@ function _createPromise(newPromise, processor, executor) {
1336
1329
  }
1337
1330
  finally {
1338
1331
  }
1339
- };
1340
- var _catch = function (onRejected) {
1332
+ }
1333
+ function _catch(onRejected) {
1341
1334
  return _then(undefined, onRejected);
1342
- };
1343
- var _finally = function (onFinally) {
1335
+ }
1336
+ function _finally(onFinally) {
1344
1337
  var thenFinally = onFinally;
1345
1338
  var catchFinally = onFinally;
1346
1339
  if (isFunction(onFinally)) {
@@ -1354,21 +1347,21 @@ function _createPromise(newPromise, processor, executor) {
1354
1347
  };
1355
1348
  }
1356
1349
  return _then(thenFinally, catchFinally);
1357
- };
1358
- var _strState = function () {
1350
+ }
1351
+ function _strState() {
1359
1352
  return STRING_STATES[_state];
1360
- };
1361
- var _processQueue = function () {
1353
+ }
1354
+ function _processQueue() {
1362
1355
  if (_queue.length > 0) {
1363
1356
  var pending = _queue.slice();
1364
1357
  _queue = [];
1365
1358
  _handled = true;
1366
- processor(pending);
1367
1359
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1368
1360
  _unHandledRejectionHandler = null;
1361
+ processor(pending);
1369
1362
  }
1370
- };
1371
- var _createSettleIfFn = function (newState, allowState) {
1363
+ }
1364
+ function _createSettleIfFn(newState, allowState) {
1372
1365
  return function (theValue) {
1373
1366
  if (_state === allowState) {
1374
1367
  if (newState === 2 && isPromiseLike(theValue)) {
@@ -1385,9 +1378,10 @@ function _createPromise(newPromise, processor, executor) {
1385
1378
  }
1386
1379
  }
1387
1380
  };
1388
- };
1389
- var _notifyUnhandledRejection = function () {
1381
+ }
1382
+ function _notifyUnhandledRejection() {
1390
1383
  if (!_handled) {
1384
+ _handled = true;
1391
1385
  if (isNode()) {
1392
1386
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1393
1387
  }
@@ -1400,7 +1394,7 @@ function _createPromise(newPromise, processor, executor) {
1400
1394
  }, !!_hasPromiseRejectionEvent.v);
1401
1395
  }
1402
1396
  }
1403
- };
1397
+ }
1404
1398
  _thePromise = {
1405
1399
  then: _then,
1406
1400
  "catch": _catch,
@@ -1412,9 +1406,9 @@ function _createPromise(newPromise, processor, executor) {
1412
1406
  if (hasSymbol()) {
1413
1407
  _thePromise[getKnownSymbol(11 )] = "IPromise";
1414
1408
  }
1415
- var _toString = function () {
1416
- return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1417
- };
1409
+ function _toString() {
1410
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "") + ("");
1411
+ }
1418
1412
  _thePromise.toString = _toString;
1419
1413
  (function _initialize() {
1420
1414
  if (!isFunction(executor)) {
@@ -1431,7 +1425,7 @@ function _createPromise(newPromise, processor, executor) {
1431
1425
  return _thePromise;
1432
1426
  }
1433
1427
 
1434
- var _processPendingItems = function (pending) {
1428
+ function syncItemProcessor(pending) {
1435
1429
  arrForEach(pending, function (fn) {
1436
1430
  try {
1437
1431
  fn();
@@ -1439,12 +1433,12 @@ var _processPendingItems = function (pending) {
1439
1433
  catch (e) {
1440
1434
  }
1441
1435
  });
1442
- };
1436
+ }
1443
1437
  function timeoutItemProcessor(timeout) {
1444
1438
  var callbackTimeout = isNumber(timeout) ? timeout : 0;
1445
1439
  return function (pending) {
1446
1440
  scheduleTimeout(function () {
1447
- _processPendingItems(pending);
1441
+ syncItemProcessor(pending);
1448
1442
  }, callbackTimeout);
1449
1443
  };
1450
1444
  }
@@ -1453,10 +1447,10 @@ function createAsyncPromise(executor, timeout) {
1453
1447
  return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1454
1448
  }
1455
1449
 
1456
- var _isPromiseSupported;
1450
+ var _promiseCls;
1457
1451
  function createNativePromise(executor, timeout) {
1458
- !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1459
- var PrmCls = _isPromiseSupported.v;
1452
+ !_promiseCls && (_promiseCls = createCachedValue((safe(getInst, [STR_PROMISE]).v) || null));
1453
+ var PrmCls = _promiseCls.v;
1460
1454
  if (!PrmCls) {
1461
1455
  return createAsyncPromise(executor);
1462
1456
  }
@@ -1486,7 +1480,7 @@ function createNativePromise(executor, timeout) {
1486
1480
 
1487
1481
  var _promiseCreator;
1488
1482
  function createPromise(executor, timeout) {
1489
- !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1483
+ !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1490
1484
  return _promiseCreator.v.call(this, executor, timeout);
1491
1485
  }
1492
1486
 
@@ -3724,7 +3718,9 @@ var SenderPostManager = /** @class */ (function () {
3724
3718
  return;
3725
3719
  }
3726
3720
  var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
3727
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3721
+ if (!_isOneDs) {
3722
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3723
+ }
3728
3724
  arrForEach(objKeys(headers), function (headerName) {
3729
3725
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
3730
3726
  });
@@ -4463,6 +4459,20 @@ function utlSetSessionStorage(logger, name, data) {
4463
4459
  }
4464
4460
  return false;
4465
4461
  }
4462
+ function utlRemoveSessionStorage(logger, name) {
4463
+ var storage = _getSessionStorageObject();
4464
+ if (storage !== null) {
4465
+ try {
4466
+ storage[_DYN_REMOVE_ITEM ](name);
4467
+ return true;
4468
+ }
4469
+ catch (e) {
4470
+ _canUseSessionStorage = false;
4471
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
4472
+ }
4473
+ }
4474
+ return false;
4475
+ }
4466
4476
 
4467
4477
  var Envelope = /** @class */ (function () {
4468
4478
  function Envelope(logger, data, name) {
@@ -5403,6 +5413,7 @@ var _DYN_ENQUEUE = "enqueue";
5403
5413
  var _DYN_COUNT = "count";
5404
5414
  var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
5405
5415
  var _DYN_PUSH = "push";
5416
+ var _DYN_ITEM = "item";
5406
5417
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
5407
5418
  var _DYN_CLEAR = "clear";
5408
5419
  var _DYN_CREATE_NEW = "createNew";
@@ -5411,6 +5422,7 @@ var _DYN_CLEAR_SENT = "clearSent";
5411
5422
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
5412
5423
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
5413
5424
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
5425
+ var _DYN_CONCAT = "concat";
5414
5426
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
5415
5427
  var _DYN_TRIGGER_SEND = "triggerSend";
5416
5428
  var _DYN_DIAG_LOG = "diagLog";
@@ -5436,8 +5448,8 @@ var _DYN_SERIALIZE = "serialize";
5436
5448
  var _DYN__ON_ERROR = "_onError";
5437
5449
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
5438
5450
  var _DYN__ON_SUCCESS = "_onSuccess";
5439
- var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5440
5451
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5452
+ var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
5441
5453
  var _DYN_ORI_PAYLOAD = "oriPayload";
5442
5454
  var _DYN_BASE_TYPE = "baseType";
5443
5455
  var _DYN_SAMPLE_RATE = "sampleRate";
@@ -5489,6 +5501,7 @@ function _extractPartAExtensions(logger, item, env) {
5489
5501
  var extOs = itmExt.os;
5490
5502
  if (extOs) {
5491
5503
  _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME ]);
5504
+ _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);
5492
5505
  }
5493
5506
  var extTrace = itmExt.trace;
5494
5507
  if (extTrace) {
@@ -5554,7 +5567,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
5554
5567
  }
5555
5568
  }
5556
5569
  var EnvelopeCreator = {
5557
- Version: '3.1.3-nightly3.240329-01'
5570
+ Version: '3.1.3-nightly3.2404-12'
5558
5571
  };
5559
5572
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
5560
5573
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5707,6 +5720,7 @@ var BaseSendBuffer = /** @class */ (function () {
5707
5720
  function BaseSendBuffer(logger, config) {
5708
5721
  var _buffer = [];
5709
5722
  var _bufferFullMessageSent = false;
5723
+ var _maxRetryCnt = config.maxRetryCnt;
5710
5724
  this[_DYN__GET ] = function () {
5711
5725
  return _buffer;
5712
5726
  };
@@ -5723,7 +5737,14 @@ var BaseSendBuffer = /** @class */ (function () {
5723
5737
  }
5724
5738
  return;
5725
5739
  }
5740
+ payload.cnt = payload.cnt || 0;
5741
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5742
+ if (payload.cnt > _maxRetryCnt) {
5743
+ return;
5744
+ }
5745
+ }
5726
5746
  _buffer[_DYN_PUSH ](payload);
5747
+ return;
5727
5748
  };
5728
5749
  _self[_DYN_COUNT ] = function () {
5729
5750
  return _buffer[_DYN_LENGTH ];
@@ -5731,7 +5752,7 @@ var BaseSendBuffer = /** @class */ (function () {
5731
5752
  _self.size = function () {
5732
5753
  var size = _buffer[_DYN_LENGTH ];
5733
5754
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
5734
- size += _buffer[lp][_DYN_LENGTH ];
5755
+ size += (_buffer[lp].item)[_DYN_LENGTH ];
5735
5756
  }
5736
5757
  if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
5737
5758
  size += 2;
@@ -5745,11 +5766,15 @@ var BaseSendBuffer = /** @class */ (function () {
5745
5766
  _self.getItems = function () {
5746
5767
  return _buffer.slice(0);
5747
5768
  };
5748
- _self.batchPayloads = function (payload) {
5749
- if (payload && payload[_DYN_LENGTH ] > 0) {
5769
+ _self.batchPayloads = function (payloads) {
5770
+ if (payloads && payloads[_DYN_LENGTH ] > 0) {
5771
+ var payloadStr_1 = [];
5772
+ arrForEach(payloads, function (payload) {
5773
+ payloadStr_1[_DYN_PUSH ](payload[_DYN_ITEM ]);
5774
+ });
5750
5775
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5751
- payload.join("\n") :
5752
- "[" + payload.join(",") + "]";
5776
+ payloadStr_1.join("\n") :
5777
+ "[" + payloadStr_1.join(",") + "]";
5753
5778
  return batch;
5754
5779
  }
5755
5780
  return null;
@@ -5785,17 +5810,21 @@ var ArraySendBuffer = /** @class */ (function (_super) {
5785
5810
  ArraySendBuffer.__ieDyn=1;
5786
5811
  return ArraySendBuffer;
5787
5812
  }(BaseSendBuffer));
5813
+ var PREVIOUS_KEYS = ["AI_buffer", "AI_sentBuffer"];
5788
5814
  var SessionStorageSendBuffer = /** @class */ (function (_super) {
5789
5815
  __extendsFn(SessionStorageSendBuffer, _super);
5790
5816
  function SessionStorageSendBuffer(logger, config) {
5791
5817
  var _this = _super.call(this, logger, config) || this;
5792
5818
  var _bufferFullMessageSent = false;
5793
5819
  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;
5820
+ var _b = config[_DYN_BUFFER_OVERRIDE ] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;
5821
+ var _maxRetryCnt = config.maxRetryCnt;
5795
5822
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5796
5823
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5797
- var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5798
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5824
+ var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5825
+ var previousItems = _getPreviousEvents();
5826
+ var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT ](previousItems);
5827
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5799
5828
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5800
5829
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5801
5830
  }
@@ -5809,6 +5838,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5809
5838
  }
5810
5839
  return;
5811
5840
  }
5841
+ payload.cnt = payload.cnt || 0;
5842
+ if (!isNullOrUndefined(_maxRetryCnt)) {
5843
+ if (payload.cnt > _maxRetryCnt) {
5844
+ return;
5845
+ }
5846
+ }
5812
5847
  _base[_DYN_ENQUEUE ](payload);
5813
5848
  _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET ]());
5814
5849
  };
@@ -5822,7 +5857,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5822
5857
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5823
5858
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5824
5859
  if (sentElements instanceof Array && payload instanceof Array) {
5825
- sentElements = sentElements.concat(payload);
5860
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5826
5861
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5827
5862
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5828
5863
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5853,8 +5888,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5853
5888
  };
5854
5889
  function _removePayloadsFromBuffer(payloads, buffer) {
5855
5890
  var remaining = [];
5891
+ var payloadStr = [];
5892
+ arrForEach(payloads, function (payload) {
5893
+ payloadStr[_DYN_PUSH ](payload[_DYN_ITEM ]);
5894
+ });
5856
5895
  arrForEach(buffer, function (value) {
5857
- if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {
5896
+ if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM ]) === -1) {
5858
5897
  remaining[_DYN_PUSH ](value);
5859
5898
  }
5860
5899
  });
@@ -5862,9 +5901,12 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5862
5901
  }
5863
5902
  function _getBuffer(key) {
5864
5903
  var prefixedKey = key;
5904
+ prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5905
+ return _getBufferBase(prefixedKey);
5906
+ }
5907
+ function _getBufferBase(key) {
5865
5908
  try {
5866
- prefixedKey = _namePrefix ? _namePrefix + "_" + prefixedKey : prefixedKey;
5867
- var bufferJson = getItem(logger, prefixedKey);
5909
+ var bufferJson = getItem(logger, key);
5868
5910
  if (bufferJson) {
5869
5911
  var buffer_1 = getJSON().parse(bufferJson);
5870
5912
  if (isString(buffer_1)) {
@@ -5876,7 +5918,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5876
5918
  }
5877
5919
  }
5878
5920
  catch (e) {
5879
- _throwInternal(logger, 1 , 42 , " storage key: " + prefixedKey + ", " + getExceptionName(e), { exception: dumpObj(e) });
5921
+ _throwInternal(logger, 1 , 42 , " storage key: " + key + ", " + getExceptionName(e), { exception: dumpObj(e) });
5880
5922
  }
5881
5923
  return [];
5882
5924
  }
@@ -5892,11 +5934,51 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5892
5934
  _throwInternal(logger, 2 , 41 , " storage key: " + prefixedKey + ", " + getExceptionName(e) + ". Buffer cleared", { exception: dumpObj(e) });
5893
5935
  }
5894
5936
  }
5937
+ function _getPreviousEvents() {
5938
+ var items = [];
5939
+ try {
5940
+ arrForEach(PREVIOUS_KEYS, function (key) {
5941
+ var events = _getItemsFromPreviousKey(key);
5942
+ items = items[_DYN_CONCAT ](events);
5943
+ if (_namePrefix) {
5944
+ var prefixedKey = _namePrefix + "_" + key;
5945
+ var prefixEvents = _getItemsFromPreviousKey(prefixedKey);
5946
+ items = items[_DYN_CONCAT ](prefixEvents);
5947
+ }
5948
+ });
5949
+ return items;
5950
+ }
5951
+ catch (e) {
5952
+ _throwInternal(logger, 2 , 41 , "Transfer events from previous buffers: " + getExceptionName(e) + ". previous Buffer items can not be removed", { exception: dumpObj(e) });
5953
+ }
5954
+ return [];
5955
+ }
5956
+ function _getItemsFromPreviousKey(key) {
5957
+ try {
5958
+ var items = _getBufferBase(key);
5959
+ var transFormedItems_1 = [];
5960
+ arrForEach(items, function (item) {
5961
+ var internalItem = {
5962
+ item: item,
5963
+ cnt: 0
5964
+ };
5965
+ transFormedItems_1[_DYN_PUSH ](internalItem);
5966
+ });
5967
+ utlRemoveSessionStorage(logger, key);
5968
+ return transFormedItems_1;
5969
+ }
5970
+ catch (e) {
5971
+ }
5972
+ return [];
5973
+ }
5895
5974
  });
5896
5975
  return _this;
5897
5976
  }
5898
- SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer";
5899
- SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer";
5977
+ var _a;
5978
+ _a = SessionStorageSendBuffer;
5979
+ SessionStorageSendBuffer.VERSION = "_1";
5980
+ SessionStorageSendBuffer.BUFFER_KEY = "AI_buffer" + _a.VERSION;
5981
+ SessionStorageSendBuffer.SENT_BUFFER_KEY = "AI_sentBuffer" + _a.VERSION;
5900
5982
  SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;
5901
5983
  return SessionStorageSendBuffer;
5902
5984
  }(BaseSendBuffer));
@@ -6055,7 +6137,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
6055
6137
  return 0;
6056
6138
  }
6057
6139
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
6058
- input = input.concat(input);
6140
+ input = input[_DYN_CONCAT ](input);
6059
6141
  }
6060
6142
  var hash = 5381;
6061
6143
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -6162,6 +6244,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
6162
6244
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
6163
6245
  _a.transports = UNDEFINED_VALUE,
6164
6246
  _a.retryCodes = UNDEFINED_VALUE,
6247
+ _a.maxRetryCnt = { isVal: isNumber, v: 10 },
6165
6248
  _a));
6166
6249
  function _chkSampling(value) {
6167
6250
  return !isNaN(value) && value > 0 && value <= 100;
@@ -6391,6 +6474,7 @@ var Sender = /** @class */ (function (_super) {
6391
6474
  }));
6392
6475
  };
6393
6476
  _self.processTelemetry = function (telemetryItem, itemCtx) {
6477
+ var _a;
6394
6478
  itemCtx = _self._getTelCtx(itemCtx);
6395
6479
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
6396
6480
  try {
@@ -6405,7 +6489,12 @@ var Sender = /** @class */ (function (_super) {
6405
6489
  var payload = _serializer[_DYN_SERIALIZE ](aiEnvelope);
6406
6490
  var buffer = _self[_DYN__BUFFER ];
6407
6491
  _checkMaxSize(payload);
6408
- buffer[_DYN_ENQUEUE ](payload);
6492
+ var payloadItem = (_a = {},
6493
+ _a[_DYN_ITEM ] = payload,
6494
+ _a.cnt = 0
6495
+ ,
6496
+ _a);
6497
+ buffer[_DYN_ENQUEUE ](payloadItem);
6409
6498
  _setupTimer();
6410
6499
  }
6411
6500
  catch (e) {
@@ -6417,6 +6506,9 @@ var Sender = /** @class */ (function (_super) {
6417
6506
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
6418
6507
  };
6419
6508
  _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6509
+ if (_isStringArr(payload)) {
6510
+ return;
6511
+ }
6420
6512
  return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
6421
6513
  };
6422
6514
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
@@ -6472,40 +6564,27 @@ var Sender = /** @class */ (function (_super) {
6472
6564
  _initDefaults();
6473
6565
  };
6474
6566
  _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);
6567
+ if (_isStringArr(payload)) {
6568
+ return;
6569
+ }
6570
+ return _onError(payload, message);
6477
6571
  };
6478
6572
  _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");
6573
+ if (_isStringArr(payload)) {
6574
+ return;
6503
6575
  }
6576
+ return _onPartialSuccess(payload, results);
6504
6577
  };
6505
6578
  _self[_DYN__ON_SUCCESS ] = function (payload, countOfItemsInPayload) {
6506
- _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6579
+ if (_isStringArr(payload)) {
6580
+ return;
6581
+ }
6582
+ return _onSuccess(payload);
6507
6583
  };
6508
6584
  _self._xdrOnLoad = function (xdr, payload) {
6585
+ if (_isStringArr(payload)) {
6586
+ return;
6587
+ }
6509
6588
  return _xdrOnLoad(xdr, payload);
6510
6589
  };
6511
6590
  function _xdrOnLoad(xdr, payload) {
@@ -6516,7 +6595,7 @@ var Sender = /** @class */ (function (_super) {
6516
6595
  }
6517
6596
  else {
6518
6597
  var results = parseResponse(responseText);
6519
- if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
6598
+ if (results && results[_DYN_ITEMS_RECEIVED ] && results[_DYN_ITEMS_RECEIVED ] > results[_DYN_ITEMS_ACCEPTED ]
6520
6599
  && !_isRetryDisabled) {
6521
6600
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
6522
6601
  }
@@ -6574,6 +6653,40 @@ var Sender = /** @class */ (function (_super) {
6574
6653
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6575
6654
  }
6576
6655
  }
6656
+ function _onError(payload, message, event) {
6657
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 26 , "Failed to send telemetry.", { message: message });
6658
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6659
+ }
6660
+ function _onPartialSuccess(payload, results) {
6661
+ var failed = [];
6662
+ var retry = [];
6663
+ var errors = results.errors.reverse();
6664
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
6665
+ var error = errors_1[_i];
6666
+ var extracted = payload.splice(error.index, 1)[0];
6667
+ if (_isRetriable(error.statusCode)) {
6668
+ retry[_DYN_PUSH ](extracted);
6669
+ }
6670
+ else {
6671
+ failed[_DYN_PUSH ](extracted);
6672
+ }
6673
+ }
6674
+ if (payload[_DYN_LENGTH ] > 0) {
6675
+ _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
6676
+ }
6677
+ if (failed[_DYN_LENGTH ] > 0) {
6678
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6679
+ }
6680
+ if (retry[_DYN_LENGTH ] > 0) {
6681
+ _resendPayload(retry);
6682
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , "Partial success. " +
6683
+ "Delivered: " + payload[_DYN_LENGTH ] + ", Failed: " + failed[_DYN_LENGTH ] +
6684
+ ". Will retry to send " + retry[_DYN_LENGTH ] + " our of " + results[_DYN_ITEMS_RECEIVED ] + " items");
6685
+ }
6686
+ }
6687
+ function _onSuccess(payload, countOfItemsInPayload) {
6688
+ _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
6689
+ }
6577
6690
  function _getPayloadArr(payload) {
6578
6691
  try {
6579
6692
  if (payload) {
@@ -6841,12 +6954,22 @@ var Sender = /** @class */ (function (_super) {
6841
6954
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6842
6955
  }
6843
6956
  }
6957
+ function _isStringArr(arr) {
6958
+ try {
6959
+ if (arr && arr[_DYN_LENGTH ]) {
6960
+ return (isString(arr[0]));
6961
+ }
6962
+ }
6963
+ catch (e) {
6964
+ }
6965
+ return null;
6966
+ }
6844
6967
  function _fetchKeepAliveSender(payload, isAsync) {
6845
6968
  var transport = null;
6846
6969
  if (isArray(payload)) {
6847
6970
  var payloadSize = payload[_DYN_LENGTH ];
6848
6971
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6849
- payloadSize += payload[lp][_DYN_LENGTH ];
6972
+ payloadSize += payload[lp].item[_DYN_LENGTH ];
6850
6973
  }
6851
6974
  var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6852
6975
  if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
@@ -6874,6 +6997,8 @@ var Sender = /** @class */ (function (_super) {
6874
6997
  _consecutiveErrors++;
6875
6998
  for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {
6876
6999
  var item = payload_1[_i];
7000
+ item.cnt = item.cnt || 0;
7001
+ item.cnt++;
6877
7002
  buffer[_DYN_ENQUEUE ](item);
6878
7003
  }
6879
7004
  _setRetryTime(linearFactor);
@@ -7006,6 +7131,4 @@ var Sender = /** @class */ (function (_super) {
7006
7131
  }(BaseTelemetryPlugin));
7007
7132
 
7008
7133
  exports.Sender = Sender;
7009
-
7010
- }));
7011
- //# sourceMappingURL=applicationinsights-channel-js.3.1.3-nightly3.240329-01.js.map
7134
+ //# sourceMappingURL=applicationinsights-channel-js.3.1.3-nightly3.2404-12.cjs.js.map