@kubesense/kubesense-browser-core 1.6.0 → 1.7.0
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/cjs/boot/init.js +1 -1
- package/cjs/browser/pageMayExitObservable.js +11 -0
- package/cjs/browser/pageMayExitObservable.js.map +1 -1
- package/cjs/domain/configuration/endpointBuilder.js +1 -1
- package/cjs/domain/connectivity/connectivity.d.ts +4 -0
- package/cjs/domain/connectivity/connectivity.js +3 -1
- package/cjs/domain/connectivity/connectivity.js.map +1 -1
- package/cjs/domain/tags.js +1 -1
- package/cjs/domain/telemetry/telemetry.js +1 -1
- package/esm/boot/init.js +1 -1
- package/esm/browser/pageMayExitObservable.js +11 -0
- package/esm/browser/pageMayExitObservable.js.map +1 -1
- package/esm/domain/configuration/endpointBuilder.js +1 -1
- package/esm/domain/connectivity/connectivity.d.ts +4 -0
- package/esm/domain/connectivity/connectivity.js +3 -1
- package/esm/domain/connectivity/connectivity.js.map +1 -1
- package/esm/domain/tags.js +1 -1
- package/esm/domain/telemetry/telemetry.js +1 -1
- package/package.json +2 -2
- package/src/browser/pageMayExitObservable.ts +12 -0
- package/src/domain/connectivity/connectivity.ts +7 -1
package/cjs/boot/init.js
CHANGED
|
@@ -7,7 +7,7 @@ const monitor_1 = require("../tools/monitor");
|
|
|
7
7
|
const display_1 = require("../tools/display");
|
|
8
8
|
function makePublicApi(stub) {
|
|
9
9
|
const publicApi = {
|
|
10
|
-
version: "1.
|
|
10
|
+
version: "1.7.0",
|
|
11
11
|
// This API method is intentionally not monitored, since the only thing executed is the
|
|
12
12
|
// user-provided 'callback'. All SDK usages executed in the callback should be monitored, and
|
|
13
13
|
// we don't want to interfere with the user uncaught exceptions.
|
|
@@ -33,9 +33,20 @@ function createPageMayExitObservable(configuration) {
|
|
|
33
33
|
const stopBeforeUnloadListener = (0, addEventListener_1.addEventListener)(configuration, window, "beforeunload" /* DOM_EVENT.BEFORE_UNLOAD */, () => {
|
|
34
34
|
observable.notify({ reason: exports.PageExitReason.UNLOADING });
|
|
35
35
|
}).stop;
|
|
36
|
+
/**
|
|
37
|
+
* Fires when the page is actually going away — a closed tab, a navigation,
|
|
38
|
+
* or a move into the bfcache — and unlike beforeunload it is not skipped on
|
|
39
|
+
* mobile or when the browser discards the tab. It does not fire on a plain
|
|
40
|
+
* tab switch, so it says "this page is done" in a way visibilitychange
|
|
41
|
+
* cannot.
|
|
42
|
+
*/
|
|
43
|
+
const stopPageHideListener = (0, addEventListener_1.addEventListener)(configuration, window, "pagehide" /* DOM_EVENT.PAGE_HIDE */, () => {
|
|
44
|
+
observable.notify({ reason: exports.PageExitReason.PAGEHIDE });
|
|
45
|
+
}).stop;
|
|
36
46
|
return () => {
|
|
37
47
|
stopListeners();
|
|
38
48
|
stopBeforeUnloadListener();
|
|
49
|
+
stopPageHideListener();
|
|
39
50
|
};
|
|
40
51
|
});
|
|
41
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":";;;AAkBA,
|
|
1
|
+
{"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":";;;AAkBA,kEA6CC;AAED,4CAEC;AAnED,oDAAgD;AAChD,wDAAuD;AAEvD,yDAAmF;AAEtE,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,SAAgB,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,uBAAU,CAAmB,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAA,oCAAiB,EAC/C,aAAa,EACb,MAAM,EACN,uFAA+C,EAC/C,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,IAAI,yDAAgC,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxF;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,oCAAqB,EAAE,CAAC;gBAC3C;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;QAED,MAAM,wBAAwB,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,gDAA2B,GAAG,EAAE;YACrG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP;;;;;;WAMG;QACH,MAAM,oBAAoB,GAAG,IAAA,mCAAgB,EAAC,aAAa,EAAE,MAAM,wCAAuB,GAAG,EAAE;YAC7F,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,sBAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;YAC1B,oBAAoB,EAAE,CAAA;QACxB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,OAAO,IAAA,wBAAY,EAAC,sBAAc,CAAC,CAAC,QAAQ,CAAC,MAAwB,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -45,7 +45,7 @@ function buildEndpointParameters({ clientToken, internalAnalyticsSubdomain, sour
|
|
|
45
45
|
const parameters = [
|
|
46
46
|
`ksource=${source}`,
|
|
47
47
|
`kubesense-api-key=${clientToken}`,
|
|
48
|
-
`kubesense-evp-origin-version=${encodeURIComponent("1.
|
|
48
|
+
`kubesense-evp-origin-version=${encodeURIComponent("1.7.0")}`,
|
|
49
49
|
'kubesense-evp-origin=browser',
|
|
50
50
|
`kubesense-request-id=${(0, stringUtils_1.generateUUID)()}`,
|
|
51
51
|
].concat(extraParameters);
|
|
@@ -3,12 +3,16 @@ export type EffectiveType = 'slow-2g' | '2g' | '3g' | '4g';
|
|
|
3
3
|
export interface NetworkInformation {
|
|
4
4
|
type?: NetworkInterface;
|
|
5
5
|
effectiveType?: EffectiveType;
|
|
6
|
+
rtt?: number;
|
|
7
|
+
downlink?: number;
|
|
6
8
|
saveData: boolean;
|
|
7
9
|
}
|
|
8
10
|
export interface Connectivity {
|
|
9
11
|
status: 'connected' | 'not_connected';
|
|
10
12
|
interfaces?: NetworkInterface[];
|
|
11
13
|
effective_type?: EffectiveType;
|
|
14
|
+
rtt?: number;
|
|
15
|
+
downlink?: number;
|
|
12
16
|
[key: string]: unknown;
|
|
13
17
|
}
|
|
14
18
|
export declare function getConnectivity(): Connectivity;
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getConnectivity = getConnectivity;
|
|
4
4
|
const globalObject_1 = require("../../tools/globalObject");
|
|
5
5
|
function getConnectivity() {
|
|
6
|
-
var _a;
|
|
6
|
+
var _a, _b, _c;
|
|
7
7
|
const navigator = globalObject_1.globalObject.navigator;
|
|
8
8
|
return {
|
|
9
9
|
status: navigator.onLine ? 'connected' : 'not_connected',
|
|
10
10
|
interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : ['unknown'],
|
|
11
11
|
effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,
|
|
12
|
+
rtt: (_b = navigator.connection) === null || _b === void 0 ? void 0 : _b.rtt,
|
|
13
|
+
downlink: (_c = navigator.connection) === null || _c === void 0 ? void 0 : _c.downlink,
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=connectivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../src/domain/connectivity/connectivity.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../src/domain/connectivity/connectivity.ts"],"names":[],"mappings":";;AA0BA,0CAUC;AApCD,2DAAuD;AA0BvD,SAAgB,eAAe;;IAC7B,MAAM,SAAS,GAAG,2BAAY,CAAC,SAA6B,CAAA;IAE5D,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;QACxD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,cAAc,EAAE,MAAA,SAAS,CAAC,UAAU,0CAAE,aAAa;QACnD,GAAG,EAAE,MAAA,SAAS,CAAC,UAAU,0CAAE,GAAG;QAC9B,QAAQ,EAAE,MAAA,SAAS,CAAC,UAAU,0CAAE,QAAQ;KACzC,CAAA;AACH,CAAC"}
|
package/cjs/domain/tags.js
CHANGED
|
@@ -9,7 +9,7 @@ const display_1 = require("../tools/display");
|
|
|
9
9
|
exports.TAG_SIZE_LIMIT = 200;
|
|
10
10
|
function buildTags(configuration) {
|
|
11
11
|
const { env, service, version, datacenter, sdkVersion, variant } = configuration;
|
|
12
|
-
const tags = [buildTag('sdk_version', sdkVersion !== null && sdkVersion !== void 0 ? sdkVersion : "1.
|
|
12
|
+
const tags = [buildTag('sdk_version', sdkVersion !== null && sdkVersion !== void 0 ? sdkVersion : "1.7.0")];
|
|
13
13
|
if (env) {
|
|
14
14
|
tags.push(buildTag('env', env));
|
|
15
15
|
}
|
|
@@ -109,7 +109,7 @@ function startTelemetryCollection(telemetryService, configuration, hooks, observ
|
|
|
109
109
|
type: 'telemetry',
|
|
110
110
|
date: clockNow.timeStamp,
|
|
111
111
|
service: telemetryService,
|
|
112
|
-
version: "1.
|
|
112
|
+
version: "1.7.0",
|
|
113
113
|
source: 'browser',
|
|
114
114
|
_kubesense: {
|
|
115
115
|
format_version: 2,
|
package/esm/boot/init.js
CHANGED
|
@@ -3,7 +3,7 @@ import { setDebugMode } from '../tools/monitor';
|
|
|
3
3
|
import { display } from '../tools/display';
|
|
4
4
|
export function makePublicApi(stub) {
|
|
5
5
|
const publicApi = {
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.7.0",
|
|
7
7
|
// This API method is intentionally not monitored, since the only thing executed is the
|
|
8
8
|
// user-provided 'callback'. All SDK usages executed in the callback should be monitored, and
|
|
9
9
|
// we don't want to interfere with the user uncaught exceptions.
|
|
@@ -28,9 +28,20 @@ export function createPageMayExitObservable(configuration) {
|
|
|
28
28
|
const stopBeforeUnloadListener = addEventListener(configuration, window, "beforeunload" /* DOM_EVENT.BEFORE_UNLOAD */, () => {
|
|
29
29
|
observable.notify({ reason: PageExitReason.UNLOADING });
|
|
30
30
|
}).stop;
|
|
31
|
+
/**
|
|
32
|
+
* Fires when the page is actually going away — a closed tab, a navigation,
|
|
33
|
+
* or a move into the bfcache — and unlike beforeunload it is not skipped on
|
|
34
|
+
* mobile or when the browser discards the tab. It does not fire on a plain
|
|
35
|
+
* tab switch, so it says "this page is done" in a way visibilitychange
|
|
36
|
+
* cannot.
|
|
37
|
+
*/
|
|
38
|
+
const stopPageHideListener = addEventListener(configuration, window, "pagehide" /* DOM_EVENT.PAGE_HIDE */, () => {
|
|
39
|
+
observable.notify({ reason: PageExitReason.PAGEHIDE });
|
|
40
|
+
}).stop;
|
|
31
41
|
return () => {
|
|
32
42
|
stopListeners();
|
|
33
43
|
stopBeforeUnloadListener();
|
|
44
|
+
stopPageHideListener();
|
|
34
45
|
};
|
|
35
46
|
});
|
|
36
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAa,MAAM,oBAAoB,CAAA;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,MAAM,UAAU,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,UAAU,CAAmB,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAC/C,aAAa,EACb,MAAM,EACN,uFAA+C,EAC/C,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,IAAI,yDAAgC,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxF;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,oCAAqB,EAAE,CAAC;gBAC3C;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;QAED,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,gDAA2B,GAAG,EAAE;YACrG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"pageMayExitObservable.js","sourceRoot":"","sources":["../../src/browser/pageMayExitObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAa,MAAM,oBAAoB,CAAA;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,aAAa;CACb,CAAA;AAQV,MAAM,UAAU,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,UAAU,CAAmB,CAAC,UAAU,EAAE,EAAE;QACrD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAC/C,aAAa,EACb,MAAM,EACN,uFAA+C,EAC/C,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,IAAI,yDAAgC,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxF;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,oCAAqB,EAAE,CAAC;gBAC3C;;;mBAGG;gBACH,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;QAED,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,gDAA2B,GAAG,EAAE;YACrG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP;;;;;;WAMG;QACH,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,wCAAuB,GAAG,EAAE;YAC7F,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAC,IAAI,CAAA;QAEP,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;YACf,wBAAwB,EAAE,CAAA;YAC1B,oBAAoB,EAAE,CAAA;QACxB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAwB,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -41,7 +41,7 @@ function buildEndpointParameters({ clientToken, internalAnalyticsSubdomain, sour
|
|
|
41
41
|
const parameters = [
|
|
42
42
|
`ksource=${source}`,
|
|
43
43
|
`kubesense-api-key=${clientToken}`,
|
|
44
|
-
`kubesense-evp-origin-version=${encodeURIComponent("1.
|
|
44
|
+
`kubesense-evp-origin-version=${encodeURIComponent("1.7.0")}`,
|
|
45
45
|
'kubesense-evp-origin=browser',
|
|
46
46
|
`kubesense-request-id=${generateUUID()}`,
|
|
47
47
|
].concat(extraParameters);
|
|
@@ -3,12 +3,16 @@ export type EffectiveType = 'slow-2g' | '2g' | '3g' | '4g';
|
|
|
3
3
|
export interface NetworkInformation {
|
|
4
4
|
type?: NetworkInterface;
|
|
5
5
|
effectiveType?: EffectiveType;
|
|
6
|
+
rtt?: number;
|
|
7
|
+
downlink?: number;
|
|
6
8
|
saveData: boolean;
|
|
7
9
|
}
|
|
8
10
|
export interface Connectivity {
|
|
9
11
|
status: 'connected' | 'not_connected';
|
|
10
12
|
interfaces?: NetworkInterface[];
|
|
11
13
|
effective_type?: EffectiveType;
|
|
14
|
+
rtt?: number;
|
|
15
|
+
downlink?: number;
|
|
12
16
|
[key: string]: unknown;
|
|
13
17
|
}
|
|
14
18
|
export declare function getConnectivity(): Connectivity;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { globalObject } from '../../tools/globalObject';
|
|
2
2
|
export function getConnectivity() {
|
|
3
|
-
var _a;
|
|
3
|
+
var _a, _b, _c;
|
|
4
4
|
const navigator = globalObject.navigator;
|
|
5
5
|
return {
|
|
6
6
|
status: navigator.onLine ? 'connected' : 'not_connected',
|
|
7
7
|
interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : ['unknown'],
|
|
8
8
|
effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,
|
|
9
|
+
rtt: (_b = navigator.connection) === null || _b === void 0 ? void 0 : _b.rtt,
|
|
10
|
+
downlink: (_c = navigator.connection) === null || _c === void 0 ? void 0 : _c.downlink,
|
|
9
11
|
};
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=connectivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../src/domain/connectivity/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"connectivity.js","sourceRoot":"","sources":["../../../src/domain/connectivity/connectivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AA0BvD,MAAM,UAAU,eAAe;;IAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,SAA6B,CAAA;IAE5D,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;QACxD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,cAAc,EAAE,MAAA,SAAS,CAAC,UAAU,0CAAE,aAAa;QACnD,GAAG,EAAE,MAAA,SAAS,CAAC,UAAU,0CAAE,GAAG;QAC9B,QAAQ,EAAE,MAAA,SAAS,CAAC,UAAU,0CAAE,QAAQ;KACzC,CAAA;AACH,CAAC"}
|
package/esm/domain/tags.js
CHANGED
|
@@ -2,7 +2,7 @@ import { DOCS_ORIGIN, MORE_DETAILS, display } from '../tools/display';
|
|
|
2
2
|
export const TAG_SIZE_LIMIT = 200;
|
|
3
3
|
export function buildTags(configuration) {
|
|
4
4
|
const { env, service, version, datacenter, sdkVersion, variant } = configuration;
|
|
5
|
-
const tags = [buildTag('sdk_version', sdkVersion !== null && sdkVersion !== void 0 ? sdkVersion : "1.
|
|
5
|
+
const tags = [buildTag('sdk_version', sdkVersion !== null && sdkVersion !== void 0 ? sdkVersion : "1.7.0")];
|
|
6
6
|
if (env) {
|
|
7
7
|
tags.push(buildTag('env', env));
|
|
8
8
|
}
|
|
@@ -96,7 +96,7 @@ export function startTelemetryCollection(telemetryService, configuration, hooks,
|
|
|
96
96
|
type: 'telemetry',
|
|
97
97
|
date: clockNow.timeStamp,
|
|
98
98
|
service: telemetryService,
|
|
99
|
-
version: "1.
|
|
99
|
+
version: "1.7.0",
|
|
100
100
|
source: 'browser',
|
|
101
101
|
_kubesense: {
|
|
102
102
|
format_version: 2,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubesense/kubesense-browser-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Core utilities shared across the Kubesense Browser SDK (session management, transport, configuration, and context).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "4fbd31e2193c63405fc075f032f4d0d6a16c1baf"
|
|
39
39
|
}
|
|
@@ -44,9 +44,21 @@ export function createPageMayExitObservable(configuration: Configuration): Obser
|
|
|
44
44
|
observable.notify({ reason: PageExitReason.UNLOADING })
|
|
45
45
|
}).stop
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Fires when the page is actually going away — a closed tab, a navigation,
|
|
49
|
+
* or a move into the bfcache — and unlike beforeunload it is not skipped on
|
|
50
|
+
* mobile or when the browser discards the tab. It does not fire on a plain
|
|
51
|
+
* tab switch, so it says "this page is done" in a way visibilitychange
|
|
52
|
+
* cannot.
|
|
53
|
+
*/
|
|
54
|
+
const stopPageHideListener = addEventListener(configuration, window, DOM_EVENT.PAGE_HIDE, () => {
|
|
55
|
+
observable.notify({ reason: PageExitReason.PAGEHIDE })
|
|
56
|
+
}).stop
|
|
57
|
+
|
|
47
58
|
return () => {
|
|
48
59
|
stopListeners()
|
|
49
60
|
stopBeforeUnloadListener()
|
|
61
|
+
stopPageHideListener()
|
|
50
62
|
}
|
|
51
63
|
})
|
|
52
64
|
}
|
|
@@ -10,6 +10,8 @@ interface BrowserNavigator extends Navigator {
|
|
|
10
10
|
export interface NetworkInformation {
|
|
11
11
|
type?: NetworkInterface
|
|
12
12
|
effectiveType?: EffectiveType
|
|
13
|
+
rtt?: number
|
|
14
|
+
downlink?: number
|
|
13
15
|
saveData: boolean
|
|
14
16
|
}
|
|
15
17
|
|
|
@@ -17,15 +19,19 @@ export interface Connectivity {
|
|
|
17
19
|
status: 'connected' | 'not_connected'
|
|
18
20
|
interfaces?: NetworkInterface[]
|
|
19
21
|
effective_type?: EffectiveType
|
|
22
|
+
rtt?: number
|
|
23
|
+
downlink?: number
|
|
20
24
|
[key: string]: unknown
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
export function getConnectivity(): Connectivity {
|
|
24
28
|
const navigator = globalObject.navigator as BrowserNavigator
|
|
25
|
-
|
|
29
|
+
|
|
26
30
|
return {
|
|
27
31
|
status: navigator.onLine ? 'connected' : 'not_connected',
|
|
28
32
|
interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : ['unknown'],
|
|
29
33
|
effective_type: navigator.connection?.effectiveType,
|
|
34
|
+
rtt: navigator.connection?.rtt,
|
|
35
|
+
downlink: navigator.connection?.downlink,
|
|
30
36
|
}
|
|
31
37
|
}
|