@microsoft/applicationinsights-web-basic 3.3.0-nightly3.2406-07 → 3.3.0-nightly3.2406-08

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 (47) hide show
  1. package/browser/es5/{aib.3.3.0-nightly3.2406-07.js → aib.3.3.0-nightly3.2406-08.cjs.js} +250 -62
  2. package/browser/es5/aib.3.3.0-nightly3.2406-08.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.3.0-nightly3.2406-08.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.3.0-nightly3.2406-08.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.3.0-nightly3.2406-07.gbl.js → aib.3.3.0-nightly3.2406-08.gbl.js} +252 -37
  6. package/browser/es5/aib.3.3.0-nightly3.2406-08.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.3.0-nightly3.2406-08.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.3.0-nightly3.2406-08.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.3.0-nightly3.2406-08.integrity.json +66 -0
  10. package/browser/es5/{aib.3.3.0-nightly3.2406-07.cjs.js → aib.3.3.0-nightly3.2406-08.js} +277 -35
  11. package/browser/es5/aib.3.3.0-nightly3.2406-08.js.map +1 -0
  12. package/browser/es5/aib.3.3.0-nightly3.2406-08.min.js +6 -0
  13. package/browser/es5/aib.3.3.0-nightly3.2406-08.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +249 -34
  15. package/browser/es5/aib.3.cjs.js.map +1 -1
  16. package/browser/es5/aib.3.cjs.min.js +2 -2
  17. package/browser/es5/aib.3.cjs.min.js.map +1 -1
  18. package/browser/es5/aib.3.gbl.js +251 -36
  19. package/browser/es5/aib.3.gbl.js.map +1 -1
  20. package/browser/es5/aib.3.gbl.min.js +2 -2
  21. package/browser/es5/aib.3.gbl.min.js.map +1 -1
  22. package/browser/es5/aib.3.integrity.json +25 -25
  23. package/browser/es5/aib.3.js +251 -36
  24. package/browser/es5/aib.3.js.map +1 -1
  25. package/browser/es5/aib.3.min.js +2 -2
  26. package/browser/es5/aib.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-web-basic.js +249 -34
  28. package/dist/es5/applicationinsights-web-basic.js.map +1 -1
  29. package/dist/es5/applicationinsights-web-basic.min.js +2 -2
  30. package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
  31. package/dist-es5/__DynamicConstants.js +6 -4
  32. package/dist-es5/__DynamicConstants.js.map +1 -1
  33. package/dist-es5/index.js +40 -9
  34. package/dist-es5/index.js.map +1 -1
  35. package/package.json +4 -4
  36. package/types/applicationinsights-web-basic.d.ts +1 -1
  37. package/types/applicationinsights-web-basic.namespaced.d.ts +67 -5
  38. package/browser/es5/aib.3.3.0-nightly3.2406-07.cjs.js.map +0 -1
  39. package/browser/es5/aib.3.3.0-nightly3.2406-07.cjs.min.js +0 -6
  40. package/browser/es5/aib.3.3.0-nightly3.2406-07.cjs.min.js.map +0 -1
  41. package/browser/es5/aib.3.3.0-nightly3.2406-07.gbl.js.map +0 -1
  42. package/browser/es5/aib.3.3.0-nightly3.2406-07.gbl.min.js +0 -6
  43. package/browser/es5/aib.3.3.0-nightly3.2406-07.gbl.min.js.map +0 -1
  44. package/browser/es5/aib.3.3.0-nightly3.2406-07.integrity.json +0 -66
  45. package/browser/es5/aib.3.3.0-nightly3.2406-07.js.map +0 -1
  46. package/browser/es5/aib.3.3.0-nightly3.2406-07.min.js +0 -6
  47. package/browser/es5/aib.3.3.0-nightly3.2406-07.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.3.0-nightly3.2406-07
