@microsoft/applicationinsights-osplugin-js 3.4.0-nightlybeta3.2602-17 → 3.4.1

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 (49) hide show
  1. package/browser/es5/{ai.osplugin.3.4.0-nightlybeta3.2602-17.cjs.js → ai.osplugin.3.4.1.cjs.js} +139 -90
  2. package/browser/es5/ai.osplugin.3.4.1.cjs.js.map +1 -0
  3. package/browser/es5/ai.osplugin.3.4.1.cjs.min.js +6 -0
  4. package/browser/es5/ai.osplugin.3.4.1.cjs.min.js.map +1 -0
  5. package/browser/es5/{ai.osplugin.3.4.0-nightlybeta3.2602-17.gbl.js → ai.osplugin.3.4.1.gbl.js} +141 -92
  6. package/browser/es5/ai.osplugin.3.4.1.gbl.js.map +1 -0
  7. package/browser/es5/ai.osplugin.3.4.1.gbl.min.js +6 -0
  8. package/browser/es5/ai.osplugin.3.4.1.gbl.min.js.map +1 -0
  9. package/browser/es5/ai.osplugin.3.4.1.integrity.json +66 -0
  10. package/browser/es5/{ai.osplugin.3.4.0-nightlybeta3.2602-17.js → ai.osplugin.3.4.1.js} +141 -92
  11. package/browser/es5/ai.osplugin.3.4.1.js.map +1 -0
  12. package/browser/es5/ai.osplugin.3.4.1.min.js +6 -0
  13. package/browser/es5/ai.osplugin.3.4.1.min.js.map +1 -0
  14. package/browser/es5/ai.osplugin.3.cjs.js +138 -89
  15. package/browser/es5/ai.osplugin.3.cjs.js.map +1 -1
  16. package/browser/es5/ai.osplugin.3.cjs.min.js +2 -2
  17. package/browser/es5/ai.osplugin.3.cjs.min.js.map +1 -1
  18. package/browser/es5/ai.osplugin.3.gbl.js +140 -91
  19. package/browser/es5/ai.osplugin.3.gbl.js.map +1 -1
  20. package/browser/es5/ai.osplugin.3.gbl.min.js +2 -2
  21. package/browser/es5/ai.osplugin.3.gbl.min.js.map +1 -1
  22. package/browser/es5/ai.osplugin.3.integrity.json +25 -25
  23. package/browser/es5/ai.osplugin.3.js +140 -91
  24. package/browser/es5/ai.osplugin.3.js.map +1 -1
  25. package/browser/es5/ai.osplugin.3.min.js +2 -2
  26. package/browser/es5/ai.osplugin.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-osplugin-js.js +138 -89
  28. package/dist/es5/applicationinsights-osplugin-js.js.map +1 -1
  29. package/dist/es5/applicationinsights-osplugin-js.min.js +2 -2
  30. package/dist/es5/applicationinsights-osplugin-js.min.js.map +1 -1
  31. package/dist-es5/DataModels.js +1 -1
  32. package/dist-es5/OsPlugin.js +135 -86
  33. package/dist-es5/OsPlugin.js.map +1 -1
  34. package/dist-es5/__DynamicConstants.js +3 -2
  35. package/dist-es5/__DynamicConstants.js.map +1 -1
  36. package/dist-es5/applicationinsights-osplugin-js.js +1 -1
  37. package/package.json +57 -60
  38. package/types/applicationinsights-osplugin-js.d.ts +1 -1
  39. package/types/applicationinsights-osplugin-js.namespaced.d.ts +39 -3
  40. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.cjs.js.map +0 -1
  41. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.cjs.min.js +0 -6
  42. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.cjs.min.js.map +0 -1
  43. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.gbl.js.map +0 -1
  44. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.gbl.min.js +0 -6
  45. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.gbl.min.js.map +0 -1
  46. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.integrity.json +0 -66
  47. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.js.map +0 -1
  48. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.min.js +0 -6
  49. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-17.min.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - OS Plugin, 3.4.0-nightlybeta3.2602-17
2
+ * Application Insights JavaScript SDK - OS Plugin, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_ai_osplugin_3_4_0_nightlybeta3_2602_17", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2602-17";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_ai_osplugin_3_4_1", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.4.1";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -32,7 +32,7 @@ var strShimUndefined = "undefined";
32
32
  var strShimPrototype = "prototype";
