@microsoft/applicationinsights-channel-js 3.0.6-nightly3.2311-06 → 3.0.6

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-nightly3.2311-06.cjs.js → applicationinsights-channel-js.3.0.6.cjs.js} +149 -192
  2. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.min.js.map +1 -0
  5. package/browser/es5/{applicationinsights-channel-js.3.0.6-nightly3.2311-06.gbl.js → applicationinsights-channel-js.3.0.6.gbl.js} +151 -194
  6. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.0.6.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.0.6-nightly3.2311-06.js → applicationinsights-channel-js.3.0.6.js} +151 -194
  11. package/browser/es5/applicationinsights-channel-js.3.0.6.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.0.6.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.0.6.min.js.map +1 -0
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +148 -191
  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 +150 -193
  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 +150 -193
  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 +148 -191
  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/Offline.js +91 -0
  36. package/dist-es5/Offline.js.map +1 -0
  37. package/dist-es5/SendBuffer.js +4 -4
  38. package/dist-es5/SendBuffer.js.map +1 -1
  39. package/dist-es5/Sender.js +56 -53
  40. package/dist-es5/Sender.js.map +1 -1
  41. package/dist-es5/Serializer.js +1 -1
  42. package/dist-es5/TelemetryProcessors/Sample.js +1 -1
  43. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +3 -3
  44. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js.map +1 -1
  45. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  46. package/dist-es5/__DynamicConstants.js +10 -9
  47. package/dist-es5/__DynamicConstants.js.map +1 -1
  48. package/dist-es5/applicationinsights-channel-js.js +1 -1
  49. package/package.json +62 -65
  50. package/types/applicationinsights-channel-js.d.ts +5 -10
  51. package/types/applicationinsights-channel-js.namespaced.d.ts +5 -10
  52. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.cjs.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.cjs.min.js +0 -6
  54. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.cjs.min.js.map +0 -1
  55. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.gbl.js.map +0 -1
  56. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.gbl.min.js +0 -6
  57. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.gbl.min.js.map +0 -1
  58. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.integrity.json +0 -66
  59. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.js.map +0 -1
  60. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.min.js +0 -6
  61. package/browser/es5/applicationinsights-channel-js.3.0.6-nightly3.2311-06.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.6-nightly3.2311-06
2
+ * Application Insights JavaScript SDK - Channel, 3.0.6
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$2 = "push";
1078
+ var _DYN_PUSH$1 = "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-nightly3.2311-06';
1768
+ var version = '3.0.6';
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$2 ](handler);
2046
+ detail.h[_DYN_PUSH$1 ](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$2 ](e);
2258
+ watcherFailures_1[_DYN_PUSH$1 ](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$2 ](e);
2268
+ watcherFailures_1[_DYN_PUSH$1 ](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$2 ](handler);
2290
+ _waitingHandlers[_DYN_PUSH$1 ](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$2 ](detail);
2299
+ details[_DYN_PUSH$1 ](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$2 ](message);
2617
+ _self.queue[_DYN_PUSH$1 ](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$2 ](throttleMessage);
2624
+ _self.queue[_DYN_PUSH$1 ](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$2 ](perfEvt);
2757
+ children[_DYN_PUSH$1 ](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$2 ]({
2840
+ _onComplete[_DYN_PUSH$1 ]({
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$2 ](handler);
3149
+ handlers[_DYN_PUSH$1 ](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$2 ](registeredEvent);
3479
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$1 ](registeredEvent);
3480
3480
  }
3481
3481
  }
3482
3482
  catch (e) {
@@ -3530,7 +3530,6 @@
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";
3534
3533
  var _DYN_REMOVE_ITEM = "removeItem";
3535
3534
  var _DYN_NAME$1 = "name";
3536
3535
  var _DYN_MESSAGE = "message";
@@ -3969,7 +3968,7 @@
3969
3968
  entry += "@" + lines[lp + 1];
3970
3969
  lp++;
3971
3970
  }
3972
- stack[_DYN_PUSH$1 ](entry);
3971
+ stack.push(entry);
3973
3972
  }
3974
3973
  return {
3975
3974
  src: errorMessage,
@@ -4052,7 +4051,7 @@
4052
4051
  if (_StackFrame.regex.test(theFrame)) {
4053
4052
  var parsedFrame = new _StackFrame(theFrame, level_1++);
4054
4053
  totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
4055
- parsedStack[_DYN_PUSH$1 ](parsedFrame);
4054
+ parsedStack.push(parsedFrame);
4056
4055
  }
4057
4056
  });
4058
4057
  var exceptionParsedStackThreshold = 32 * 1024;
@@ -4632,122 +4631,6 @@
4632
4631
 
4633
4632
  var CtxTagKeys = new ContextTagKeys();
