@microsoft/applicationinsights-osplugin-js 3.4.0-nightlybeta3.2602-27 → 3.4.2-nightly3.2604-07

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-27.js → ai.osplugin.3.4.2-nightly3.2604-07.cjs.js} +139 -117
  2. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.cjs.js.map +1 -0
  3. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.cjs.min.js +6 -0
  4. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.cjs.min.js.map +1 -0
  5. package/browser/es5/{ai.osplugin.3.4.0-nightlybeta3.2602-27.gbl.js → ai.osplugin.3.4.2-nightly3.2604-07.gbl.js} +141 -92
  6. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.gbl.js.map +1 -0
  7. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.gbl.min.js +6 -0
  8. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.gbl.min.js.map +1 -0
  9. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.integrity.json +66 -0
  10. package/browser/es5/{ai.osplugin.3.4.0-nightlybeta3.2602-27.cjs.js → ai.osplugin.3.4.2-nightly3.2604-07.js} +166 -90
  11. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.js.map +1 -0
  12. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.min.js +6 -0
  13. package/browser/es5/ai.osplugin.3.4.2-nightly3.2604-07.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 +3 -3
  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-27.cjs.js.map +0 -1
  41. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.cjs.min.js +0 -6
  42. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.cjs.min.js.map +0 -1
  43. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.gbl.js.map +0 -1
  44. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.gbl.min.js +0 -6
  45. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.gbl.min.js.map +0 -1
  46. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.integrity.json +0 -66
  47. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.js.map +0 -1
  48. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.min.js +0 -6
  49. package/browser/es5/ai.osplugin.3.4.0-nightlybeta3.2602-27.min.js.map +0 -1
