@microsoft/1ds-post-js 3.2.6 → 3.2.7

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 (50) hide show
  1. package/README.md +4 -1
  2. package/bundle/{ms.post-3.2.6.gbl.js → ms.post-3.2.7.gbl.js} +44 -30
  3. package/bundle/ms.post-3.2.7.gbl.js.map +1 -0
  4. package/bundle/ms.post-3.2.7.gbl.min.js +7 -0
  5. package/bundle/{ms.post-3.2.6.gbl.min.js.map → ms.post-3.2.7.gbl.min.js.map} +1 -1
  6. package/bundle/ms.post-3.2.7.integrity.json +46 -0
  7. package/bundle/{ms.post-3.2.6.js → ms.post-3.2.7.js} +44 -30
  8. package/bundle/ms.post-3.2.7.js.map +1 -0
  9. package/bundle/ms.post-3.2.7.min.js +7 -0
  10. package/bundle/{ms.post-3.2.6.min.js.map → ms.post-3.2.7.min.js.map} +1 -1
  11. package/bundle/ms.post.gbl.js +43 -29
  12. package/bundle/ms.post.gbl.js.map +1 -1
  13. package/bundle/ms.post.gbl.min.js +2 -2
  14. package/bundle/ms.post.gbl.min.js.map +1 -1
  15. package/bundle/ms.post.integrity.json +17 -17
  16. package/bundle/ms.post.js +43 -29
  17. package/bundle/ms.post.js.map +1 -1
  18. package/bundle/ms.post.min.js +2 -2
  19. package/bundle/ms.post.min.js.map +1 -1
  20. package/dist/ms.post.js +41 -27
  21. package/dist/ms.post.js.map +1 -1
  22. package/dist/ms.post.min.js +2 -2
  23. package/dist/ms.post.min.js.map +1 -1
  24. package/dist-esm/src/BatchNotificationActions.js +1 -1
  25. package/dist-esm/src/ClockSkewManager.js +1 -1
  26. package/dist-esm/src/DataModels.d.ts +19 -3
  27. package/dist-esm/src/DataModels.js +1 -1
  28. package/dist-esm/src/EventBatch.js +1 -1
  29. package/dist-esm/src/HttpManager.js +39 -24
  30. package/dist-esm/src/HttpManager.js.map +1 -1
  31. package/dist-esm/src/Index.js +1 -1
  32. package/dist-esm/src/InternalConstants.js +1 -1
  33. package/dist-esm/src/KillSwitch.js +1 -1
  34. package/dist-esm/src/PostChannel.js +2 -2
  35. package/dist-esm/src/PostChannel.js.map +1 -1
  36. package/dist-esm/src/RetryPolicy.js +1 -1
  37. package/dist-esm/src/Serializer.d.ts +3 -3
  38. package/dist-esm/src/Serializer.js +3 -3
  39. package/dist-esm/src/Serializer.js.map +1 -1
  40. package/dist-esm/src/TimeoutOverrideWrapper.js +1 -1
  41. package/dist-esm/src/typings/XDomainRequest.js +1 -1
  42. package/package.json +2 -2
  43. package/src/DataModels.ts +19 -0
  44. package/src/HttpManager.ts +47 -26
  45. package/src/Serializer.ts +10 -10
  46. package/bundle/ms.post-3.2.6.gbl.js.map +0 -1
  47. package/bundle/ms.post-3.2.6.gbl.min.js +0 -7
  48. package/bundle/ms.post-3.2.6.integrity.json +0 -46
  49. package/bundle/ms.post-3.2.6.js.map +0 -1
  50. package/bundle/ms.post-3.2.6.min.js +0 -7