2
+ * Application Insights JavaScript Web SDK - Basic, 3.3.0-nightly3.2406-08
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -1240,6 +1240,13 @@
1240
1240
  var createEnumStyle = createEnum;
1241
1241
  var createValueMap = createTypeMap;
1242
1242
 
1243
+ var ActiveStatus = createEnumStyle({
1244
+ NONE: 0 ,
1245
+ PENDING: 3 ,
1246
+ INACTIVE: 1 ,
1247
+ ACTIVE: 2
1248
+ });
1249
+
1243
1250
  var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
1244
1251
  var _DYN_BLK_VAL = "blkVal";
1245
1252
  var _DYN_LENGTH$2 = "length";
@@ -1260,13 +1267,17 @@
1260
1267
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1261
1268
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1262
1269
  var _DYN_IS_INITIALIZED = "isInitialized";
1270
+ var _DYN_INSTRUMENTATION_KEY$2 = "instrumentationKey";
1271
+ var _DYN__INACTIVE = "INACTIVE";
1272
+ var _DYN_VALUE = "value";
1263
1273
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1264
1274
  var _DYN_GET_PLUGIN = "getPlugin";
1265
- var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1266
1275
  var _DYN_NAME$2 = "name";
1276
+ var _DYN_I_KEY = "iKey";
1267
1277
  var _DYN_TIME = "time";
1268
1278
  var _DYN_PROCESS_NEXT = "processNext";
1269
1279
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1280
+ var _DYN_POLL_INTERNAL_LOGS = "pollInternalLogs";
1270
1281
  var _DYN_ENABLED = "enabled";
1271
1282
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1272
1283
  var _DYN_UNLOAD = "unload";
@@ -1616,6 +1627,54 @@
1616
1627
  }, additionalArgs);
1617
1628
  };
1618
1629
  }
1630
+ /*#__NO_SIDE_EFFECTS__*/
1631
+ function _createAllSettledPromise(newPromise) {
1632
+ return createCachedValue(function (input) {
1633
+ var additionalArgs = arrSlice(arguments, 1);
1634
+ return newPromise(function (resolve, reject) {
1635
+ var values = [];
1636
+ var pending = 1;
1637
+ function processItem(item, idx) {
1638
+ pending++;
1639
+ doAwaitResponse(item, function (value) {
1640
+ if (value.rejected) {
1641
+ values[idx] = {
1642
+ status: REJECTED,
1643
+ reason: value.reason
1644
+ };
1645
+ }
1646
+ else {
1647
+ values[idx] = {
1648
+ status: "fulfilled",
1649
+ value: value.value
1650
+ };
1651
+ }
1652
+ if (--pending === 0) {
1653
+ resolve(values);
1654
+ }
1655
+ });
1656
+ }
1657
+ try {
1658
+ if (isArray(input)) {
1659
+ arrForEach(input, processItem);
1660
+ }
1661
+ else if (isIterable(input)) {
1662
+ iterForOf(input, processItem);
1663
+ }
1664
+ else {
1665
+ throwTypeError("Input is not an iterable");
1666
+ }
1667
+ pending--;
1668
+ if (pending === 0) {
1669
+ resolve(values);
1670
+ }
1671
+ }
1672
+ catch (e) {
1673
+ reject(e);
1674
+ }
1675
+ }, additionalArgs);
1676
+ });
1677
+ }
1619
1678
  function syncItemProcessor(pending) {
1620
1679
  arrForEach(pending, function (fn) {
1621
1680
  try {
@@ -1667,11 +1726,16 @@
1667
1726
  return thePromise;
1668
1727
  }
1669
1728
  var _promiseCreator;
1729
+ var _allSettledCreator;
1670
1730
  function createPromise(executor, timeout) {
1671
1731
  !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));
1672
1732
  return _promiseCreator.v.call(this, executor, timeout);
1673
1733
  }
1674
1734
  var createAllPromise = /*#__PURE__*/ _createAllPromise(createPromise);
1735
+ function createAllSettledPromise(input, timeout) {
1736
+ !_allSettledCreator && (_allSettledCreator = _createAllSettledPromise(createPromise));
1737
+ return _allSettledCreator.v(input, timeout);
1738
+ }
1675
1739
 
1676
1740
  var UNDEFINED_VALUE$1 = undefined;
1677
1741
  var STR_EMPTY$1 = "";
@@ -2169,7 +2233,7 @@
2169
2233
  return result;
2170
2234
  }