@@ -1,32 +1,7 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - OS Plugin, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - OS Plugin, 3.4.2-nightly3.2604-07
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
- (function (global, factory) {
6
- var undef = "undefined";
7
- typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
- typeof define === "function" && define.amd ? define(["exports"], factory) :
9
- (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_ai_osplugin_3_4_0_nightlybeta3_2602_27", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2602-27";
12
- var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
- // Versioned namespace "Microsoft.ApplicationInsights3"
14
- var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
15
- // Global namespace "Microsoft.ApplicationInsights"
16
- var destNs=baseNs, nsKey="ApplicationInsights", destNs=destNs[nsKey]=(destNs[nsKey]||{});
17
- var expNsDetail=(exportNs[msMod]=(exportNs[msMod] || {})), expNameVer=(expNsDetail["v"]=(expNsDetail["v"] || []));
18
- var destNsDetail=(destNs[msMod]=(destNs[msMod] || {})), destNameVer=(destNsDetail["v"]=(destNsDetail["v"] || []));
19
- (destNsDetail["o"]=(destNsDetail["o"] || [])).push(mods);
20
- factory(theExports);
21
- for(var key in theExports) {
22
- // Always set the imported value into the "export" versioned namespace (last-write wins)
23
- nm="x", exportNs[key]=theExports[key], expNameVer[key]=ver;
24
- // Copy over any named element that is not already present (first-write wins)
25
- typeof destNs[key]===undef ? (nm="n", destNs[key]=theExports[key]) && (destNameVer[key]=ver) : !destNameVer[key] && (destNameVer[key]="---");
26
- (modDetail[nm] = (modDetail[nm] || [])).push(key);
27
- }
28
- })(typeof globalThis !== undef ? globalThis : global || self);
29
- })(this, (function (exports) {
30
5
  'use strict';
31
6
 
32
7
 
@@ -36,7 +11,7 @@ var strShimUndefined = "undefined";
36
11
  var strShimPrototype = "prototype";
37
12
  var ObjClass$1 = Object;
38
13
 
39
- /*! https://github.com/nevware21/ts-utils v0.12.6 */
14
+ /*! https://github.com/nevware21/ts-utils v0.13.0 */
40
15
  /*#__NO_SIDE_EFFECTS__*/
41
16
  function _pureAssign(func1, func2) {
42
17
  return func1 || func2;
@@ -395,6 +370,9 @@ function polyUtcNow() {
395
370
  function fnApply(fn, thisArg, argArray) {
396
371
  return fn.apply(thisArg, argArray);
397
372
  }
373
+ function fnCall(fn, thisArg) {
374
+ return fn.apply(thisArg, ArrSlice[CALL](arguments, 2));
375
+ }
398
376
  var _globalLazyTestHooks;
399
377
  function _initTestHooks() {
400
378
  _globalLazyTestHooks = _getGlobalConfig();
@@ -654,7 +632,7 @@ function _setName(baseClass, name) {
654
632
  name && (baseClass[NAME] = name);
655
633
  }
656
634
  /*#__NO_SIDE_EFFECTS__*/
657
- function createCustomError(name, constructCb, errorBase) {
635
+ function createCustomError(name, constructCb, errorBase, superArgsFn) {
658
636
  var theBaseClass = errorBase || Error;
659
637
  var orgName = theBaseClass[PROTOTYPE][NAME];
660
638
  var captureFn = Error.captureStackTrace;
@@ -663,7 +641,7 @@ function createCustomError(name, constructCb, errorBase) {
663
641
  var theArgs = arguments;
664
642
  try {
665
643
  safe(_setName, [theBaseClass, name]);
666
- var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
644
+ var _self = fnApply(theBaseClass, _this, superArgsFn ? superArgsFn(theArgs) : ArrSlice[CALL](theArgs)) || _this;
667
645
  if (_self !== _this) {
668
646
  var orgProto = objGetPrototypeOf(_this);
669
647
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -1136,9 +1114,12 @@ var _DYN_IS_CHILD_EVT = "isChildEvt";
1136
1114
  var _DYN_GET_CTX = "getCtx";
1137
1115
  var _DYN_SET_CTX = "setCtx";
1138
1116
  var _DYN_CONFIG = "config";
1117
+ var _DYN_CALL = "call";
1139
1118
  var _DYN_REPLACE = "replace";
1140
1119
  var _DYN_TYPE = "type";
1120
+ var _DYN_USER_AGENT = "userAgent";
1141
1121
  var _DYN_TO_STRING = "toString";
1122
+ var _DYN_HANDLER = "handler";
1142
1123
  var _DYN_EVT_NAME = "evtName";
1143
1124
  var _DYN_CONCAT = "concat";
1144
1125
  var _DYN_REMOVE_ITEM = "removeItem";
@@ -1347,7 +1328,7 @@ function getUserAgentString() {
1347
1328
  if (!_userAgent) {
1348
1329
  _userAgent = getLazy(function () {
1349
1330
  var nav = getNavigator() || {};
1350
- return nav.userAgent || STR_EMPTY;
1331
+ return nav[_DYN_USER_AGENT ] || STR_EMPTY;
1351
1332
  });
1352
1333
  }
1353
1334
  return _userAgent.v;
@@ -1459,7 +1440,7 @@ function newId(maxLength) {
1459
1440
  return result;
1460
1441
  }
1461
1442
 
1462
- var version = '3.4.0-nightlybeta3.2602-27';
1443
+ var version = '3.4.2-nightly3.2604-07';
1463
1444
  var instanceName = "." + newId(6);
1464
1445
  var _dataUid = 0;
1465
1446
  function _canAcceptData(target) {
@@ -2197,7 +2178,7 @@ var _InternalLogMessage = /** @class */ (function () {
2197
2178
  }());
2198
2179
  /*#__NO_SIDE_EFFECTS__*/
2199
2180
  function safeGetLogger(core, config) {
2200
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2181
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config || (core || {})[_DYN_CONFIG ]);
2201
2182
  }
2202
2183
  var DiagnosticLogger = /** @class */ (function () {
2203
2184
  function DiagnosticLogger(config) {
@@ -2517,7 +2498,7 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2517
2498
  if (onComplete && onComplete[_DYN_LENGTH ] > 0) {
2518
2499
  arrForEach(onComplete, function (completeDetails) {
2519
2500
  try {
2520
- completeDetails.func.call(completeDetails.self, completeDetails.args);
2501
+ completeDetails.func[_DYN_CALL ](completeDetails.self, completeDetails.args);
2521
2502
  }
2522
2503
  catch (e) {
2523
2504
  _throwInternal(core[_DYN_LOGGER ], 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
@@ -2840,7 +2821,7 @@ function createUnloadHookContainer() {
2840
2821
  _hooks = [];
2841
2822
  arrForEach(oldHooks, function (fn) {
2842
2823
  try {
2843
- (fn.rm || fn.remove).call(fn);
2824
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
2844
2825
  }
2845
2826
  catch (e) {
2846
2827
  _throwInternal(logger, 2 , 73 , "Unloading:" + dumpObj(e));
@@ -3103,7 +3084,7 @@ function _doUnregister(target, events, evtName, unRegFn) {
3103
3084
  if (theEvent) {
3104
3085
  if (!evtName.ns || evtName.ns === theEvent[_DYN_EVT_NAME ].ns) {
3105
3086
  if (!unRegFn || unRegFn(theEvent)) {
3106
- _doDetach(target, theEvent[_DYN_EVT_NAME ], theEvent.handler, theEvent.capture);
3087
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
3107
3088
  events[_DYN_SPLICE ](idx, 1);
3108
3089
  }
3109
3090
  }
@@ -3170,7 +3151,7 @@ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3170
3151
  var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3171
3152
  var found_1 = false;
3172
3153
  _unregisterEvents(target, evtName_1, function (regEvent) {
3173
- if ((evtName_1.ns && !handlerRef) || regEvent.handler === handlerRef) {
3154
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
3174
3155
  found_1 = true;
3175
3156
  return true;
3176
3157
  }
@@ -3346,8 +3327,9 @@ var Extensions = {
3346
3327
  SDKExt: "sdk"
3347
3328
  };
3348
3329
 
3349
- var _DYN_PLATFORM_VERSION = "platformVersion";
3350
3330
  var _DYN_MERGE_OS_NAME_VERSIO0 = "mergeOsNameVersion";
3331
+ var _DYN_IS_STORAGE_USE_DISAB1 = "isStorageUseDisabled";
3332
+ var _DYN_PLATFORM_VERSION = "platformVersion";
3351
3333
 
3352
3334
  var defaultMaxTimeout = 200;
3353
3335
  var strExt = "ext";
@@ -3361,21 +3343,19 @@ var OsPlugin = /** @class */ (function (_super) {
3361
3343
  var _this = _super.call(this) || this;
3362
3344
  _this.identifier = "OsPlugin";
3363
3345
  _this.priority = 195;
3364
- _this.version = '3.4.0-nightlybeta3.2602-27';
3346
+ _this.version = '3.4.2-nightly3.2604-07';
3365
3347
  var _core;
3366
3348
  var _ocConfig;
3367
- var _getOSInProgress;
3368
3349
  var _getOSTimeout;
3369
- var _maxTimeout;
3370
- var _platformVersionResponse;
3371
- var _retrieveFullVersion;
3350
+ var _fetchedFullVersion;
3372
3351
  var _mergeOsNameVersion;
3373
3352
  var _eventQueue;
3374
3353
  var _evtNamespace;
3375
3354
  var _excludePageUnloadEvents;
3355
+ var _disableFlushOnUnload;
3356
+ var _addedUnloadEvents;
3376
3357
  var _os;
3377
3358
  var _osVer;
3378
- var _firstAttempt;
3379
3359
  dynamicProto(OsPlugin, _this, function (_self, _base) {
3380
3360
  _initDefaults();
3381
3361
  _self.initialize = function (coreConfig, core, extensions) {
@@ -3384,23 +3364,11 @@ var OsPlugin = /** @class */ (function (_super) {
3384
3364
  _super.prototype.initialize.call(_this, coreConfig, core, extensions);
3385
3365
  var identifier = _self.identifier;
3386
3366
  _evtNamespace = mergeEvtNamespace(createUniqueNamespace(identifier), core.evtNamespace && core.evtNamespace());
3387
- if (utlCanUseSessionStorage) {
3388
- try {
3389
- _platformVersionResponse = JSON.parse(utlGetSessionStorage(core.logger, "ai_osplugin"));
3390
- }
3391
- catch (error) {
3392
- }
3393
- }
3394
- if (_platformVersionResponse) {
3395
- _retrieveFullVersion = true;
3396
- _osVer = parseInt(_platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3397
- _os = _platformVersionResponse.platform;
3398
- }
3367
+ _fetchedFullVersion = _fetchCachedOSVersion(coreConfig);
3399
3368
  _self._addHook(onConfigChange(coreConfig, function (details) {
3400
3369
  var coreConfig = details.cfg;
3401
3370
  var ctx = createProcessTelemetryContext(null, coreConfig, core);
3402
3371
  _ocConfig = ctx.getExtCfg(identifier, defaultOSConfig);
3403
- _maxTimeout = _ocConfig.maxTimeout;
3404
3372
  if (_ocConfig[_DYN_MERGE_OS_NAME_VERSIO0 ] !== undefined) {
3405
3373
  _mergeOsNameVersion = _ocConfig[_DYN_MERGE_OS_NAME_VERSIO0 ];
3406
3374
  }
@@ -3411,87 +3379,141 @@ var OsPlugin = /** @class */ (function (_super) {
3411
3379
  _mergeOsNameVersion = false;
3412
3380
  }
3413
3381
  var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents || [];
3414
- if (_excludePageUnloadEvents && _excludePageUnloadEvents !== excludePageUnloadEvents) {
3415
- removePageUnloadEventListener(null, _evtNamespace);
3416
- removePageHideEventListener(null, _evtNamespace);
3382
+ var disableFlushOnUnload = coreConfig.disableFlushOnUnload || false;
3383
+ var removeEvents = _excludePageUnloadEvents && _excludePageUnloadEvents !== excludePageUnloadEvents;
3384
+ if (_disableFlushOnUnload !== disableFlushOnUnload) {
3385
+ removeEvents = true;
3386
+ }
3387
+ if (removeEvents && _addedUnloadEvents) {
3388
+ _removeUnloadHandlers();
3417
3389
  _excludePageUnloadEvents = null;
3418
3390
  }
3419
- if (!_excludePageUnloadEvents) {
3420
- addPageUnloadEventListener(_doUnload, excludePageUnloadEvents, _evtNamespace);
3421
- addPageHideEventListener(_doUnload, excludePageUnloadEvents, _evtNamespace);
3391
+ if (!_excludePageUnloadEvents && !disableFlushOnUnload) {
3392
+ _addUnloadHandlers(excludePageUnloadEvents);
3422
3393
  }
3423
3394
  _excludePageUnloadEvents = excludePageUnloadEvents;
3395
+ _disableFlushOnUnload = disableFlushOnUnload;
3424
3396
  }));
3425
- function _doUnload() {
3426
- _releaseEventQueue();
3397
+ if (!_fetchedFullVersion) {
3398
+ _startRetrieveOsVersion(_ocConfig.maxTimeout);
3427
3399
  }
3428
3400
  };
3429
3401
  _self.processTelemetry = function (event, itemCtx) {
3430
3402
  itemCtx = _self._getTelCtx(itemCtx);
3431
- if (!_retrieveFullVersion && !_getOSInProgress && _firstAttempt) {
3432
- _getOSInProgress = true;
3433
- startRetrieveOsVersion();
3434
- _firstAttempt = false;
3435
- }
3436
- if (_getOSInProgress) {
3403
+ if (_getOSTimeout) {
3437
3404
  _eventQueue.push({
3438
3405
  ctx: itemCtx,
3439
3406
  item: event
3440
3407
  });
3441
3408
  }
3442
3409
  else {
3443
- updateTeleItemWithOs(event);
3410
+ _updateTeleItemWithOs(event);
3444
3411
  _self.processNext(event, itemCtx);
3445
3412
  }
3446
3413
  };
3447
3414
  _self._doTeardown = function (unloadCtx, unloadState) {
3448
3415
  _completeOsRetrieve();
3449
- removePageUnloadEventListener(null, _evtNamespace);
3450
- removePageHideEventListener(null, _evtNamespace);
3416
+ _removeUnloadHandlers();
3451
3417
  _initDefaults();
3452
3418
  };
3453
- function startRetrieveOsVersion() {
3454
- var _a;
3455
- _getOSTimeout = scheduleTimeout(function () {
3456
- _completeOsRetrieve();
3457
- }, _maxTimeout);
3458
- if (navigator.userAgent) {
3459
- var getHighEntropyValues = (_a = navigator.userAgentData) === null || _a === void 0 ? void 0 : _a.getHighEntropyValues;
3460
- if (getHighEntropyValues) {
3461
- doAwaitResponse(navigator.userAgentData.getHighEntropyValues(["platformVersion"]), function (response) {
3462
- if (!response.rejected) {
3463
- _platformVersionResponse = response.value;
3464
- _retrieveFullVersion = true;
3465
- if (_platformVersionResponse[_DYN_PLATFORM_VERSION ] && _platformVersionResponse.platform) {
3466
- _os = _platformVersionResponse.platform;
3467
- _osVer = parseInt(_platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3468
- if (_os === "Windows") {
3469
- if (_osVer == 0) {
3470
- _osVer = 8;
3471
- }
3472
- else if (_osVer < 13) {
3473
- _osVer = 10;
3474
- }
3475
- else {
3476
- _osVer = 11;
3419
+ function _fetchCachedOSVersion(coreConfig) {
3420
+ var fetched = false;
3421
+ if (coreConfig[_DYN_IS_STORAGE_USE_DISAB1 ] !== true) {
3422
+ try {
3423
+ var platformVersionResponse = JSON.parse(utlGetSessionStorage(safeGetLogger(_core), "ai_osplugin"));
3424
+ if (platformVersionResponse) {
3425
+ _os = platformVersionResponse.platform;
3426
+ if (platformVersionResponse[_DYN_PLATFORM_VERSION ]) {
3427
+ var ver = parseInt(platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3428
+ if (!isNaN(ver)) {
3429
+ _osVer = ver;
3430
+ }
3431
+ }
3432
+ fetched = !!(_os && _osVer);
3433
+ }
3434
+ }
3435
+ catch (error) {
3436
+ }
3437
+ }
3438
+ return fetched;
3439
+ }
3440
+ function _storeCachedOSVersion(coreConfig) {
3441
+ if (coreConfig[_DYN_IS_STORAGE_USE_DISAB1 ] !== true) {
3442
+ try {
3443
+ utlSetSessionStorage(safeGetLogger(_core), "ai_osplugin", JSON.stringify({ platform: _os, platformVersion: _osVer }));
3444
+ }
3445
+ catch (error) {
3446
+ }
3447
+ }
3448
+ }
3449
+ function _addUnloadHandlers(excludePageUnloadEvents) {
3450
+ function _unloading() {
3451
+ _releaseEventQueue();
3452
+ _removeUnloadHandlers();
3453
+ }
3454
+ if (!_addedUnloadEvents && !_fetchedFullVersion) {
3455
+ addPageUnloadEventListener(_unloading, excludePageUnloadEvents, _evtNamespace);
3456
+ addPageHideEventListener(_unloading, excludePageUnloadEvents, _evtNamespace);
3457
+ _addedUnloadEvents = true;
3458
+ }
3459
+ }
3460
+ function _removeUnloadHandlers() {
3461
+ if (_addedUnloadEvents) {
3462
+ removePageUnloadEventListener(null, _evtNamespace);
3463
+ removePageHideEventListener(null, _evtNamespace);
3464
+ _addedUnloadEvents = false;
3465
+ }
3466
+ }
3467
+ function _startRetrieveOsVersion(maxTimeout) {
3468
+ if (_core && !_getOSTimeout) {
3469
+ var nav = getNavigator();
3470
+ var userAgentData = (nav || {}).userAgentData;
3471
+ if (userAgentData) {
3472
+ var getHighEntropyValues = userAgentData.getHighEntropyValues;
3473
+ if (getHighEntropyValues) {
3474
+ _getOSTimeout = scheduleTimeout(function () {
3475
+ _completeOsRetrieve();
3476
+ }, maxTimeout);
3477
+ doAwaitResponse(fnCall(getHighEntropyValues, userAgentData, ["platformVersion"]), function (response) {
3478
+ _fetchedFullVersion = true;
3479
+ try {
3480
+ if (!response.rejected) {
3481
+ var platformVersionResponse = response.value;
3482
+ if (platformVersionResponse[_DYN_PLATFORM_VERSION ] && platformVersionResponse.platform) {
3483
+ _os = platformVersionResponse.platform;
3484
+ _osVer = parseInt(platformVersionResponse[_DYN_PLATFORM_VERSION ]);
3485
+ if (_os === "Windows" && !isNaN(_osVer)) {
3486
+ if (_osVer == 0) {
3487
+ _osVer = 8;
3488
+ }
3489
+ else if (_osVer < 13) {
3490
+ _osVer = 10;
3491
+ }
3492
+ else {
3493
+ _osVer = 11;
3494
+ }
3495
+ }
3496
+ _storeCachedOSVersion((_core || {}).config);
3477
3497
  }
3478
3498
  }
3479
- utlSetSessionStorage(_core.logger, "ai_osplugin", JSON.stringify({ platform: _os, platformVersion: _osVer }));
3499
+ else {
3500
+ _throwInternal(safeGetLogger(_core), 1 , 73 , "Could not retrieve operating system: " + response.reason);
3501
+ }
3480
3502
  }
3481
- }
3482
- else {
3483
- _throwInternal(_core.logger, 1 , 73 , "Could not retrieve operating system: " + response.reason);
3484
- }
3485
- _completeOsRetrieve();
3486
- });
3503
+ finally {
3504
+ _completeOsRetrieve();
3505
+ }
3506
+ });
3507
+ }
3487
3508
  }
3488
3509
  }
3489
3510
  }
3490
- function updateTeleItemWithOs(event) {
3491
- if (_retrieveFullVersion) {
3511
+ function _updateTeleItemWithOs(event) {
3512
+ if (_fetchedFullVersion && (_os || _osVer)) {
3492
3513
  var extOS = getSetValue(getSetValue(event, strExt), Extensions.OSExt);
3493
3514
  if (_mergeOsNameVersion) {
3494
- setValue(extOS, "osVer", _os + _osVer, isString);
3515
+ var mergedOS = (_os || "") + (_osVer ? asString(_osVer) : "");
3516
+ setValue(extOS, "osVer", mergedOS, isString);
3495
3517
  }
3496
3518
  else {
3497
3519
  setValue(extOS, "osVer", _osVer);
@@ -3502,13 +3524,14 @@ var OsPlugin = /** @class */ (function (_super) {
3502
3524
  function _completeOsRetrieve() {
3503
3525
  if (_getOSTimeout) {
3504
3526
  _getOSTimeout.cancel();
3527
+ _getOSTimeout = null;
3505
3528
  }
3506
- _getOSInProgress = false;
3529
+ _removeUnloadHandlers();
3507
3530
  _releaseEventQueue();
3508
3531
  }
3509
3532
  function _releaseEventQueue() {
3510
3533
  arrForEach(_eventQueue, function (evt) {
3511
- updateTeleItemWithOs(evt.item);
3534
+ _updateTeleItemWithOs(evt.item);
3512
3535
  _self.processNext(evt.item, evt.ctx);
3513
3536
  });
3514
3537
  _eventQueue = [];
@@ -3516,15 +3539,16 @@ var OsPlugin = /** @class */ (function (_super) {
3516
3539
  function _initDefaults() {
3517
3540
  _core = null;
3518
3541
  _ocConfig = null;
3519
- _getOSInProgress = false;
3520
3542
  _getOSTimeout = null;
3521
- _maxTimeout = null;
3522
- _retrieveFullVersion = false;
3523
3543
  _eventQueue = [];
3524
- _firstAttempt = true;
3544
+ _os = null;
3545
+ _osVer = null;
3546
+ _fetchedFullVersion = false;
3547
+ _addedUnloadEvents = false;
3548
+ _excludePageUnloadEvents = null;
3525
3549
  }
3526
3550
  _self["_getDbgPlgTargets"] = function () {
3527
- return [_platformVersionResponse, _eventQueue, _getOSInProgress];
3551
+ return [{ platform: _os, platformVersion: _osVer }, _eventQueue, !!_getOSTimeout];
3528
3552
  };
3529
3553
  });
3530
3554
  return _this;
@@ -3534,6 +3558,4 @@ var OsPlugin = /** @class */ (function (_super) {
3534
3558
  }(BaseTelemetryPlugin));
3535
3559
 
3536
3560
  exports.OsPlugin = OsPlugin;
3537
-
3538
- }));
3539
- //# sourceMappingURL=ai.osplugin.3.4.0-nightlybeta3.2602-27.js.map
3561
+ //# sourceMappingURL=ai.osplugin.3.4.2-nightly3.2604-07.cjs.js.map