4634
4633
 
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
-
4751
4634
  var BreezeChannelIdentifier = "AppInsightsChannelPlugin";
4752
4635
 
4753
4636
  var STR_DURATION = "duration";
@@ -4763,6 +4646,8 @@
4763
4646
  var _DYN_DATA_TYPE = "dataType";
4764
4647
  var _DYN_ENVELOPE_TYPE = "envelopeType";
4765
4648
  var _DYN_TO_STRING = "toString";
4649
+ var _DYN_ON_LINE = "onLine";
4650
+ var _DYN_IS_ONLINE = "isOnline";
4766
4651
  var _DYN__GET = "_get";
4767
4652
  var _DYN_ENQUEUE = "enqueue";
4768
4653
  var _DYN_COUNT = "count";
@@ -4777,7 +4662,6 @@
4777
4662
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4778
4663
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4779
4664
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4780
- var _DYN_CONCAT = "concat";
4781
4665
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4782
4666
  var _DYN_SEND_POST = "sendPOST";
4783
4667
  var _DYN_TRIGGER_SEND = "triggerSend";
@@ -4791,13 +4675,13 @@
4791
4675
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
4792
4676
  var _DYN__BUFFER = "_buffer";
4793
4677
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4678
+ var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
4794
4679
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4795
- var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
4796
4680
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4797
4681
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4798
4682
  var _DYN_BASE_TYPE = "baseType";
4799
4683
  var _DYN_SAMPLE_RATE = "sampleRate";
4800
- var _DYN__XHR_READY_STATE_CHA7 = "_xhrReadyStateChange";
4684
+ var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
4801
4685
  var _DYN__ON_ERROR = "_onError";
4802
4686
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
4803
4687
  var _DYN__ON_SUCCESS = "_onSuccess";
@@ -4918,7 +4802,7 @@
4918
4802
  }
4919
4803
  }
4920
4804
  var EnvelopeCreator = {
4921
- Version: '3.0.6-nightly3.2311-06'
4805
+ Version: '3.0.6'
4922
4806
  };
4923
4807
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4924
4808
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5067,6 +4951,83 @@
5067
4951
  return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
5068
4952
  }
5069
4953
 
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
+
5070
5031
  var BaseSendBuffer = /** @class */ (function () {
5071
5032
  function BaseSendBuffer(logger, config) {
5072
5033
  var _buffer = [];
@@ -5159,7 +5120,7 @@
5159
5120
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5160
5121
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5161
5122
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5162
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5123
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5163
5124
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5164
5125
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5165
5126
  }
@@ -5186,7 +5147,7 @@
5186
5147
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5187
5148
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5188
5149
  if (sentElements instanceof Array && payload instanceof Array) {
5189
- sentElements = sentElements[_DYN_CONCAT ](payload);
5150
+ sentElements = sentElements.concat(payload);
5190
5151
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5191
5152
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5192
5153
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5424,7 +5385,7 @@
5424
5385
  return 0;
5425
5386
  }
5426
5387
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
5427
- input = input[_DYN_CONCAT ](input);
5388
+ input = input.concat(input);
5428
5389
  }
5429
5390
  var hash = 5381;
5430
5391
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -5505,17 +5466,6 @@
5505
5466
  function isOverrideFn(httpXHROverride) {
5506
5467
  return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5507
5468
  }
5508
- function _prependTransports(theTransports, newTransports) {
5509
- if (newTransports) {
5510
- if (isNumber(newTransports)) {
5511
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
5512
- }
5513
- else if (isArray(newTransports)) {
5514
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
5515
- }
5516
- }
5517
- return theTransports;
5518
- }
5519
5469
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5520
5470
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
5521
5471
  },
@@ -5526,6 +5476,7 @@
5526
5476
  _a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
5527
5477
  _a.isRetryDisabled = cfgDfBoolean(),
5528
5478
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
5479
+ _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(),
5529
5480
  _a.disableXhr = cfgDfBoolean(),
5530
5481
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
5531
5482
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
@@ -5538,7 +5489,6 @@
5538
5489
  _a[_DYN_BUFFER_OVERRIDE ] = false,
5539
5490
  _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
5540
5491
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
5541
- _a.transports = UNDEFINED_VALUE,
5542
5492
  _a));
