@microsoft/applicationinsights-channel-js 3.0.6 → 3.0.7-nightly3.2312-05

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 (61) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.0.6.js → applicationinsights-channel-js.3.0.7-nightly3.2312-05.cjs.js} +169 -136
  2. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.cjs.min.js.map +1 -0
  5. package/browser/es5/{applicationinsights-channel-js.3.0.6.gbl.js → applicationinsights-channel-js.3.0.7-nightly3.2312-05.gbl.js} +171 -111
  6. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.0.6.cjs.js → applicationinsights-channel-js.3.0.7-nightly3.2312-05.js} +196 -109
  11. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-05.min.js.map +1 -0
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +168 -108
  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 +170 -110
  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 +170 -110
  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 +168 -108
  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 +2 -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 +4 -4
  36. package/dist-es5/SendBuffer.js.map +1 -1
  37. package/dist-es5/Sender.js +36 -15
  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 +5 -5
  45. package/dist-es5/__DynamicConstants.js.map +1 -1
  46. package/dist-es5/applicationinsights-channel-js.js +1 -1
  47. package/package.json +65 -62
  48. package/types/applicationinsights-channel-js.d.ts +12 -1
  49. package/types/applicationinsights-channel-js.namespaced.d.ts +12 -1
  50. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.js.map +0 -1
  51. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.min.js +0 -6
  52. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.min.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.js.map +0 -1
  54. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.min.js +0 -6
  55. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.min.js.map +0 -1
  56. package/browser/es5/applicationinsights-channel-js.3.0.6.integrity.json +0 -66
  57. package/browser/es5/applicationinsights-channel-js.3.0.6.js.map +0 -1
  58. package/browser/es5/applicationinsights-channel-js.3.0.6.min.js +0 -6
  59. package/browser/es5/applicationinsights-channel-js.3.0.6.min.js.map +0 -1
  60. package/dist-es5/Offline.js +0 -91
  61. package/dist-es5/Offline.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.6
2
+ * Application Insights JavaScript SDK - Channel, 3.0.7-nightly3.2312-05
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -1075,7 +1075,7 @@
1075
1075
  var _DYN_WATCH = "watch";
1076
1076
  var _DYN_LOGGER = "logger";
1077
1077
  var _DYN_APPLY = "apply";
1078
- var _DYN_PUSH$1 = "push";
1078
+ var _DYN_PUSH$2 = "push";
1079
1079
  var _DYN_SPLICE = "splice";
1080
1080
  var _DYN_HDLR = "hdlr";
1081
1081
  var _DYN_CANCEL = "cancel";
@@ -1765,7 +1765,7 @@
1765
1765
  return result;
1766
1766
  }
1767
1767
 
1768
- var version = '3.0.6';
1768
+ var version = '3.0.7-nightly3.2312-05';
1769
1769
  var instanceName = "." + newId(6);
1770
1770
  var _dataUid = 0;
1771
1771
  function _canAcceptData(target) {
@@ -2043,7 +2043,7 @@
2043
2043
  trk: function (handler) {
2044
2044
  if (handler && handler.fn) {
2045
2045
  if (arrIndexOf(detail.h, handler) === -1) {
2046
- detail.h[_DYN_PUSH$1 ](handler);
2046
+ detail.h[_DYN_PUSH$2 ](handler);
2047
2047
  }
2048
2048
  state.trk(handler, detail);
2049
2049
  }
@@ -2255,7 +2255,7 @@
2255
2255
  _useHandler(handler, handler.fn);
2256
2256
  }
2257
2257
  catch (e) {
2258
- watcherFailures_1[_DYN_PUSH$1 ](e);
2258
+ watcherFailures_1[_DYN_PUSH$2 ](e);
2259
2259
  }
2260
2260
  }
2261
2261
  }
@@ -2265,7 +2265,7 @@
2265
2265
  _notifyWatchers();
2266
2266
  }
2267
2267
  catch (e) {
2268
- watcherFailures_1[_DYN_PUSH$1 ](e);
2268
+ watcherFailures_1[_DYN_PUSH$2 ](e);
2269
2269
  }
2270
2270
  }
2271
2271
  if (watcherFailures_1[_DYN_LENGTH$2 ] > 0) {
@@ -2287,7 +2287,7 @@
2287
2287
  for (var idx = 0; idx < detail.h[_DYN_LENGTH$2 ]; idx++) {
2288
2288
  var handler = detail.h[idx];
2289
2289
  if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
2290
- _waitingHandlers[_DYN_PUSH$1 ](handler);
2290
+ _waitingHandlers[_DYN_PUSH$2 ](handler);
2291
2291
  }
2292
2292
  }