33
33
  var ObjClass$1 = Object;
34
34
 
35
- /*! https://github.com/nevware21/ts-utils v0.12.6 */
35
+ /*! https://github.com/nevware21/ts-utils v0.13.0 */
36
36
  /*#__NO_SIDE_EFFECTS__*/
37
37
  function _pureAssign(func1, func2) {
38
38
  return func1 || func2;
@@ -391,6 +391,9 @@ function polyUtcNow() {
391
391
  function fnApply(fn, thisArg, argArray) {
392
392
  return fn.apply(thisArg, argArray);
393
393
  }
394
+ function fnCall(fn, thisArg) {
395
+ return fn.apply(thisArg, ArrSlice[CALL](arguments, 2));
396
+ }
394
397
  var _globalLazyTestHooks;
395
398
  function _initTestHooks() {
396
399
  _globalLazyTestHooks = _getGlobalConfig();
@@ -650,7 +653,7 @@ function _setName(baseClass, name) {
650
653
  name && (baseClass[NAME] = name);
651
654
  }
652
655
  /*#__NO_SIDE_EFFECTS__*/
653
- function createCustomError(name, constructCb, errorBase) {
656
+ function createCustomError(name, constructCb, errorBase, superArgsFn) {
654
657
  var theBaseClass = errorBase || Error;
655
658
  var orgName = theBaseClass[PROTOTYPE][NAME];
656
659
  var captureFn = Error.captureStackTrace;
@@ -659,7 +662,7 @@ function createCustomError(name, constructCb, errorBase) {
659
662
  var theArgs = arguments;
660
663
  try {
661
664
  safe(_setName, [theBaseClass, name]);
662
- var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
665
+ var _self = fnApply(theBaseClass, _this, superArgsFn ? superArgsFn(theArgs) : ArrSlice[CALL](theArgs)) || _this;
663
666
  if (_self !== _this) {
664
667
  var orgProto = objGetPrototypeOf(_this);
665
668
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -1132,9 +1135,12 @@ var _DYN_IS_CHILD_EVT = "isChildEvt";
1132
1135
  var _DYN_GET_CTX = "getCtx";
1133
1136
  var _DYN_SET_CTX = "setCtx";
1134
1137
  var _DYN_CONFIG = "config";
1138
+ var _DYN_CALL = "call";
1135
1139
  var _DYN_REPLACE = "replace";
1136
1140
  var _DYN_TYPE = "type";
1141
+ var _DYN_USER_AGENT = "userAgent";
1137
1142
  var _DYN_TO_STRING = "toString";
1143
+ var _DYN_HANDLER = "handler";
1138
1144
  var _DYN_EVT_NAME = "evtName";
1139
1145
  var _DYN_CONCAT = "concat";
1140
1146
  var _DYN_REMOVE_ITEM = "removeItem";
@@ -1343,7 +1349,7 @@ function getUserAgentString() {
1343
1349
  if (!_userAgent) {
1344
1350
  _userAgent = getLazy(function () {
1345
1351
  var nav = getNavigator() || {};
1346
- return nav.userAgent || STR_EMPTY;
1352
+ return nav[_DYN_USER_AGENT ] || STR_EMPTY;
1347
1353
  });
1348
1354
  }
1349
1355
  return _userAgent.v;
@@ -1455,7 +1461,7 @@ function newId(maxLength) {
1455
1461
  return result;
1456
1462
  }
1457
1463
 
1458
- var version = '3.4.0-nightlybeta3.2602-17';
1464
+ var version = '3.4.1';
1459
1465
  var instanceName = "." + newId(6);
1460
1466
  var _dataUid = 0;
1461
1467
  function _canAcceptData(target) {
@@ -2193,7 +2199,7 @@ var _InternalLogMessage = /** @class */ (function () {
2193
2199
  }());
2194
2200
  /*#__NO_SIDE_EFFECTS__*/
2195
2201
  function safeGetLogger(core, config) {
2196
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2202
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config || (core || {})[_DYN_CONFIG ]);
2197
2203
  }
2198
2204
  var DiagnosticLogger = /** @class */ (function () {
2199
2205
  function DiagnosticLogger(config) {
@@ -2513,7 +2519,7 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2513
2519
  if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
2514
2520
  arrForEach(onComplete, function (completeDetails) {
2515
2521
  try {
2516
- completeDetails.func.call(completeDetails.self, completeDetails.args);
2522
+ completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
2517
2523
  }
2518
2524
  catch (e) {
2519
2525
  _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
@@ -2836,7 +2842,7 @@ function createUnloadHookContainer() {
2836
2842
  _hooks = [];
2837
2843
  arrForEach(oldHooks, function (fn) {
2838
2844
  try {
2839
- (fn.rm || fn.remove).call(fn);
2845
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
2840
2846
  }
2841
2847
  catch (e) {
2842
2848
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
@@ -3099,7 +3105,7 @@ function _doUnregister(target, events, evtName, unRegFn) {
3099
3105
  if (theEvent) {
3100
3106
  if (!evtName.ns || evtName.ns === theEvent[_DYN_EVT_NAME ].ns) {
3101
3107
  if (!unRegFn || unRegFn(theEvent)) {
3102
- _doDetach(target, theEvent[_DYN_EVT_NAME ], theEvent.handler, theEvent.capture);
3108
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
3103
3109
  events[_DYN_SPLICE ](idx, 1);
3104
3110
  }
3105
3111
  }
@@ -3166,7 +3172,7 @@ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3166
3172
  var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3167
3173
  var found_1 = false;
3168
3174
  _unregisterEvents(target, evtName_1, function (regEvent) {
3169
- if ((evtName_1.ns && !handlerRef) || regEvent.handler === handlerRef) {
3175
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
3170
3176
  found_1 = true;
3171
3177
  return true;
3172
3178
  }
@@ -3342,8 +3348,9 @@ var Extensions = {
3342
3348
  SDKExt: "sdk"
3343
3349
  };
3344
3350
 
3345
- var _DYN_PLATFORM_VERSION = "platformVersion";
3346
3351
  var _DYN_MERGE_OS_NAME_VERSIO0 = "mergeOsNameVersion";
3352
+ var _DYN_IS_STORAGE_USE_DISAB1 = "isStorageUseDisabled";
3353
+ var _DYN_PLATFORM_VERSION = "platformVersion";
3347
3354
 
3348
3355
  var defaultMaxTimeout = 200;
3349
3356
  var strExt = "ext";
@@ -3357,21 +3364,19 @@ var OsPlugin = /** @class */ (function (_super) {
3357
3364
  var _this = _super.call(this) || this;
3358
3365
  _this.identifier = "OsPlugin";
3359
3366
  _this.priority = 195;
3360
- _this.version = '3.4.0-nightlybeta3.2602-17';
3367
+ _this.version = '3.4.1';
3361
3368
  var _core;
3362
3369
  var _ocConfig;
3363
- var _getOSInProgress;
3364
3370
  var _getOSTimeout;
3365
- var _maxTimeout;
3366
- var _platformVersionResponse;
3367
- var _retrieveFullVersion;
3371
+ var _fetchedFullVersion;
3368
3372
  var _mergeOsNameVersion;
3369
3373
  var _eventQueue;
3370
3374
  var _evtNamespace;
3371
3375
  var _excludePageUnloadEvents;
3376
+ var _disableFlushOnUnload;
3377
+ var _addedUnloadEvents;
3372
3378
  var _os;
3373
3379
  var _osVer;
3374
- var _firstAttempt;
3375
3380
  dynamicProto(OsPlugin, _this, function (_self, _base) {
3376
3381
  _initDefaults();
3377
3382
  _self.initialize = function (coreConfig, core, extensions) {
@@ -3380,23 +3385,11 @@ var OsPlugin = /** @class */ (function (_super) {
3380
3385
  _super.prototype.initialize.call(_this, coreConfig, core, extensions);
3381
3386
  var identifier = _self.identifier;
3382
3387
  _evtNamespace = mergeEvtNamespace(createUniqueNamespace(identifier), core.evtNamespace && core.evtNamespace());
3383
- if (utlCanUseSessionStorage) {
3384
- try {
3385
- _platformVersionResponse = JSON.parse(utlGetSessionStorage(core.logger, "ai_osplugin"));
3386
- }
3387
- catch (error) {
3388
- }
3389
- }
3390
- if (_platformVersionResponse) {
3391
- _retrieveFullVersion = true;
3392
- _osVer = parseInt(_platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3393
- _os = _platformVersionResponse.platform;
3394
- }
3388
+ _fetchedFullVersion = _fetchCachedOSVersion(coreConfig);
3395
3389
  _self._addHook(onConfigChange(coreConfig, function (details) {
3396
3390
  var coreConfig = details.cfg;
3397
3391
  var ctx = createProcessTelemetryContext(null, coreConfig, core);
3398
3392
  _ocConfig = ctx.getExtCfg(identifier, defaultOSConfig);
3399
- _maxTimeout = _ocConfig.maxTimeout;
3400
3393
  if (_ocConfig[_DYN_MERGE_OS_NAME_VERSIO0 ] !== undefined) {
3401
3394
  _mergeOsNameVersion = _ocConfig[_DYN_MERGE_OS_NAME_VERSIO0 ];
3402
3395
  }
@@ -3407,87 +3400,141 @@ var OsPlugin = /** @class */ (function (_super) {
3407
3400
  _mergeOsNameVersion = false;
3408
3401
  }
3409
3402
  var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents || [];
3410
- if (_excludePageUnloadEvents && _excludePageUnloadEvents !== excludePageUnloadEvents) {
3411
- removePageUnloadEventListener(null, _evtNamespace);
3412
- removePageHideEventListener(null, _evtNamespace);
3403
+ var disableFlushOnUnload = coreConfig.disableFlushOnUnload || false;
3404
+ var removeEvents = _excludePageUnloadEvents && _excludePageUnloadEvents !== excludePageUnloadEvents;
3405
+ if (_disableFlushOnUnload !== disableFlushOnUnload) {
3406
+ removeEvents = true;
3407
+ }
3408
+ if (removeEvents && _addedUnloadEvents) {
3409
+ _removeUnloadHandlers();
3413
3410
  _excludePageUnloadEvents = null;
3414
3411
  }
3415
- if (!_excludePageUnloadEvents) {
3416
- addPageUnloadEventListener(_doUnload, excludePageUnloadEvents, _evtNamespace);
3417
- addPageHideEventListener(_doUnload, excludePageUnloadEvents, _evtNamespace);
3412
+ if (!_excludePageUnloadEvents && !disableFlushOnUnload) {
3413
+ _addUnloadHandlers(excludePageUnloadEvents);
3418
3414
  }
3419
3415
  _excludePageUnloadEvents = excludePageUnloadEvents;
3416
+ _disableFlushOnUnload = disableFlushOnUnload;
3420
3417
  }));
3421
- function _doUnload() {
3422
- _releaseEventQueue();
3418
+ if (!_fetchedFullVersion) {
3419
+ _startRetrieveOsVersion(_ocConfig.maxTimeout);
3423
3420
  }
3424
3421
  };
3425
3422
  _self.processTelemetry = function (event, itemCtx) {
3426
3423
  itemCtx = _self._getTelCtx(itemCtx);
3427
- if (!_retrieveFullVersion && !_getOSInProgress && _firstAttempt) {
3428
- _getOSInProgress = true;
3429
- startRetrieveOsVersion();
3430
- _firstAttempt = false;
3431
- }
3432
- if (_getOSInProgress) {
3424
+ if (_getOSTimeout) {
3433
3425
  _eventQueue.push({
3434
3426
  ctx: itemCtx,
3435
3427
  item: event
3436
3428
  });
3437
3429
  }
3438
3430
  else {
3439
- updateTeleItemWithOs(event);
3431
+ _updateTeleItemWithOs(event);
3440
3432
  _self.processNext(event, itemCtx);
3441
3433
  }
3442
3434
  };
3443
3435
  _self._doTeardown = function (unloadCtx, unloadState) {
3444
3436
  _completeOsRetrieve();
3445
- removePageUnloadEventListener(null, _evtNamespace);
3446
- removePageHideEventListener(null, _evtNamespace);
3437
+ _removeUnloadHandlers();
3447
3438
  _initDefaults();
3448
3439
  };
3449
- function startRetrieveOsVersion() {
3450
- var _a;
3451
- _getOSTimeout = scheduleTimeout(function () {
3452
- _completeOsRetrieve();
3453
- }, _maxTimeout);
3454
- if (navigator.userAgent) {
3455
- var getHighEntropyValues = (_a = navigator.userAgentData) === null || _a === void 0 ? void 0 : _a.getHighEntropyValues;
3456
- if (getHighEntropyValues) {
3457
- doAwaitResponse(navigator.userAgentData.getHighEntropyValues(["platformVersion"]), function (response) {
3458
- if (!response.rejected) {
3459
- _platformVersionResponse = response.value;
3460
- _retrieveFullVersion = true;
3461
- if (_platformVersionResponse[_DYN_PLATFORM_VERSION ] && _platformVersionResponse.platform) {
3462
- _os = _platformVersionResponse.platform;
3463
- _osVer = parseInt(_platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3464
- if (_os === "Windows") {
3465
- if (_osVer == 0) {
3466
- _osVer = 8;
3467
- }
3468
- else if (_osVer < 13) {
3469
- _osVer = 10;
3470
- }
3471
- else {
3472
- _osVer = 11;
3440
+ function _fetchCachedOSVersion(coreConfig) {
3441
+ var fetched = false;
3442
+ if (coreConfig[_DYN_IS_STORAGE_USE_DISAB1 ] !== true) {
3443
+ try {
3444
+ var platformVersionResponse = JSON.parse(utlGetSessionStorage(safeGetLogger(_core), "ai_osplugin"));
3445
+ if (platformVersionResponse) {
3446
+ _os = platformVersionResponse.platform;
3447
+ if (platformVersionResponse[_DYN_PLATFORM_VERSION ]) {
3448
+ var ver = parseInt(platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3449
+ if (!isNaN(ver)) {
3450
+ _osVer = ver;
3451
+ }
3452
+ }
3453
+ fetched = !!(_os && _osVer);
3454
+ }
3455
+ }
3456
+ catch (error) {
3457
+ }
3458
+ }
3459
+ return fetched;
3460
+ }
3461
+ function _storeCachedOSVersion(coreConfig) {
3462
+ if (coreConfig[_DYN_IS_STORAGE_USE_DISAB1 ] !== true) {
3463
+ try {
3464
+ utlSetSessionStorage(safeGetLogger(_core), "ai_osplugin", JSON.stringify({ platform: _os, platformVersion: _osVer }));
3465
+ }
3466
+ catch (error) {
3467
+ }
3468
+ }
3469
+ }
3470
+ function _addUnloadHandlers(excludePageUnloadEvents) {
3471
+ function _unloading() {
3472
+ _releaseEventQueue();
3473
+ _removeUnloadHandlers();
3474
+ }
3475
+ if (!_addedUnloadEvents && !_fetchedFullVersion) {
3476
+ addPageUnloadEventListener(_unloading, excludePageUnloadEvents, _evtNamespace);
3477
+ addPageHideEventListener(_unloading, excludePageUnloadEvents, _evtNamespace);
3478
+ _addedUnloadEvents = true;
3479
+ }
3480
+ }
3481
+ function _removeUnloadHandlers() {
3482
+ if (_addedUnloadEvents) {
3483
+ removePageUnloadEventListener(null, _evtNamespace);
3484
+ removePageHideEventListener(null, _evtNamespace);
3485
+ _addedUnloadEvents = false;
3486
+ }
3487
+ }
3488
+ function _startRetrieveOsVersion(maxTimeout) {
3489
+ if (_core && !_getOSTimeout) {
3490
+ var nav = getNavigator();
3491
+ var userAgentData = (nav || {}).userAgentData;
3492
+ if (userAgentData) {
3493
+ var getHighEntropyValues = userAgentData.getHighEntropyValues;
3494
+ if (getHighEntropyValues) {
3495
+ _getOSTimeout = scheduleTimeout(function () {
3496
+ _completeOsRetrieve();
3497
+ }, maxTimeout);
3498
+ doAwaitResponse(fnCall(getHighEntropyValues, userAgentData, ["platformVersion"]), function (response) {
3499
+ _fetchedFullVersion = true;
3500
+ try {
3501
+ if (!response.rejected) {
3502
+ var platformVersionResponse = response.value;
3503
+ if (platformVersionResponse[_DYN_PLATFORM_VERSION ] && platformVersionResponse.platform) {
3504
+ _os = platformVersionResponse.platform;
3505
+ _osVer = parseInt(platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3506
+ if (_os === "Windows" && !isNaN(_osVer)) {
3507
+ if (_osVer == 0) {
3508
+ _osVer = 8;
3509
+ }
3510
+ else if (_osVer < 13) {
3511
+ _osVer = 10;
3512
+ }
3513
+ else {
3514
+ _osVer = 11;
3515
+ }
3516
+ }
3517
+ _storeCachedOSVersion((_core || {}).config);
3473
3518
  }
3474
3519
  }
3475
- utlSetSessionStorage(_core.logger, "ai_osplugin", JSON.stringify({ platform: _os, platformVersion: _osVer }));
3520
+ else {
3521
+ _throwInternal(safeGetLogger(_core), 1 , 73 , "Could not retrieve operating system: " + response.reason);
3522
+ }
3476
3523
  }
3477
- }
3478
- else {
3479
- _throwInternal(_core.logger, 1 , 73 , "Could not retrieve operating system: " + response.reason);
3480
- }
3481
- _completeOsRetrieve();
3482
- });
3524
+ finally {
3525
+ _completeOsRetrieve();
3526
+ }
3527
+ });
3528
+ }
3483
3529
  }
3484
3530
  }
3485
3531
  }
3486
- function updateTeleItemWithOs(event) {
3487
- if (_retrieveFullVersion) {
3532
+ function _updateTeleItemWithOs(event) {
3533
+ if (_fetchedFullVersion && (_os || _osVer)) {
3488
3534
  var extOS = getSetValue(getSetValue(event, strExt), Extensions.OSExt);
3489
3535
  if (_mergeOsNameVersion) {
3490
- setValue(extOS, "osVer", _os + _osVer, isString);
3536
+ var mergedOS = (_os || "") + (_osVer ? asString(_osVer) : "");
3537
+ setValue(extOS, "osVer", mergedOS, isString);
3491
3538
  }
3492
3539
  else {
3493
3540
  setValue(extOS, "osVer", _osVer);
@@ -3498,13 +3545,14 @@ var OsPlugin = /** @class */ (function (_super) {
3498
3545
  function _completeOsRetrieve() {
3499
3546
  if (_getOSTimeout) {
3500
3547
  _getOSTimeout.cancel();
3548
+ _getOSTimeout = null;
3501
3549
  }
3502
- _getOSInProgress = false;
3550
+ _removeUnloadHandlers();
3503
3551
  _releaseEventQueue();
3504
3552
  }
3505
3553
  function _releaseEventQueue() {
3506
3554
  arrForEach(_eventQueue, function (evt) {
3507
- updateTeleItemWithOs(evt.item);
3555
+ _updateTeleItemWithOs(evt.item);
3508
3556
  _self.processNext(evt.item, evt.ctx);
3509
3557
  });
3510
3558
  _eventQueue = [];
@@ -3512,15 +3560,16 @@ var OsPlugin = /** @class */ (function (_super) {
3512
3560
  function _initDefaults() {
3513
3561
  _core = null;
3514
3562
  _ocConfig = null;
3515
- _getOSInProgress = false;
3516
3563
  _getOSTimeout = null;
3517
- _maxTimeout = null;
3518
- _retrieveFullVersion = false;
3519
3564
  _eventQueue = [];
3520
- _firstAttempt = true;
3565
+ _os = null;
3566
+ _osVer = null;
3567
+ _fetchedFullVersion = false;
3568
+ _addedUnloadEvents = false;
3569
+ _excludePageUnloadEvents = null;
3521
3570
  }
3522
3571
  _self["_getDbgPlgTargets"] = function () {
3523
- return [_platformVersionResponse, _eventQueue, _getOSInProgress];
3572
+ return [{ platform: _os, platformVersion: _osVer }, _eventQueue, !!_getOSTimeout];
3524
3573
  };
3525
3574
  });
3526
3575
  return _this;
@@ -3532,4 +3581,4 @@ var OsPlugin = /** @class */ (function (_super) {
3532
3581
  exports.OsPlugin = OsPlugin;
3533
3582
 
3534
3583
  }));
3535
- //# sourceMappingURL=ai.osplugin.3.4.0-nightlybeta3.2602-17.gbl.js.map
3584
+ //# sourceMappingURL=ai.osplugin.3.4.1.gbl.js.map