5543
5493
  function _chkSampling(value) {
5544
5494
  return !isNaN(value) && value > 0 && value <= 100;
@@ -5573,8 +5523,6 @@
5573
5523
  var _orgEndpointUrl;
5574
5524
  var _maxBatchSizeInBytes;
5575
5525
  var _beaconSupported;
5576
- var _beaconOnUnloadSupported;
5577
- var _beaconNormalSupported;
5578
5526
  var _customHeaders;
5579
5527
  var _disableTelemetry;
5580
5528
  var _instrumentationKey;
@@ -5589,6 +5537,8 @@
5589
5537
  var _disableXhr;
5590
5538
  var _fetchKeepAlive;
5591
5539
  var _xhrSend;
5540
+ var _fallbackSend;
5541
+ var _disableBeaconSplit;
5592
5542
  dynamicProto(Sender, _this, function (_self, _base) {
5593
5543
  _initDefaults();
5594
5544
  _self.pause = function () {
@@ -5669,8 +5619,6 @@
5669
5619
  }
5670
5620
  _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
5671
5621
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
5672
- _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
5673
- _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
5674
5622
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5675
5623
  _disableXhr = !!senderConfig.disableXhr;
5676
5624
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
@@ -5699,6 +5647,7 @@
5699
5647
  _sessionStorageUsed = canUseSessionStorage;
5700
5648
  _bufferOverrideUsed = bufferOverride;
5701
5649
  _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 ] && isFetchSupported(true);
5650
+ _disableBeaconSplit = !!senderConfig[_DYN_DISABLE_SEND_BEACON_7 ];
5702
5651
  _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
5703
5652
  _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY ];
5704
5653
  if (!_validateInstrumentationKey(_instrumentationKey, config)) {
@@ -5717,12 +5666,17 @@
5717
5666
  var customInterface = senderConfig.httpXHROverride;
5718
5667
  var httpInterface = null;
5719
5668
  var syncInterface = null;
5720
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
5721
- httpInterface = _getSenderInterface(theTransports, false);
5669
+ httpInterface = _getSenderInterface([1 , 2 ], false);
5722
5670
  var xhrInterface = { sendPOST: _xhrSender };
5723
5671
  _xhrSend = function (payload, isAsync) {
5724
5672
  return _doSend(xhrInterface, payload, isAsync);
5725
5673
  };
5674
+ _fallbackSend = function (payload, isAsync) {
5675
+ return _doSend(xhrInterface, payload, isAsync, false);
5676
+ };
5677
+ if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
5678
+ httpInterface = _getSenderInterface([3 ], false);
5679
+ }
5726
5680
  httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
5727
5681
  _self[_DYN__SENDER ] = function (payload, isAsync) {
5728
5682
  return _doSend(httpInterface, payload, isAsync);
@@ -5730,13 +5684,8 @@
5730
5684
  if (_fetchKeepAlive) {
5731
5685
  _syncUnloadSender = _fetchKeepAliveSender;
5732
5686
  }
5733
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
5734
- if (!_fetchKeepAlive) {
5735
- syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
5736
- }
5737
- syncInterface = _getSenderInterface(syncTransports, true);
5738
- syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
5739
- if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
5687
+ syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
5688
+ if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
5740
5689
  _syncUnloadSender = function (payload, isAsync) {
5741
5690
  return _doSend(syncInterface, payload, isAsync);
5742
5691
  };
@@ -5814,7 +5763,7 @@
5814
5763
  }
5815
5764
  _self.processNext(telemetryItem, itemCtx);
5816
5765
  };
5817
- _self[_DYN__XHR_READY_STATE_CHA7 ] = function (xhr, payload, countOfItemsInPayload) {
5766
+ _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
5818
5767
  if (xhr.readyState === 4) {
5819
5768
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
5820
5769
  }
@@ -5928,7 +5877,7 @@
5928
5877
  else if (transportType === 2 && isFetchSupported(syncSupport)) {
5929
5878
  sendPostFunc = _fetchSender;
5930
5879
  }
5931
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
5880
+ else if (isBeaconsSupported() && transportType === 3 ) {
5932
5881
  sendPostFunc = _beaconSender;
5933
5882
  }
5934
5883
  lp++;
@@ -5944,16 +5893,21 @@
5944
5893
  if (status === 200 && payload) {
5945
5894
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
5946
5895
  }
5947
- response && _self[_DYN__ON_ERROR ](payload, response);
5896
+ else {
5897
+ response && _self[_DYN__ON_ERROR ](payload, response);
5898
+ }
5948
5899
  }
5949
- function _doSend(sendInterface, payload, isAsync) {
5900
+ function _doSend(sendInterface, payload, isAsync, markAsSent) {
5901
+ if (markAsSent === void 0) { markAsSent = true; }
5950
5902
  var onComplete = function (status, headers, response) {
5951
5903
  return _getOnComplete(payload, status, headers, response);
5952
5904
  };
5953
5905
  var payloadData = _getPayload(payload);
5954
5906
  var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
5955
5907
  if (sendPostFunc && payloadData) {
5956
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
5908
+ if (markAsSent) {
5909
+ _self._buffer[_DYN_MARK_AS_SENT ](payload);
5910
+ }
5957
5911
  return sendPostFunc(payloadData, onComplete, !isAsync);
5958
5912
  }
5959
5913
  return null;
@@ -5980,7 +5934,7 @@
5980
5934
  function _checkMaxSize(incomingPayload) {
5981
5935
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
5982
5936
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
5983
- if (!_offlineListener || _offlineListener.isOnline()) {
5937
+ if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE ]()) {
5984
5938
  _self[_DYN_TRIGGER_SEND ](true, null, 10 );
5985
5939
  }
5986
5940
  return true;
@@ -6011,7 +5965,7 @@
6011
5965
  _self[_DYN__ON_ERROR ](payload, errorMessage);
6012
5966
  }
6013
5967
  }