2293
2293
  }
@@ -2296,7 +2296,7 @@
2296
2296
  if (handler) {
2297
2297
  var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
2298
2298
  if (arrIndexOf(details, detail) === -1) {
2299
- details[_DYN_PUSH$1 ](detail);
2299
+ details[_DYN_PUSH$2 ](detail);
2300
2300
  }
2301
2301
  }
2302
2302
  }
@@ -2614,14 +2614,14 @@
2614
2614
  }
2615
2615
  if (logMessage) {
2616
2616
  if (severity <= _loggingLevelTelemetry) {
2617
- _self.queue[_DYN_PUSH$1 ](message);
2617
+ _self.queue[_DYN_PUSH$2 ](message);
2618
2618
  _messageCount++;
2619
2619
  _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2620
2620
  }
2621
2621
  if (_messageCount === _maxInternalMessageLimit) {
2622
2622
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2623
2623
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2624
- _self.queue[_DYN_PUSH$1 ](throttleMessage);
2624
+ _self.queue[_DYN_PUSH$2 ](throttleMessage);
2625
2625
  if (severity === 1 ) {
2626
2626
  _self.errorToConsole(throttleLimitMessage);
2627
2627
  }
@@ -2754,7 +2754,7 @@
2754
2754
  children = [];
2755
2755
  currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
2756
2756
  }
2757
- children[_DYN_PUSH$1 ](perfEvt);
2757
+ children[_DYN_PUSH$2 ](perfEvt);
2758
2758
  }
2759
2759
  }
2760
2760
  perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
@@ -2837,7 +2837,7 @@
2837
2837
  args[_i - 2] = arguments[_i];
2838
2838
  }
2839
2839
  if (onComplete) {
2840
- _onComplete[_DYN_PUSH$1 ]({
2840
+ _onComplete[_DYN_PUSH$2 ]({
2841
2841
  func: onComplete,
2842
2842
  self: !isUndefined(that) ? that : context.ctx,
2843
2843
  args: args
@@ -3146,7 +3146,7 @@
3146
3146
  var handlers = [];
3147
3147
  function _addHandler(handler) {
3148
3148
  if (handler) {
3149
- handlers[_DYN_PUSH$1 ](handler);
3149
+ handlers[_DYN_PUSH$2 ](handler);
3150
3150
  }
3151
3151
  }
3152
3152
  function _runHandlers(unloadCtx, unloadState) {
@@ -3476,7 +3476,7 @@
3476
3476
  _a[_DYN_HANDLER ] = handlerRef,
3477
3477
  _a.capture = useCapture,
3478
3478
  _a);
3479
- _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$1 ](registeredEvent);
3479
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$2 ](registeredEvent);
3480
3480
  }
3481
3481
  }
3482
3482
  catch (e) {
@@ -3530,6 +3530,7 @@
3530
3530
  var _DYN_LENGTH$1 = "length";
3531
3531
  var _DYN_TO_LOWER_CASE = "toLowerCase";
3532
3532
  var _DYN_TO_STRING$1 = "toString";
3533
+ var _DYN_PUSH$1 = "push";
3533
3534
  var _DYN_REMOVE_ITEM = "removeItem";
3534
3535
  var _DYN_NAME$1 = "name";
3535
3536
  var _DYN_MESSAGE = "message";
@@ -3968,7 +3969,7 @@
3968
3969
  entry += "@" + lines[lp + 1];
3969
3970
  lp++;
3970
3971
  }
3971
- stack.push(entry);
3972
+ stack[_DYN_PUSH$1 ](entry);
3972
3973
  }
3973
3974
  return {
3974
3975
  src: errorMessage,
@@ -4051,7 +4052,7 @@
4051
4052
  if (_StackFrame.regex.test(theFrame)) {
4052
4053
  var parsedFrame = new _StackFrame(theFrame, level_1++);
4053
4054
  totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
4054
- parsedStack.push(parsedFrame);
4055
+ parsedStack[_DYN_PUSH$1 ](parsedFrame);
4055
4056
  }
4056
4057
  });
4057
4058
  var exceptionParsedStackThreshold = 32 * 1024;
@@ -4631,6 +4632,122 @@
4631
4632
 
4632
4633
  var CtxTagKeys = new ContextTagKeys();
4633
4634
 
