@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.
- package/README.md +4 -1
- package/bundle/{ms.post-3.2.6.gbl.js → ms.post-3.2.7.gbl.js} +44 -30
- package/bundle/ms.post-3.2.7.gbl.js.map +1 -0
- package/bundle/ms.post-3.2.7.gbl.min.js +7 -0
- package/bundle/{ms.post-3.2.6.gbl.min.js.map → ms.post-3.2.7.gbl.min.js.map} +1 -1
- package/bundle/ms.post-3.2.7.integrity.json +46 -0
- package/bundle/{ms.post-3.2.6.js → ms.post-3.2.7.js} +44 -30
- package/bundle/ms.post-3.2.7.js.map +1 -0
- package/bundle/ms.post-3.2.7.min.js +7 -0
- package/bundle/{ms.post-3.2.6.min.js.map → ms.post-3.2.7.min.js.map} +1 -1
- package/bundle/ms.post.gbl.js +43 -29
- package/bundle/ms.post.gbl.js.map +1 -1
- package/bundle/ms.post.gbl.min.js +2 -2
- package/bundle/ms.post.gbl.min.js.map +1 -1
- package/bundle/ms.post.integrity.json +17 -17
- package/bundle/ms.post.js +43 -29
- package/bundle/ms.post.js.map +1 -1
- package/bundle/ms.post.min.js +2 -2
- package/bundle/ms.post.min.js.map +1 -1
- package/dist/ms.post.js +41 -27
- package/dist/ms.post.js.map +1 -1
- package/dist/ms.post.min.js +2 -2
- package/dist/ms.post.min.js.map +1 -1
- package/dist-esm/src/BatchNotificationActions.js +1 -1
- package/dist-esm/src/ClockSkewManager.js +1 -1
- package/dist-esm/src/DataModels.d.ts +19 -3
- package/dist-esm/src/DataModels.js +1 -1
- package/dist-esm/src/EventBatch.js +1 -1
- package/dist-esm/src/HttpManager.js +39 -24
- package/dist-esm/src/HttpManager.js.map +1 -1
- package/dist-esm/src/Index.js +1 -1
- package/dist-esm/src/InternalConstants.js +1 -1
- package/dist-esm/src/KillSwitch.js +1 -1
- package/dist-esm/src/PostChannel.js +2 -2
- package/dist-esm/src/PostChannel.js.map +1 -1
- package/dist-esm/src/RetryPolicy.js +1 -1
- package/dist-esm/src/Serializer.d.ts +3 -3
- package/dist-esm/src/Serializer.js +3 -3
- package/dist-esm/src/Serializer.js.map +1 -1
- package/dist-esm/src/TimeoutOverrideWrapper.js +1 -1
- package/dist-esm/src/typings/XDomainRequest.js +1 -1
- package/package.json +2 -2
- package/src/DataModels.ts +19 -0
- package/src/HttpManager.ts +47 -26
- package/src/Serializer.ts +10 -10
- package/bundle/ms.post-3.2.6.gbl.js.map +0 -1
- package/bundle/ms.post-3.2.6.gbl.min.js +0 -7
- package/bundle/ms.post-3.2.6.integrity.json +0 -46
- package/bundle/ms.post-3.2.6.js.map +0 -1
- package/bundle/ms.post-3.2.6.min.js +0 -7
package/dist/ms.post.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* 1DS JS SDK POST plugin, 3.2.
|
|
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
|
*/
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
var _theSanitizer = valueSanitizer;
|
|
232
232
|
var _isReservedCache = {};
|
|
233
233
|
dynamicProto__default(Serializer, this, function (_self) {
|
|
234
|
-
_self.createPayload = function (retryCnt, isTeardown, isSync,
|
|
234
|
+
_self.createPayload = function (retryCnt, isTeardown, isSync, isReducedPayload, sendReason, sendType) {
|
|
235
235
|
return {
|
|
236
236
|
apiKeys: [],
|
|
237
237
|
payloadBlob: "",
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
retryCnt: retryCnt,
|
|
244
244
|
isTeardown: isTeardown,
|
|
245
245
|
isSync: isSync,
|
|
246
|
-
isBeacon:
|
|
246
|
+
isBeacon: isReducedPayload,
|
|
247
247
|
sendType: sendType,
|
|
248
248
|
sendReason: sendReason
|
|
249
249
|
};
|
|
@@ -521,6 +521,17 @@
|
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
523
|
}
|
|
524
|
+
function _prependTransports(theTransports, newTransports) {
|
|
525
|
+
if (newTransports) {
|
|
526
|
+
if (_1dsCoreJs.isNumber(newTransports)) {
|
|
527
|
+
theTransports = [newTransports].concat(theTransports);
|
|
528
|
+
}
|
|
529
|
+
else if (_1dsCoreJs.isArray(newTransports)) {
|
|
530
|
+
theTransports = newTransports.concat(theTransports);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
return theTransports;
|
|
534
|
+
}
|
|
524
535
|
var HttpManager = /** @class */ (function () {
|
|
525
536
|
function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions, timeoutOverride) {
|
|
526
537
|
this._responseHandlers = [];
|
|
@@ -545,6 +556,8 @@
|
|
|
545
556
|
var _useHeaders = false;
|
|
546
557
|
var _xhrTimeout;
|
|
547
558
|
var _disableXhrSync;
|
|
559
|
+
var _disableFetchKeepAlive;
|
|
560
|
+
var _canHaveReducedPayload;
|
|
548
561
|
dynamicProto__default(HttpManager, this, function (_self) {
|
|
549
562
|
var _sendCredentials = true;
|
|
550
563
|
_self.initialize = function (endpointUrl, core, postChannel, httpInterface, channelConfig) {
|
|
@@ -566,12 +579,17 @@
|
|
|
566
579
|
enableCompoundKey = !!channelConfig.enableCompoundKey;
|
|
567
580
|
}
|
|
568
581
|
_xhrTimeout = channelConfig.xhrTimeout;
|
|
569
|
-
_disableXhrSync = channelConfig.disableXhrSync;
|
|
582
|
+
_disableXhrSync = !!channelConfig.disableXhrSync;
|
|
583
|
+
_disableFetchKeepAlive = !!channelConfig.disableFetchKeepAlive;
|
|
570
584
|
_useBeacons = !_1dsCoreJs.isReactNative();
|
|
571
585
|
_serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey);
|
|
586
|
+
if (!_1dsCoreJs.isNullOrUndefined(channelConfig.useSendBeacon)) {
|
|
587
|
+
_useBeacons = !!channelConfig.useSendBeacon;
|
|
588
|
+
}
|
|
572
589
|
var syncHttpInterface = httpInterface;
|
|
573
590
|
var beaconHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
|
|
574
591
|
var fetchSyncHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
|
|
592
|
+
var beaconUnloadTransports = [3 , 2 ];
|
|
575
593
|
if (!httpInterface) {
|
|
576
594
|
_customHttpInterface = false;
|
|
577
595
|
var location_1 = _1dsCoreJs.getLocation();
|
|
@@ -581,29 +599,27 @@
|
|
|
581
599
|
var theTransports = [];
|
|
582
600
|
if (_1dsCoreJs.isReactNative()) {
|
|
583
601
|
theTransports = [2 , 1 ];
|
|
602
|
+
beaconUnloadTransports = [2 , 1 , 3 ];
|
|
584
603
|
}
|
|
585
604
|
else {
|
|
586
605
|
theTransports = [1 , 2 , 3 ];
|
|
587
606
|
}
|
|
588
|
-
|
|
589
|
-
if (configTransports) {
|
|
590
|
-
if (_1dsCoreJs.isNumber(configTransports)) {
|
|
591
|
-
theTransports = [configTransports].concat(theTransports);
|
|
592
|
-
}
|
|
593
|
-
else if (_1dsCoreJs.isArray(configTransports)) {
|
|
594
|
-
theTransports = configTransports.concat(theTransports);
|
|
595
|
-
}
|
|
596
|
-
}
|
|
607
|
+
theTransports = _prependTransports(theTransports, channelConfig.transports);
|
|
597
608
|
httpInterface = _getSenderInterface(theTransports, false);
|
|
598
|
-
syncHttpInterface = _getSenderInterface(theTransports, true);
|
|
599
609
|
if (!httpInterface) {
|
|
600
610
|
_1dsCoreJs._warnToConsole(_logger, "No available transport to send events");
|
|
601
611
|
}
|
|
612
|
+
syncHttpInterface = _getSenderInterface(theTransports, true);
|
|
602
613
|
}
|
|
614
|
+
if (!beaconHttpInterface) {
|
|
615
|
+
beaconUnloadTransports = _prependTransports(beaconUnloadTransports, channelConfig.unloadTransports);
|
|
616
|
+
beaconHttpInterface = _getSenderInterface(beaconUnloadTransports, true);
|
|
617
|
+
}
|
|
618
|
+
_canHaveReducedPayload = !_customHttpInterface && ((_useBeacons && _1dsCoreJs.isBeaconsSupported()) || (!_disableFetchKeepAlive && _1dsCoreJs.isFetchSupported(true)));
|
|
603
619
|
_sendInterfaces = (_a = {},
|
|
604
620
|
_a[0 ] = httpInterface,
|
|
605
621
|
_a[1 ] = syncHttpInterface || _getSenderInterface([1 , 2 , 3 ], true),
|
|
606
|
-
_a[2 ] = beaconHttpInterface ||
|
|
622
|
+
_a[2 ] = beaconHttpInterface || syncHttpInterface || _getSenderInterface([1 ], true),
|
|
607
623
|
_a[3 ] = fetchSyncHttpInterface || _getSenderInterface([2 , 3 ], true) || syncHttpInterface || _getSenderInterface([1 ], true),
|
|
608
624
|
_a);
|
|
609
625
|
};
|
|
@@ -621,7 +637,7 @@
|
|
|
621
637
|
sendPostFunc = _xhrSendPost;
|
|
622
638
|
}
|
|
623
639
|
}
|
|
624
|
-
else if (transportType === 2 && _1dsCoreJs.isFetchSupported(syncSupport)) {
|
|
640
|
+
else if (transportType === 2 && _1dsCoreJs.isFetchSupported(syncSupport) && (!syncSupport || (syncSupport && !_disableFetchKeepAlive))) {
|
|
625
641
|
sendPostFunc = _fetchSendPost;
|
|
626
642
|
}
|
|
627
643
|
else if (_useBeacons && transportType === 3 && _1dsCoreJs.isBeaconsSupported()) {
|
|
@@ -945,12 +961,13 @@
|
|
|
945
961
|
var thePayload = null;
|
|
946
962
|
var serializationStart = _1dsCoreJs.getTime();
|
|
947
963
|
var sendInterface = _sendInterfaces[sendType] || (isSynchronous_1 ? _sendInterfaces[1 ] : _sendInterfaces[0 ]);
|
|
948
|
-
var
|
|
964
|
+
var sendTransport = sendInterface && sendInterface._transport;
|
|
965
|
+
var isReducedPayload = _canHaveReducedPayload && (_isUnloading || _isBeaconPayload(sendType) || (sendTransport === 3 || (sendInterface._isSync && sendTransport === 2 )));
|
|
949
966
|
while (_canSendPayload(theBatches, sendType, retryCount)) {
|
|
950
967
|
var theBatch = theBatches.shift();
|
|
951
968
|
if (theBatch && theBatch.count() > 0) {
|
|
952
969
|
if (!_killSwitch.isTenantKilled(theBatch.iKey())) {
|
|
953
|
-
thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1,
|
|
970
|
+
thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1, isReducedPayload, sendReason, sendType);
|
|
954
971
|
if (!_serializer.appendPayload(thePayload, theBatch, maxEventsPerBatch)) {
|
|
955
972
|
_doPayloadSend(thePayload, serializationStart, _1dsCoreJs.getTime(), sendReason);
|
|
956
973
|
serializationStart = _1dsCoreJs.getTime();
|
|
@@ -1033,9 +1050,6 @@
|
|
|
1033
1050
|
}
|
|
1034
1051
|
return requestDetails;
|
|
1035
1052
|
}
|
|
1036
|
-
function _canUseSendBeaconApi() {
|
|
1037
|
-
return !_customHttpInterface && _useBeacons && _1dsCoreJs.isBeaconsSupported();
|
|
1038
|
-
}
|
|
1039
1053
|
function _setTimingValue(timings, name, value) {
|
|
1040
1054
|
timings[name] = timings[name] || {};
|
|
1041
1055
|
timings[name][_postManager.identifier] = value;
|
|
@@ -1076,11 +1090,10 @@
|
|
|
1076
1090
|
headers: requestDetails_1.hdrs,
|
|
1077
1091
|
_thePayload: thePayload,
|
|
1078
1092
|
_sendReason: sendReason,
|
|
1079
|
-
timeout: _xhrTimeout
|
|
1093
|
+
timeout: _xhrTimeout,
|
|
1094
|
+
disableXhrSync: _disableXhrSync,
|
|
1095
|
+
disableFetchKeepAlive: _disableFetchKeepAlive
|
|
1080
1096
|
};
|
|
1081
|
-
if (!_1dsCoreJs.isUndefined(_disableXhrSync)) {
|
|
1082
|
-
orgPayloadData.disableXhrSync = !!_disableXhrSync;
|
|
1083
|
-
}
|
|
1084
1097
|
if (useHeaders_1) {
|
|
1085
1098
|
if (!_hasHeader(orgPayloadData.headers, STR_CACHE_CONTROL)) {
|
|
1086
1099
|
orgPayloadData.headers[STR_CACHE_CONTROL] = DEFAULT_CACHE_CONTROL;
|
|
@@ -1120,7 +1133,8 @@
|
|
|
1120
1133
|
urlString: orgPayloadData.urlString,
|
|
1121
1134
|
headers: _1dsCoreJs.extend({}, orgPayloadData.headers),
|
|
1122
1135
|
timeout: orgPayloadData.timeout,
|
|
1123
|
-
disableXhrSync: orgPayloadData.disableXhrSync
|
|
1136
|
+
disableXhrSync: orgPayloadData.disableXhrSync,
|
|
1137
|
+
disableFetchKeepAlive: orgPayloadData.disableFetchKeepAlive
|
|
1124
1138
|
};
|
|
1125
1139
|
var senderCalled_1 = false;
|
|
1126
1140
|
_1dsCoreJs.doPerf(_core, function () { return "HttpManager:_doPayloadSend.sendHook"; }, function () {
|
|
@@ -1390,7 +1404,7 @@
|
|
|
1390
1404
|
var _this = _super.call(this) || this;
|
|
1391
1405
|
_this.identifier = "PostChannel";
|
|
1392
1406
|
_this.priority = 1011;
|
|
1393
|
-
_this.version = '3.2.
|
|
1407
|
+
_this.version = '3.2.7';
|
|
1394
1408
|
var _config;
|
|
1395
1409
|
var _isTeardownCalled = false;
|
|
1396
1410
|
var _flushCallbackQueue = [];
|