6014
- else if (_offlineListener && !_offlineListener.isOnline()) {
5968
+ else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE ]()) {
6015
5969
  if (!_isRetryDisabled) {
6016
5970
  var offlineBackOffMultiplier = 10;
6017
5971
  _resendPayload(payload, offlineBackOffMultiplier);
@@ -6058,45 +6012,46 @@
6058
6012
  }
6059
6013
  }
6060
6014
  function _doUnloadSend(payload, isAsync) {
6061
- var onComplete = function (status, headers, response) {
6062
- return _getOnComplete(payload, status, headers, response);
6063
- };
6064
6015
  if (_syncUnloadSender) {
6065
6016
  _syncUnloadSender(payload, false);
6066
6017
  }
6067
6018
  else {
6068
6019
  var payloadData = _getPayload(payload);
6069
- _beaconSender(payloadData, onComplete);
6020
+ _beaconSender(payloadData);
6070
6021
  }
6071
6022
  }
6072
6023
  function _doBeaconSend(payload, oncomplete) {
6073
6024
  var nav = getNavigator();
6074
6025
  var url = _endpointUrl;
6075
- var plainTextBatch = new Blob([payload], { type: "text/plain;charset=UTF-8" });
6026
+ var buffer = _self[_DYN__BUFFER ];
6027
+ var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
6028
+ var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
6076
6029
  var queued = nav.sendBeacon(url, plainTextBatch);
6077
6030
  if (queued) {
6078
- oncomplete(200, {}, payload);
6031
+ _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6079
6032
  }
6080
6033
  return queued;
6081
6034
  }
6082
6035
  function _beaconSender(payload, oncomplete, sync) {
6083
6036
  var internalPayload = payload;
6084
- var data = internalPayload && internalPayload[_DYN_DATA ];
6085
- if (isString(data) && data[_DYN_LENGTH ] > 0) {
6086
- if (!_doBeaconSend(data, oncomplete)) {
6087
- var droppedPayload = [];
6088
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6089
- if (oriPayload[_DYN_LENGTH ] > 0) {
6037
+ var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
6038
+ if (isArray(data) && data[_DYN_LENGTH ] > 0) {
6039
+ if (!_doBeaconSend(data)) {
6040
+ if (!_disableBeaconSplit) {
6041
+ var droppedPayload = [];
6090
6042
  for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6091
- var thePayload = payload[lp];
6092
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](thePayload);
6093
- if (!_doBeaconSend(batch, oncomplete)) {
6043
+ var thePayload = data[lp];
6044
+ if (!_doBeaconSend([thePayload])) {
6094
6045
  droppedPayload[_DYN_PUSH ](thePayload);
6095
6046
  }
6096
6047
  }
6048
+ if (droppedPayload[_DYN_LENGTH ] > 0) {
6049
+ _fallbackSend && _fallbackSend(droppedPayload, true);
6050
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6051
+ }
6097
6052
  }
6098
- if (droppedPayload[_DYN_LENGTH ] > 0) {
6099
- _xhrSend && _xhrSend(droppedPayload, true);
6053
+ else {
6054
+ _fallbackSend && _fallbackSend(data, true);
6100
6055
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6101
6056
  }
6102
6057
  }
@@ -6156,10 +6111,10 @@
6156
6111
  _doFetchSender(payloadData, onComplete, true);
6157
6112
  }
6158
6113
  else if (isBeaconsSupported()) {
6159
- _beaconSender(payloadData, onComplete);
6114
+ _beaconSender(payloadData);
6160
6115
  }
6161
6116
  else {
6162
- _xhrSend && _xhrSend(payload, true);
6117
+ _fallbackSend && _fallbackSend(payload, true);
6163
6118
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
6164
6119
  }
6165
6120
  }
@@ -6414,7 +6369,9 @@
6414
6369
  _namePrefix = UNDEFINED_VALUE;
6415
6370
  _disableXhr = false;
6416
6371
  _fetchKeepAlive = false;
6372
+ _disableBeaconSplit = false;
6417
6373
  _xhrSend = null;
6374
+ _fallbackSend = null;
6418
6375
  objDefine(_self, "_senderConfig", {
6419
6376
  g: function () {
6420
6377
  return objExtend({}, defaultAppInsightsChannelConfig);