4635
+ function _disableEvents(target, evtNamespace) {
4636
+ eventOff(target, null, null, evtNamespace);
4637
+ }
4638
+ function createOfflineListener(parentEvtNamespace) {
4639
+ var _document = getDocument();
4640
+ var _navigator = getNavigator();
4641
+ var _isListening = false;
4642
+ var listenerList = [];
4643
+ var rState = 1 ;
4644
+ if (_navigator && !isNullOrUndefined(_navigator.onLine) && !_navigator.onLine) {
4645
+ rState = 2 ;
4646
+ }
4647
+ var uState = 0 ;
4648
+ var _currentState = calCurrentState();
4649
+ var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("OfflineListener"), parentEvtNamespace);
4650
+ try {
4651
+ if (_enableEvents(getWindow())) {
4652
+ _isListening = true;
4653
+ }
4654
+ if (_document) {
4655
+ var target = _document.body || _document;
4656
+ if (target.ononline) {
4657
+ if (_enableEvents(target)) {
4658
+ _isListening = true;
4659
+ }
4660
+ }
4661
+ }
4662
+ }
4663
+ catch (e) {
4664
+ _isListening = false;
4665
+ }
4666
+ function _enableEvents(target) {
4667
+ var enabled = false;
4668
+ if (target) {
4669
+ enabled = eventOn(target, "online", _setOnline, _evtNamespace);
4670
+ if (enabled) {
4671
+ eventOn(target, "offline", _setOffline, _evtNamespace);
4672
+ }
4673
+ }
4674
+ return enabled;
4675
+ }
4676
+ function _isOnline() {
4677
+ return _currentState;
4678
+ }
4679
+ function calCurrentState() {
4680
+ if (uState === 2 || rState === 2 ) {
4681
+ return false;
4682
+ }
4683
+ return true;
4684
+ }
4685
+ function listnerNoticeCheck() {
4686
+ var newState = calCurrentState();
4687
+ if (_currentState !== newState) {
4688
+ _currentState = newState;
4689
+ arrForEach(listenerList, function (callback) {
4690
+ var offlineState = {
4691
+ isOnline: _currentState,
4692
+ rState: rState,
4693
+ uState: uState
4694
+ };
4695
+ try {
4696
+ callback(offlineState);
4697
+ }
4698
+ catch (e) {
4699
+ }
4700
+ });
4701
+ }
4702
+ }
4703
+ function setOnlineState(newState) {
4704
+ uState = newState;
4705
+ listnerNoticeCheck();
4706
+ }
4707
+ function _setOnline() {
4708
+ rState = 1 ;
4709
+ listnerNoticeCheck();
4710
+ }
4711
+ function _setOffline() {
4712
+ rState = 2 ;
4713
+ listnerNoticeCheck();
4714
+ }
4715
+ function _unload() {
4716
+ var win = getWindow();
4717
+ if (win && _isListening) {
4718
+ _disableEvents(win, _evtNamespace);
4719
+ if (_document) {
4720
+ var target = _document.body || _document;
4721
+ if (!isUndefined(target.ononline)) {
4722
+ _disableEvents(target, _evtNamespace);
4723
+ }
4724
+ }
4725
+ _isListening = false;
4726
+ }
4727
+ }
4728
+ function addListener(callback) {
4729
+ listenerList[_DYN_PUSH$1 ](callback);
4730
+ return {
4731
+ rm: function () {
4732
+ var index = listenerList.indexOf(callback);
4733
+ if (index > -1) {
4734
+ return listenerList.splice(index, 1);
4735
+ }
4736
+ else {
4737
+ return;
4738
+ }
4739
+ }
4740
+ };
4741
+ }
4742
+ return {
4743
+ isOnline: _isOnline,
4744
+ isListening: function () { return _isListening; },
4745
+ unload: _unload,
4746
+ addListener: addListener,
4747
+ setOnlineState: setOnlineState
4748
+ };
4749
+ }
4750
+
4634
4751
  var BreezeChannelIdentifier = "AppInsightsChannelPlugin";
4635
4752
 
4636
4753
  var STR_DURATION = "duration";
@@ -4646,8 +4763,6 @@
4646
4763
  var _DYN_DATA_TYPE = "dataType";
4647
4764
  var _DYN_ENVELOPE_TYPE = "envelopeType";
4648
4765
  var _DYN_TO_STRING = "toString";
4649
- var _DYN_ON_LINE = "onLine";
4650
- var _DYN_IS_ONLINE = "isOnline";
4651
4766
  var _DYN__GET = "_get";
4652
4767
  var _DYN_ENQUEUE = "enqueue";
4653
4768
  var _DYN_COUNT = "count";
@@ -4662,6 +4777,7 @@
4662
4777
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4663
4778
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4664
4779
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4780
+ var _DYN_CONCAT = "concat";
4665
4781
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4666
4782
  var _DYN_SEND_POST = "sendPOST";
4667
4783
  var _DYN_TRIGGER_SEND = "triggerSend";