@@ -1,45 +1,45 @@
1
1
  {
2
2
  "name": "ms.post",
3
- "version": "3.2.6",
3
+ "version": "3.2.7",
4
4
  "ext": {
5
5
  "@gbl.js": {
6
6
  "file": "ms.post.gbl.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-dx0B0jCkyhXcM6e1bhq7POwPqKfn8RNo3esZTWyGEjo= sha384-0tV5mzwgcsPDMaExkEz8gsK0tVTbRitBNmEtDiCpdUt2W30rH7gSz9vyC/NaSpY6 sha512-XJcwjEETyZf7KmHC7uBZnr9M/ApY/DBjQeeXuC1He76+CN069A6LmtMlDytv1h+DeXUZrzxZhx6gHJ2zvSBaIA==",
8
+ "integrity": "sha256-jc8lXy7SJo9emeO6PGqHS9RJ4jsNKMyNMZ1Ra/LGCPM= sha384-cZLL5uh8q2JdsuC8h4ygOavRvqiMgHjUOEpRkWVFcFllB3opHsNIHIpiiFiP+pOd sha512-YOl4QrTDKzY4qJJ1aj7HDGn+/A438BS45VSq4P2mkq0ivVK/Mpi9BlmF61W6pIeK95GGqON5ROuCtcIw0qJPlw==",
9
9
  "hashes": {
10
- "sha256": "dx0B0jCkyhXcM6e1bhq7POwPqKfn8RNo3esZTWyGEjo=",
11
- "sha384": "0tV5mzwgcsPDMaExkEz8gsK0tVTbRitBNmEtDiCpdUt2W30rH7gSz9vyC/NaSpY6",
12
- "sha512": "XJcwjEETyZf7KmHC7uBZnr9M/ApY/DBjQeeXuC1He76+CN069A6LmtMlDytv1h+DeXUZrzxZhx6gHJ2zvSBaIA=="
10
+ "sha256": "jc8lXy7SJo9emeO6PGqHS9RJ4jsNKMyNMZ1Ra/LGCPM=",
11
+ "sha384": "cZLL5uh8q2JdsuC8h4ygOavRvqiMgHjUOEpRkWVFcFllB3opHsNIHIpiiFiP+pOd",
12
+ "sha512": "YOl4QrTDKzY4qJJ1aj7HDGn+/A438BS45VSq4P2mkq0ivVK/Mpi9BlmF61W6pIeK95GGqON5ROuCtcIw0qJPlw=="
13
13
  }
14
14
  },
15
15
  "@gbl.min.js": {
16
16
  "file": "ms.post.gbl.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-rHFAVTtEntkiuB0+Qa/ROn3k3MYAryqrLUfQxS8ySN4= sha384-nQsdQNRvX84pcZHhyDroQHPQyki2gvzLe1qvrrLUXOwOzw63GnT/9C498E63LUeB sha512-ftc04jOFXzm8pySgYj9GjsIBDSnCghHb6xOQpMbUpAF76qEY77fRTFxitnl48OieTADu6HTA5ZfQmGLvpeHfeQ==",
18
+ "integrity": "sha256-H2nHWaS/gsmJJw/7N9LhsaAOM3YA/1c4yAYGiw/HkMk= sha384-Icxb0HroIbsqE+nAt9YU7IxV1WQtSXFNWMnArmbosz+/mF34HMVDNFvEKc76K8UC sha512-4HoiZcfplSzo403UgWB2CrA0qGEby5QRq/Uo215lkNI4jW8RRypzfpRKg5VZrCNDQAQKYFpPqP40DTZgfVvo6g==",
19
19
  "hashes": {
20
- "sha256": "rHFAVTtEntkiuB0+Qa/ROn3k3MYAryqrLUfQxS8ySN4=",
21
- "sha384": "nQsdQNRvX84pcZHhyDroQHPQyki2gvzLe1qvrrLUXOwOzw63GnT/9C498E63LUeB",
22
- "sha512": "ftc04jOFXzm8pySgYj9GjsIBDSnCghHb6xOQpMbUpAF76qEY77fRTFxitnl48OieTADu6HTA5ZfQmGLvpeHfeQ=="
20
+ "sha256": "H2nHWaS/gsmJJw/7N9LhsaAOM3YA/1c4yAYGiw/HkMk=",
21
+ "sha384": "Icxb0HroIbsqE+nAt9YU7IxV1WQtSXFNWMnArmbosz+/mF34HMVDNFvEKc76K8UC",
22
+ "sha512": "4HoiZcfplSzo403UgWB2CrA0qGEby5QRq/Uo215lkNI4jW8RRypzfpRKg5VZrCNDQAQKYFpPqP40DTZgfVvo6g=="
23
23
  }
24
24
  },
25
25
  "@js": {
26
26
  "file": "ms.post.js",
27
27
  "type": "text/javascript; charset=utf-8",
28
- "integrity": "sha256-oF+StiR9SY0I9p7NMrysddVjdepfklIzZ5tgoqTZhUw= sha384-kteaP9iAq2VX10Gibr2brFa3K9wwV5/RXpegBiIHVwWCyMU3d2ssbFg1kPz1wlsT sha512-7sUqLDrMQqXvEoUVdS6e7LkFZyIzqecz87pZDIg0Guj8u3wvZboPHAO0i6bNNuj6tj2X2sBqzGU633n/7FNciw==",
28
+ "integrity": "sha256-0dBneDuK2dlNwWeHBqe7GeD1hnylS3y1v4OZTmoFX+o= sha384-FqlWNh0wvXAlg7Jh5jWSm1tiYGrqx2PGscIxHEyQyFAqEtDuS/s/NAkLmh0UhliV sha512-QMQSUCMOZilZfU+XX2W3DcMF/VuWAg0zAUNKpXH0RKwDud1owubeR7ewYUxv55IkFbCvYhk4QK7hAEwKUgfcWA==",
29
29
  "hashes": {
30
- "sha256": "oF+StiR9SY0I9p7NMrysddVjdepfklIzZ5tgoqTZhUw=",
31
- "sha384": "kteaP9iAq2VX10Gibr2brFa3K9wwV5/RXpegBiIHVwWCyMU3d2ssbFg1kPz1wlsT",
32
- "sha512": "7sUqLDrMQqXvEoUVdS6e7LkFZyIzqecz87pZDIg0Guj8u3wvZboPHAO0i6bNNuj6tj2X2sBqzGU633n/7FNciw=="
30
+ "sha256": "0dBneDuK2dlNwWeHBqe7GeD1hnylS3y1v4OZTmoFX+o=",
31
+ "sha384": "FqlWNh0wvXAlg7Jh5jWSm1tiYGrqx2PGscIxHEyQyFAqEtDuS/s/NAkLmh0UhliV",
32
+ "sha512": "QMQSUCMOZilZfU+XX2W3DcMF/VuWAg0zAUNKpXH0RKwDud1owubeR7ewYUxv55IkFbCvYhk4QK7hAEwKUgfcWA=="
33
33
  }
34
34
  },
35
35
  "@min.js": {
36
36
  "file": "ms.post.min.js",
37
37
  "type": "text/javascript; charset=utf-8",
38
- "integrity": "sha256-EMrD5EO1oCGDi9kiWco7B+lC3fM108KvOkJV4b4OSNU= sha384-ZnAzR94CJ2PXAEyqFL0LBRfJzfT9DXeMq25KfAe4EndcWpEG13uqSsVPAEQwBwJ9 sha512-3oNTCETbfmDwat93v1OSRHCGNLdVBS+Jps0fUPlRnzSqKV9BGHF8GrMXKlLn00FQsaQU/8l4zz+PhVJwy7joXw==",
38
+ "integrity": "sha256-JggfkPpqZTprgjrOcTCpxwwujXwSXVNb6T2lmRkJA5I= sha384-N/YMcJxCscHLOlEgeh27mTDLiTj89EHixcIxyHzkneDXEcbLn4TYdGEm33bSQoIC sha512-uafgLWv57gf3VoYPs+Gspm8EeaqtAwu6iGqPk4KY8Zo5DR4dy+XqcBnHsdzZ24OG4nWblECKMMB46pv/qvMHVA==",
39
39
  "hashes": {
40
- "sha256": "EMrD5EO1oCGDi9kiWco7B+lC3fM108KvOkJV4b4OSNU=",
41
- "sha384": "ZnAzR94CJ2PXAEyqFL0LBRfJzfT9DXeMq25KfAe4EndcWpEG13uqSsVPAEQwBwJ9",
42
- "sha512": "3oNTCETbfmDwat93v1OSRHCGNLdVBS+Jps0fUPlRnzSqKV9BGHF8GrMXKlLn00FQsaQU/8l4zz+PhVJwy7joXw=="
40
+ "sha256": "JggfkPpqZTprgjrOcTCpxwwujXwSXVNb6T2lmRkJA5I=",
41
+ "sha384": "N/YMcJxCscHLOlEgeh27mTDLiTj89EHixcIxyHzkneDXEcbLn4TYdGEm33bSQoIC",
42
+ "sha512": "uafgLWv57gf3VoYPs+Gspm8EeaqtAwu6iGqPk4KY8Zo5DR4dy+XqcBnHsdzZ24OG4nWblECKMMB46pv/qvMHVA=="
43
43
  }
44
44
  }
45
45
  }
package/bundle/ms.post.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK POST plugin, 3.2.6
2
+ * 1DS JS SDK POST plugin, 3.2.7
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -1269,7 +1269,7 @@
1269
1269
  }