2171
2235
 
2172
- var version = '3.3.0-nightly3.2406-07';
2236
+ var version = '3.3.0-nightly3.2406-08';
2173
2237
  var instanceName = "." + newId(6);
2174
2238
  var _dataUid = 0;
2175
2239
  function _canAcceptData(target) {
@@ -4409,6 +4473,8 @@
4409
4473
  var strNotificationManager = "_notificationManager";
4410
4474
  var strSdkUnloadingError = "SDK is still unloading...";
4411
4475
  var strSdkNotInitialized = "SDK is not initialized";
4476
+ var maxInitQueueSize = 100;
4477
+ var maxInitTimeout = 50000;
4412
4478
  var defaultConfig = objDeepFreeze((_a$1 = {
4413
4479
  cookieCfg: {}
4414
4480
  },
@@ -4565,15 +4631,23 @@
4565
4631
  var _extensions;
4566
4632
  var _pluginVersionStringArr;
4567
4633
  var _pluginVersionString;
4634
+ var _activeStatus;
4635
+ var _endpoint;
4636
+ var _initInMemoMaxSize;
4637
+ var _isStatusSet;
4568
4638
  var _internalLogPoller;
4569
4639
  var _internalLogPollerListening;
4570
4640
  var _forceStopInternalLogPoller;
4571
4641
  dynamicProto(AppInsightsCore, this, function (_self) {
4572
4642
  _initDefaults();
4573
4643
  _self["_getDbgPlgTargets"] = function () {
4574
- return [_extensions];
4644
+ return [_extensions, _eventQueue];
4575
4645
  };
4576
4646
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
4647
+ _self.activeStatus = function () { return _activeStatus; };
4648
+ _self._setPendingStatus = function () {
4649
+ _activeStatus = 3 ;
4650
+ };
4577
4651
  _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
4578
4652
  if (_isUnloading) {
4579
4653
  throwError(strSdkUnloadingError);
@@ -4584,14 +4658,88 @@
4584
4658
  _configHandler = createDynamicConfig(config, defaultConfig, logger || _self[_DYN_LOGGER ], false);
4585
4659
  config = _configHandler.cfg;
4586
4660
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4587
- _instrumentationKey = details.cfg.instrumentationKey;
4661
+ var rootCfg = details.cfg;
4662
+ var isPending = _activeStatus === 3 ;
4663
+ if (isPending) {
4664
+ return;
4665
+ }
4666
+ _initInMemoMaxSize = rootCfg.initInMemoMaxSize || maxInitQueueSize;
4667
+ var ikey = rootCfg[_DYN_INSTRUMENTATION_KEY$2 ];
4668
+ var endpointUrl = rootCfg.endpointUrl;
4669
+ if (isNullOrUndefined(ikey)) {
4670
+ _instrumentationKey = null;
4671
+ _activeStatus = ActiveStatus[_DYN__INACTIVE ];
4672
+ var msg = "Please provide instrumentation key";
4673
+ if (!_isInitialized) {
4674
+ throwError(msg);
4675
+ }
4676
+ else {
4677
+ _throwInternal(_logger, 1 , 100 , msg);
4678
+ _releaseQueues();
4679
+ }
4680
+ return;
4681
+ }
4682
+ var promises = [];
4683
+ if (isPromiseLike(ikey)) {
4684
+ promises[_DYN_PUSH$2 ](ikey);
4685
+ _instrumentationKey = null;
4686
+ }
4687
+ else {
4688
+ _instrumentationKey = ikey;
4689
+ }
4690
+ if (isPromiseLike(endpointUrl)) {
4691
+ promises[_DYN_PUSH$2 ](endpointUrl);
4692
+ _endpoint = null;
4693
+ }
4694
+ else {
4695
+ _endpoint = endpointUrl;
4696
+ }
4697
+ if (promises[_DYN_LENGTH$2 ]) {
4698
+ _isStatusSet = false;
4699
+ _activeStatus = 3 ;
4700
+ var initTimeout = isNotNullOrUndefined(rootCfg.initTimeOut) ? rootCfg.initTimeOut : maxInitTimeout;
4701
+ var allPromises = createAllSettledPromise(promises);
4702
+ scheduleTimeout(function () {
4703
+ if (!_isStatusSet) {
4704
+ _setStatus();
4705
+ }
4706
+ }, initTimeout);
4707
+ doAwaitResponse(allPromises, function (response) {
4708
+ try {
4709
+ if (_isStatusSet) {
4710
+ return;
4711
+ }
4712
+ if (!response.rejected) {
4713
+ var values = response[_DYN_VALUE ];
4714
+ if (values && values[_DYN_LENGTH$2 ]) {
4715
+ var ikeyRes = values[0];
4716
+ _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
4717
+ if (values[_DYN_LENGTH$2 ] > 1) {
4718
+ var endpointRes = values[1];
4719
+ _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
4720
+ }
4721
+ }
4722
+ if (_instrumentationKey) {
4723
+ config[_DYN_INSTRUMENTATION_KEY$2 ] = _instrumentationKey;
4724
+ config.endpointUrl = _endpoint;
4725
+ }
4726
+ }
4727
+ _setStatus();
4728
+ }
4729
+ catch (e) {
4730
+ if (!_isStatusSet) {
4731
+ _setStatus();
4732
+ }
4733
+ }
4734
+ });
4735
+ }
4736
+ else {
4737
+ _setStatus();
4738
+ }
4588
4739
  var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);
4589
4740
  objForEachKey(extCfg, function (key) {
4590
4741
  details.ref(extCfg, key);
4591
4742
  });
4592
- if (isNullOrUndefined(_instrumentationKey)) {
4593
- throwError("Please provide instrumentation key");
4594
- }
4595
4743
  }));
4596
4744
  _notificationManager = notificationManager;
4597
4745
  _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR ](), _debugListener);