@@ -4677,6 +4793,7 @@
4677
4793
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4678
4794
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
4679
4795
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4796
+ var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
4680
4797
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4681
4798
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4682
4799
  var _DYN_BASE_TYPE = "baseType";
@@ -4802,7 +4919,7 @@
4802
4919
  }
4803
4920
  }
4804
4921
  var EnvelopeCreator = {
4805
- Version: '3.0.6'
4922
+ Version: '3.0.7-nightly3.2312-05'
4806
4923
  };
4807
4924
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4808
4925
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -4951,83 +5068,6 @@
4951
5068
  return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
4952
5069
  }
4953
5070
 
4954
- function _disableEvents(target, evtNamespace) {
4955
- eventOff(target, null, null, evtNamespace);
4956
- }
4957
- function createOfflineListener(parentEvtNamespace) {
4958
- var _a;
4959
- var _document = getDocument();
4960
- var _navigator = getNavigator();
4961
- var _isListening = false;
4962
- var _onlineStatus = true;
4963
- var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("OfflineListener"), parentEvtNamespace);
4964
- try {
4965
- if (_enableEvents(getWindow())) {
4966
- _isListening = true;
4967
- }
4968
- if (_document) {
4969
- var target = _document.body || _document;
4970
- if (target.ononline) {
4971
- if (_enableEvents(target)) {
4972
- _isListening = true;
4973
- }
4974
- }
4975
- }
4976
- if (_isListening) {
4977
- if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE ])) {
4978
- _onlineStatus = _navigator[_DYN_ON_LINE ];
4979
- }
4980
- }
4981
- }
4982
- catch (e) {
4983
- _isListening = false;
4984
- }
4985
- function _enableEvents(target) {
4986
- var enabled = false;
4987
- if (target) {
4988
- enabled = eventOn(target, "online", _setOnline, _evtNamespace);
4989
- if (enabled) {
4990
- eventOn(target, "offline", _setOffline, _evtNamespace);
4991
- }
4992
- }
4993
- return enabled;
4994
- }
4995
- function _setOnline() {
4996
- _onlineStatus = true;
4997
- }
4998
- function _setOffline() {
4999
- _onlineStatus = false;
5000
- }
5001
- function _isOnline() {
5002
- var result = true;
5003
- if (_isListening) {
5004
- result = _onlineStatus;
5005
- }
5006
- else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE ])) {
5007
- result = _navigator[_DYN_ON_LINE ];
5008
- }
5009
- return result;
5010
- }
5011
- function _unload() {
5012
- var win = getWindow();
5013
- if (win && _isListening) {
5014
- _disableEvents(win, _evtNamespace);
5015
- if (_document) {
5016
- var target = _document.body || _document;
5017
- if (!isUndefined(target.ononline)) {
5018
- _disableEvents(target, _evtNamespace);
5019
- }
5020
- }
5021
- _isListening = false;
5022
- }
5023
- }
5024
- return _a = {},
5025
- _a[_DYN_IS_ONLINE ] = _isOnline,
5026
- _a.isListening = function () { return _isListening; },
5027
- _a.unload = _unload,
5028
- _a;
5029
- }
5030
-
5031
5071
  var BaseSendBuffer = /** @class */ (function () {
5032
5072
  function BaseSendBuffer(logger, config) {
5033
5073
  var _buffer = [];
@@ -5120,7 +5160,7 @@
5120
5160
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5121
5161
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5122
5162
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5123
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5163
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5124
5164
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5125
5165
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5126
5166
  }
@@ -5147,7 +5187,7 @@
5147
5187
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5148
5188
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5149
5189
  if (sentElements instanceof Array && payload instanceof Array) {
5150
- sentElements = sentElements.concat(payload);
5190
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5151
5191
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5152
5192
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5153
5193
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5385,7 +5425,7 @@
5385
5425
  return 0;
5386
5426
  }
5387
5427
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
5388
- input = input.concat(input);
5428
+ input = input[_DYN_CONCAT ](input);
5389
5429
  }
5390
5430
  var hash = 5381;
5391
5431
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -5466,6 +5506,17 @@
5466
5506
  function isOverrideFn(httpXHROverride) {
5467
5507
  return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5468
5508
  }
5509
+ function _prependTransports(theTransports, newTransports) {
5510
+ if (newTransports) {
5511
+ if (isNumber(newTransports)) {
5512
+ theTransports = [newTransports][_DYN_CONCAT ](theTransports);
5513
+ }
5514
+ else if (isArray(newTransports)) {
5515
+ theTransports = newTransports[_DYN_CONCAT ](theTransports);
5516
+ }
5517
+ }
5518
+ return theTransports;
5519
+ }
5469
5520
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5470
5521
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
5471
5522
  },