1270
1270
 
1271
1271
  var _objDefineProperty = ObjDefineProperty;
1272
- var version = '2.8.6';
1272
+ var version = '2.8.8';
1273
1273
  var instanceName = "." + newId(6);
1274
1274
  var _dataUid = 0;
1275
1275
  function _createAccessor(target, prop, value) {
@@ -2162,7 +2162,7 @@
2162
2162
  var STR_EMPTY = "";
2163
2163
 
2164
2164
  var _a$1;
2165
- var Version = '3.2.6';
2165
+ var Version = '3.2.7';
2166
2166
  var FullVersionString = "1DS-Web-JS-" + Version;
2167
2167
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2168
2168
  var strWithCredentials = "withCredentials";
@@ -2585,7 +2585,7 @@
2585
2585
  var _theSanitizer = valueSanitizer;
2586
2586
  var _isReservedCache = {};
2587
2587
  dynamicProto(Serializer, this, function (_self) {
2588
- _self.createPayload = function (retryCnt, isTeardown, isSync, useSendBeacon, sendReason, sendType) {
2588
+ _self.createPayload = function (retryCnt, isTeardown, isSync, isReducedPayload, sendReason, sendType) {
2589
2589
  return {
2590
2590
  apiKeys: [],
2591
2591
  payloadBlob: "",
@@ -2597,7 +2597,7 @@
2597
2597
  retryCnt: retryCnt,
2598
2598
  isTeardown: isTeardown,
2599
2599
  isSync: isSync,
2600
- isBeacon: useSendBeacon,
2600
+ isBeacon: isReducedPayload,
2601
2601
  sendType: sendType,
2602
2602
  sendReason: sendReason
2603
2603
  };
@@ -2875,6 +2875,17 @@
2875
2875
  }
2876
2876
  }
2877
2877
  }
2878
+ function _prependTransports(theTransports, newTransports) {
2879
+ if (newTransports) {
2880
+ if (isNumber(newTransports)) {
2881
+ theTransports = [newTransports].concat(theTransports);
2882
+ }
2883
+ else if (isArray(newTransports)) {
2884
+ theTransports = newTransports.concat(theTransports);
2885
+ }
2886
+ }
2887
+ return theTransports;
2888
+ }
2878
2889
  var HttpManager = /** @class */ (function () {
2879
2890
  function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions, timeoutOverride) {
2880
2891
  this._responseHandlers = [];
@@ -2899,6 +2910,8 @@
2899
2910
  var _useHeaders = false;
2900
2911
  var _xhrTimeout;
2901
2912
  var _disableXhrSync;
2913
+ var _disableFetchKeepAlive;
2914
+ var _canHaveReducedPayload;
2902
2915
  dynamicProto(HttpManager, this, function (_self) {
2903
2916
  var _sendCredentials = true;
2904
2917
  _self.initialize = function (endpointUrl, core, postChannel, httpInterface, channelConfig) {
@@ -2920,12 +2933,17 @@
2920
2933
  enableCompoundKey = !!channelConfig.enableCompoundKey;
2921
2934
  }
2922
2935
  _xhrTimeout = channelConfig.xhrTimeout;
2923
- _disableXhrSync = channelConfig.disableXhrSync;
2936
+ _disableXhrSync = !!channelConfig.disableXhrSync;
2937
+ _disableFetchKeepAlive = !!channelConfig.disableFetchKeepAlive;
2924
2938
  _useBeacons = !isReactNative();
2925
2939
  _serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey);
2940
+ if (!isNullOrUndefined(channelConfig.useSendBeacon)) {
2941
+ _useBeacons = !!channelConfig.useSendBeacon;
2942
+ }
2926
2943
  var syncHttpInterface = httpInterface;
2927
2944
  var beaconHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
2928
2945
  var fetchSyncHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
2946
+ var beaconUnloadTransports = [3 , 2 ];
2929
2947
  if (!httpInterface) {
2930
2948
  _customHttpInterface = false;
2931
2949
  var location_1 = getLocation();
@@ -2935,29 +2953,27 @@
2935
2953
  var theTransports = [];
2936
2954
  if (isReactNative()) {
2937
2955
  theTransports = [2 , 1 ];
2956
+ beaconUnloadTransports = [2 , 1 , 3 ];
2938
2957
  }
2939
2958
  else {
2940
2959
  theTransports = [1 , 2 , 3 ];
2941
2960
  }
2942
- var configTransports = channelConfig.transports;
2943
- if (configTransports) {
2944
- if (isNumber(configTransports)) {
2945
- theTransports = [configTransports].concat(theTransports);
2946
- }
2947
- else if (isArray(configTransports)) {
2948
- theTransports = configTransports.concat(theTransports);
2949
- }
2950
- }
2961
+ theTransports = _prependTransports(theTransports, channelConfig.transports);
2951
2962
  httpInterface = _getSenderInterface(theTransports, false);
2952
- syncHttpInterface = _getSenderInterface(theTransports, true);
2953
2963
  if (!httpInterface) {
2954
2964
  _warnToConsole(_logger, "No available transport to send events");
2955
2965
  }
2966
+ syncHttpInterface = _getSenderInterface(theTransports, true);
2956
2967
  }
2968
+ if (!beaconHttpInterface) {
2969
+ beaconUnloadTransports = _prependTransports(beaconUnloadTransports, channelConfig.unloadTransports);
2970
+ beaconHttpInterface = _getSenderInterface(beaconUnloadTransports, true);
2971
+ }
2972
+ _canHaveReducedPayload = !_customHttpInterface && ((_useBeacons && isBeaconsSupported()) || (!_disableFetchKeepAlive && isFetchSupported(true)));
2957
2973
  _sendInterfaces = (_a = {},
2958
2974
  _a[0 ] = httpInterface,
2959
2975
  _a[1 ] = syncHttpInterface || _getSenderInterface([1 , 2 , 3 ], true),
2960
- _a[2 ] = beaconHttpInterface || _getSenderInterface([3 , 2 ], true) || syncHttpInterface || _getSenderInterface([1 ], true),
2976
+ _a[2 ] = beaconHttpInterface || syncHttpInterface || _getSenderInterface([1 ], true),
2961
2977
  _a[3 ] = fetchSyncHttpInterface || _getSenderInterface([2 , 3 ], true) || syncHttpInterface || _getSenderInterface([1 ], true),
2962
2978
  _a);
2963
2979
  };
@@ -2975,7 +2991,7 @@
2975
2991
  sendPostFunc = _xhrSendPost;
2976
2992
  }
2977
2993
  }
2978
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
2994
+ else if (transportType === 2 && isFetchSupported(syncSupport) && (!syncSupport || (syncSupport && !_disableFetchKeepAlive))) {
2979
2995
  sendPostFunc = _fetchSendPost;
2980
2996
  }
2981
2997
  else if (_useBeacons && transportType === 3 && isBeaconsSupported()) {
@@ -3299,12 +3315,13 @@
3299
3315
  var thePayload = null;
3300
3316
  var serializationStart = getTime();
3301
3317
  var sendInterface = _sendInterfaces[sendType] || (isSynchronous_1 ? _sendInterfaces[1 ] : _sendInterfaces[0 ]);
3302
- var isBeaconTransport = (_isUnloading || _isBeaconPayload(sendType) || (sendInterface && sendInterface._transport === 3 )) && _canUseSendBeaconApi();
3318
+ var sendTransport = sendInterface && sendInterface._transport;
3319
+ var isReducedPayload = _canHaveReducedPayload && (_isUnloading || _isBeaconPayload(sendType) || (sendTransport === 3 || (sendInterface._isSync && sendTransport === 2 )));
3303
3320
  while (_canSendPayload(theBatches, sendType, retryCount)) {
3304
3321
  var theBatch = theBatches.shift();
3305
3322
  if (theBatch && theBatch.count() > 0) {
3306
3323
  if (!_killSwitch.isTenantKilled(theBatch.iKey())) {
3307
- thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1, isBeaconTransport, sendReason, sendType);
3324
+ thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1, isReducedPayload, sendReason, sendType);
3308
3325
  if (!_serializer.appendPayload(thePayload, theBatch, maxEventsPerBatch)) {
3309
3326
  _doPayloadSend(thePayload, serializationStart, getTime(), sendReason);
3310
3327
  serializationStart = getTime();
@@ -3387,9 +3404,6 @@
3387
3404
  }
3388
3405
  return requestDetails;
3389
3406
  }
3390
- function _canUseSendBeaconApi() {
3391
- return !_customHttpInterface && _useBeacons && isBeaconsSupported();
3392
- }
3393
3407
  function _setTimingValue(timings, name, value) {
3394
3408
  timings[name] = timings[name] || {};
3395
3409
  timings[name][_postManager.identifier] = value;
@@ -3430,11 +3444,10 @@
3430
3444
  headers: requestDetails_1.hdrs,
3431
3445
  _thePayload: thePayload,
3432
3446
  _sendReason: sendReason,
3433
- timeout: _xhrTimeout
3447
+ timeout: _xhrTimeout,
3448
+ disableXhrSync: _disableXhrSync,
3449
+ disableFetchKeepAlive: _disableFetchKeepAlive
3434
3450
  };
3435
- if (!isUndefined(_disableXhrSync)) {
3436
- orgPayloadData.disableXhrSync = !!_disableXhrSync;
3437
- }
3438
3451
  if (useHeaders_1) {
3439
3452
  if (!_hasHeader(orgPayloadData.headers, STR_CACHE_CONTROL)) {
3440
3453
  orgPayloadData.headers[STR_CACHE_CONTROL] = DEFAULT_CACHE_CONTROL;
@@ -3474,7 +3487,8 @@
3474
3487
  urlString: orgPayloadData.urlString,
3475
3488
  headers: extend({}, orgPayloadData.headers),
3476
3489
  timeout: orgPayloadData.timeout,
3477
- disableXhrSync: orgPayloadData.disableXhrSync
3490
+ disableXhrSync: orgPayloadData.disableXhrSync,
3491
+ disableFetchKeepAlive: orgPayloadData.disableFetchKeepAlive
3478
3492
  };
3479
3493
  var senderCalled_1 = false;
3480
3494
  doPerf(_core, function () { return "HttpManager:_doPayloadSend.sendHook"; }, function () {
@@ -3744,7 +3758,7 @@
3744
3758
  var _this = _super.call(this) || this;
3745
3759
  _this.identifier = "PostChannel";
3746
3760
  _this.priority = 1011;
3747
- _this.version = '3.2.6';
3761
+ _this.version = '3.2.7';
3748
3762
  var _config;
3749
3763
  var _isTeardownCalled = false;
3750
3764
  var _flushCallbackQueue = [];