@@ -4614,8 +4762,9 @@
4614
4762
  _registerDelayedCfgListener(config, _cfgListeners, _logger);
4615
4763
  _cfgListeners = null;
4616
4764
  _isInitialized = true;
4617
- _self.releaseQueue();
4618
- _self[_DYN_POLL_INTERNAL_LOGS ]();
4765
+ if (_activeStatus === ActiveStatus.ACTIVE) {
4766
+ _releaseQueues();
4767
+ }
4619
4768
  };
4620
4769
  _self.getChannels = function () {
4621
4770
  var controls = [];
@@ -4636,14 +4785,16 @@
4636
4785
  _notifyInvalidEvent(telemetryItem);
4637
4786
  throwError("telemetry name required");
4638
4787
  }
4639
- telemetryItem.iKey = telemetryItem.iKey || _instrumentationKey;
4788
+ telemetryItem[_DYN_I_KEY ] = telemetryItem[_DYN_I_KEY ] || _instrumentationKey;
4640
4789
  telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
4641
4790
  telemetryItem.ver = telemetryItem.ver || "4.0";
4642
- if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
4791
+ if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]() && _activeStatus === ActiveStatus.ACTIVE) {
4643
4792
  _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
4644
4793
  }
4645
- else {
4646
- _eventQueue[_DYN_PUSH$2 ](telemetryItem);
4794
+ else if (_activeStatus !== ActiveStatus[_DYN__INACTIVE ]) {
4795
+ if (_eventQueue[_DYN_LENGTH$2 ] <= _initInMemoMaxSize) {
4796
+ _eventQueue[_DYN_PUSH$2 ](telemetryItem);
4797
+ }
4647
4798
  }
4648
4799
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
4649
4800
  };