@@ -5489,6 +5540,7 @@
5489
5540
  _a[_DYN_BUFFER_OVERRIDE ] = false,
5490
5541
  _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
5491
5542
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
5543
+ _a.transports = UNDEFINED_VALUE,
5492
5544
  _a));
5493
5545
  function _chkSampling(value) {
5494
5546
  return !isNaN(value) && value > 0 && value <= 100;
@@ -5523,6 +5575,8 @@
5523
5575
  var _orgEndpointUrl;
5524
5576
  var _maxBatchSizeInBytes;
5525
5577
  var _beaconSupported;
5578
+ var _beaconOnUnloadSupported;
5579
+ var _beaconNormalSupported;
5526
5580
  var _customHeaders;
5527
5581
  var _disableTelemetry;
5528
5582
  var _instrumentationKey;
@@ -5619,6 +5673,8 @@
5619
5673
  }
5620
5674
  _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
5621
5675
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
5676
+ _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
5677
+ _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
5622
5678
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5623
5679
  _disableXhr = !!senderConfig.disableXhr;
5624
5680
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
@@ -5666,7 +5722,8 @@
5666
5722
  var customInterface = senderConfig.httpXHROverride;
5667
5723
  var httpInterface = null;
5668
5724
  var syncInterface = null;
5669
- httpInterface = _getSenderInterface([1 , 2 ], false);
5725
+ var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
5726
+ httpInterface = _getSenderInterface(theTransports, false);
5670
5727
  var xhrInterface = { sendPOST: _xhrSender };
5671
5728
  _xhrSend = function (payload, isAsync) {
5672
5729
  return _doSend(xhrInterface, payload, isAsync);
@@ -5674,9 +5731,6 @@
5674
5731
  _fallbackSend = function (payload, isAsync) {
5675
5732
  return _doSend(xhrInterface, payload, isAsync, false);
5676
5733
  };
5677
- if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
5678
- httpInterface = _getSenderInterface([3 ], false);
5679
- }
5680
5734
  httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
5681
5735
  _self[_DYN__SENDER ] = function (payload, isAsync) {
5682
5736
  return _doSend(httpInterface, payload, isAsync);
@@ -5684,8 +5738,13 @@
5684
5738
  if (_fetchKeepAlive) {
5685
5739
  _syncUnloadSender = _fetchKeepAliveSender;
5686
5740
  }
5687
- syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
5688
- if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
5741
+ var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
5742
+ if (!_fetchKeepAlive) {
5743
+ syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
5744
+ }
5745
+ syncInterface = _getSenderInterface(syncTransports, true);
5746
+ syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
5747
+ if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
5689
5748
  _syncUnloadSender = function (payload, isAsync) {
5690
5749
  return _doSend(syncInterface, payload, isAsync);
5691
5750
  };
@@ -5877,7 +5936,7 @@
5877
5936
  else if (transportType === 2 && isFetchSupported(syncSupport)) {
5878
5937
  sendPostFunc = _fetchSender;
5879
5938
  }
5880
- else if (isBeaconsSupported() && transportType === 3 ) {
5939
+ else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
5881
5940
  sendPostFunc = _beaconSender;
5882
5941
  }
5883
5942
  lp++;
@@ -5934,7 +5993,7 @@
5934
5993
  function _checkMaxSize(incomingPayload) {
5935
5994
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
5936
5995
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
5937
- if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE ]()) {
5996
+ if (!_offlineListener || _offlineListener.isOnline()) {
5938
5997
  _self[_DYN_TRIGGER_SEND ](true, null, 10 );
5939
5998
  }
5940
5999
  return true;
@@ -5965,7 +6024,7 @@
5965
6024
  _self[_DYN__ON_ERROR ](payload, errorMessage);
5966
6025
  }
5967
6026
  }
5968
- else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE ]()) {
6027
+ else if (_offlineListener && !_offlineListener.isOnline()) {
5969
6028
  if (!_isRetryDisabled) {
5970
6029
  var offlineBackOffMultiplier = 10;
5971
6030
  _resendPayload(payload, offlineBackOffMultiplier);
@@ -6107,6 +6166,7 @@
6107
6166
  payloadSize += payload[lp][_DYN_LENGTH ];
6108
6167
  }
6109
6168
  var payloadData = _getPayload(payload);
6169
+ _self._buffer[_DYN_MARK_AS_SENT ](payload);
6110
6170
  if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6111
6171
  _doFetchSender(payloadData, onComplete, true);
6112
6172
  }