@@ -4688,9 +4839,15 @@
4688
4839
  if (_isInitialized && _eventQueue[_DYN_LENGTH$2 ] > 0) {
4689
4840
  var eventQueue = _eventQueue;
4690
4841
  _eventQueue = [];
4691
- arrForEach(eventQueue, function (event) {
4692
- _createTelCtx()[_DYN_PROCESS_NEXT ](event);
4693
- });
4842
+ if (_activeStatus === 2 ) {
4843
+ arrForEach(eventQueue, function (event) {
4844
+ event[_DYN_I_KEY ] = event[_DYN_I_KEY ] || _instrumentationKey;
4845
+ _createTelCtx()[_DYN_PROCESS_NEXT ](event);
4846
+ });
4847
+ }
4848
+ else {
4849
+ _throwInternal(_logger, 2 , 20 , "core init status is not active");
4850
+ }
4694
4851
  }
4695
4852
  };
4696
4853
  _self[_DYN_POLL_INTERNAL_LOGS ] = function (eventName) {
@@ -4699,6 +4856,23 @@
4699
4856
  _internalLogPoller && _internalLogPoller[_DYN_CANCEL ]();
4700
4857
  return _startLogPoller(true);
4701
4858
  };
4859
+ function _setStatus() {
4860
+ _isStatusSet = true;
4861
+ if (isNullOrUndefined(_instrumentationKey)) {
4862
+ _activeStatus = ActiveStatus[_DYN__INACTIVE ];
4863
+ _throwInternal(_logger, 1 , 112 , "ikey can't be resolved from promises");
4864
+ }
4865
+ else {
4866
+ _activeStatus = ActiveStatus.ACTIVE;
4867
+ }
4868
+ _releaseQueues();
4869
+ }
4870
+ function _releaseQueues() {
4871
+ if (_isInitialized) {
4872
+ _self.releaseQueue();
4873
+ _self[_DYN_POLL_INTERNAL_LOGS ]();
4874
+ }
4875
+ }
4702
4876
  function _startLogPoller(alwaysStart) {
4703
4877
  if ((!_internalLogPoller || !_internalLogPoller[_DYN_ENABLED ]) && !_forceStopInternalLogPoller) {
4704
4878
  var shouldStart = alwaysStart || (_logger && _logger.queue[_DYN_LENGTH$2 ] > 0);
@@ -4972,6 +5146,10 @@
4972
5146
  _forceStopInternalLogPoller = false;
4973
5147
  _internalLogPoller = null;
4974
5148
  _internalLogPollerListening = false;
5149
+ _activeStatus = 0 ;
5150
+ _endpoint = null;
5151
+ _initInMemoMaxSize = null;
5152
+ _isStatusSet = false;
4975
5153
  }
4976
5154
  function _createTelCtx() {
4977
5155
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -5114,7 +5292,7 @@
5114
5292
  var _a;
5115
5293
  var item = (_a = {},
5116
5294
  _a[_DYN_NAME$2 ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ],
5117
- _a.iKey = _instrumentationKey,
5295
+ _a[_DYN_I_KEY ] = _instrumentationKey,
5118
5296
  _a[_DYN_TIME ] = toISOString(new Date()),
5119
5297
  _a.baseType = _InternalLogMessage.dataType,
5120
5298
  _a.baseData = { message: logMessage[_DYN_MESSAGE$1 ] },
@@ -5550,7 +5728,7 @@
5550
5728
  if (!responseHandled) {
5551
5729
  responseHandled = true;
5552
5730
  if (!result.rejected) {
5553
- var response_1 = result.value;
5731
+ var response_1 = result[_DYN_VALUE ];
5554
5732
  try {
5555
5733
  if (!_isOneDs && !response_1.ok) {
5556
5734
  _handleError(response_1.statusText);
@@ -5563,7 +5741,7 @@
5563
5741
  }
5564
5742
  else {
5565
5743
  doAwaitResponse(response_1.text(), function (resp) {
5566
- _onFetchComplete(response_1, payload, resp.value);
5744
+ _onFetchComplete(response_1, payload, resp[_DYN_VALUE ]);
5567
5745
  resolveFunc && resolveFunc(true);
5568
5746
  });
5569
5747
  }
@@ -5869,7 +6047,7 @@
5869
6047
  var _DYN_SPLIT = "split";
5870
6048
  var _DYN_LENGTH$1 = "length";
5871
6049
  var _DYN_TO_LOWER_CASE = "toLowerCase";
5872
- var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
6050
+ var _DYN_INGESTIONENDPOINT$1 = "ingestionendpoint";
5873
6051
  var _DYN_TO_STRING$1 = "toString";
5874
6052
  var _DYN_PUSH$1 = "push";
5875
6053
  var _DYN_REMOVE_ITEM = "removeItem";
@@ -6202,11 +6380,11 @@
6202
6380
  if (objKeys(result)[_DYN_LENGTH$1 ] > 0) {
6203
6381
  if (result.endpointsuffix) {
6204
6382
  var locationPrefix = result.location ? result.location + "." : "";
6205
- result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
6383
+ result[_DYN_INGESTIONENDPOINT$1 ] = result[_DYN_INGESTIONENDPOINT$1 ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
6206
6384
  }
6207
- result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
6208
- if (strEndsWith(result[_DYN_INGESTIONENDPOINT ], "/")) {
6209
- result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ].slice(0, -1);
6385
+ result[_DYN_INGESTIONENDPOINT$1 ] = result[_DYN_INGESTIONENDPOINT$1 ] || DEFAULT_BREEZE_ENDPOINT;
6386
+ if (strEndsWith(result[_DYN_INGESTIONENDPOINT$1 ], "/")) {
6387
+ result[_DYN_INGESTIONENDPOINT$1 ] = result[_DYN_INGESTIONENDPOINT$1 ].slice(0, -1);
6210
6388
  }
6211
6389
  }
6212
6390
  return result;
@@ -7313,7 +7491,7 @@
7313
7491
  }
7314
7492
  }
7315
7493
  var EnvelopeCreator = {
7316
- Version: '3.3.0-nightly3.2406-07'
7494
+ Version: '3.3.0-nightly3.2406-08'
7317
7495
  };
7318
7496
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
7319
7497
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -8115,6 +8293,12 @@
8115
8293
  return senderConfig;
8116
8294
  }
8117
8295
  });
8296
+ if (core.activeStatus() === ActiveStatus.PENDING) {
8297
+ _self.pause();
8298
+ }
8299
+ else if (core.activeStatus() === ActiveStatus.ACTIVE) {
8300
+ _self.resume();
8301
+ }
8118
8302
  if (_orgEndpointUrl !== senderConfig.endpointUrl) {
8119
8303
  _endpointUrl = _orgEndpointUrl = senderConfig.endpointUrl;
8120
8304
  }
@@ -8163,7 +8347,7 @@
8163
8347
  _throwInternal(diagLog, 1 , 100 , "Invalid Instrumentation key " + _instrumentationKey);
8164
8348
  }
8165
8349
  _customHeaders = senderConfig[_DYN_CUSTOM_HEADERS ];
8166
- if (!isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH ] > 0) {
8350
+ if (isString(_endpointUrl) && !isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH ] > 0) {
8167
8351
  arrForEach(_customHeaders, function (customHeader) {
8168
8352
  _this.addHeader(customHeader.header, customHeader.value);
8169
8353
  });
@@ -8878,8 +9062,10 @@
8878
9062
 
8879
9063
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
8880
9064
  var _DYN_CONNECTION_STRING = "connectionString";
9065
+ var _DYN_INSTRUMENTATIONKEY0 = "instrumentationkey";
8881
9066
  var _DYN_ENDPOINT_URL = "endpointUrl";
8882
- var _DYN_USER_OVERRIDE_ENDPOI0 = "userOverrideEndpointUrl";
9067
+ var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
9068
+ var _DYN_USER_OVERRIDE_ENDPOI1 = "userOverrideEndpointUrl";
8883
9069
 
8884
9070
  var defaultConfigValues = {
8885
9071
  diagnosticLogInterval: cfgDfValidate(_chkDiagLevel, 10000)
@@ -8917,13 +9103,42 @@
8917
9103
  var cfgHandler = createDynamicConfig(config || {}, defaultConfigValues);
8918
9104
  _config = cfgHandler.cfg;
8919
9105
  core.addUnloadHook(onConfigChange(cfgHandler, function () {
8920
- if (_config[_DYN_CONNECTION_STRING ]) {
8921
- var cs = parseConnectionString(_config[_DYN_CONNECTION_STRING ]);
8922
- var ingest = cs.ingestionendpoint;
8923
- _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : (ingest + DEFAULT_BREEZE_PATH);
8924
- _config[_DYN_INSTRUMENTATION_KEY ] = cs.instrumentationkey || _config[_DYN_INSTRUMENTATION_KEY ];
9106
+ var configCs = _config[_DYN_CONNECTION_STRING ];
9107
+ if (isPromiseLike(configCs)) {
9108
+ var ikeyPromise = createAsyncPromise(function (resolve, reject) {
9109
+ doAwaitResponse(configCs, function (res) {
9110
+ var curCs = res.value;
9111
+ var ikey = _config[_DYN_INSTRUMENTATION_KEY ];
9112
+ if (!res.rejected && curCs) {
9113
+ _config[_DYN_CONNECTION_STRING ] = curCs;
9114
+ var resolvedCs = parseConnectionString(curCs);
9115
+ ikey = resolvedCs[_DYN_INSTRUMENTATIONKEY0 ] || ikey;
9116
+ }
9117
+ resolve(ikey);
9118
+ });
9119
+ });
9120
+ var urlPromise = createAsyncPromise(function (resolve, reject) {
9121
+ doAwaitResponse(configCs, function (res) {
9122
+ var curCs = res.value;
9123
+ var url = _config[_DYN_ENDPOINT_URL ];
9124
+ if (!res.rejected && curCs) {
9125
+ var resolvedCs = parseConnectionString(curCs);
9126
+ var ingest = resolvedCs[_DYN_INGESTIONENDPOINT ];
9127
+ url = ingest ? ingest + DEFAULT_BREEZE_PATH : url;
9128
+ }
9129
+ resolve(url);
9130
+ });
9131
+ });
9132
+ _config[_DYN_INSTRUMENTATION_KEY ] = ikeyPromise;
9133
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI1 ] || urlPromise;
9134
+ }
9135
+ if (isString(configCs)) {
9136
+ var cs = parseConnectionString(configCs);
9137
+ var ingest = cs[_DYN_INGESTIONENDPOINT ];
9138
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI1 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI1 ] : (ingest + DEFAULT_BREEZE_PATH);
9139
+ _config[_DYN_INSTRUMENTATION_KEY ] = cs[_DYN_INSTRUMENTATIONKEY0 ] || _config[_DYN_INSTRUMENTATION_KEY ];
8925
9140
  }
8926
- _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : _config[_DYN_ENDPOINT_URL ];
9141
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI1 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI1 ] : _config[_DYN_ENDPOINT_URL ];
8927
9142
  }));
8928
9143
  core.initialize(_config, [new Sender()]);
8929
9144
  }