countly-sdk-web
Advanced tools
Comparing version 23.2.2 to 23.6.0
@@ -0,1 +1,7 @@ | ||
## 23.6.0 | ||
- Added a new flag, 'loadAPMScriptsAsync', which can load the APM related scripts automatically for Async implementations | ||
- Adding SDK health check requests after init | ||
- Adding remaining request queue size information to every request | ||
- Fixed a bug where unnecessary device ID merge information was sent to the server | ||
## 23.2.2 | ||
@@ -2,0 +8,0 @@ - Default max segmentation value count changed from 30 to 100 |
@@ -12,3 +12,3 @@ module.exports = { | ||
"cypress/assertion-before-screenshot": "warn", | ||
"cypress/unsafe-to-chain-command": "warn", | ||
"cypress/unsafe-to-chain-command": "off", | ||
"cypress/no-force": "warn", | ||
@@ -15,0 +15,0 @@ "cypress/no-async-tests": "error", |
@@ -24,6 +24,6 @@ /* eslint-disable require-jsdoc */ | ||
const dummyQueue = [ | ||
{ begin_session: 1, metrics: "{\"_app_version\":\"0.0\",\"_ua\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0\",\"_resolution\":\"1568x882\",\"_density\":1.2244897959183674,\"_locale\":\"en-US\"}", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909864950, hour: 10, dow: 2 }, | ||
{ events: "[{\"key\":\"[CLY]_orientation\",\"count\":1,\"segmentation\":{\"mode\":\"portrait\"},\"timestamp\":1644909864949,\"hour\":10,\"dow\":2}]", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909864958, hour: 10, dow: 2 }, | ||
{ session_duration: 4, metrics: "{\"_ua\":\"hey\"}", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909868015, hour: 10, dow: 2 }, | ||
{ end_session: 1, session_duration: 10, metrics: "{\"_ua\":\"hey\"}", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909869459, hour: 10, dow: 2 } | ||
{ begin_session: 1, metrics: "{\"_app_version\":\"0.0\",\"_ua\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0\",\"_resolution\":\"1568x882\",\"_density\":1.2244897959183674,\"_locale\":\"en-US\"}", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909864950, hour: 10, dow: 2, t: 1, rr: 0 }, | ||
{ events: "[{\"key\":\"[CLY]_orientation\",\"count\":1,\"segmentation\":{\"mode\":\"portrait\"},\"timestamp\":1644909864949,\"hour\":10,\"dow\":2}]", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909864958, hour: 10, dow: 2, t: 1, rr: 0 }, | ||
{ session_duration: 4, metrics: "{\"_ua\":\"hey\"}", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909868015, hour: 10, dow: 2, t: 1, rr: 0 }, | ||
{ end_session: 1, session_duration: 10, metrics: "{\"_ua\":\"hey\"}", app_key: "YOUR_APP_KEY", device_id: "55669b9b-f9d7-4ed5-bc77-ec5ebb65ddd8", sdk_name: "javascript_native_web", sdk_version: "21.11.0", timestamp: 1644909869459, hour: 10, dow: 2, t: 1, rr: 0 } | ||
]; | ||
@@ -30,0 +30,0 @@ |
@@ -34,2 +34,3 @@ import "./index"; | ||
expect(testObject.sdk_version).to.be.ok; | ||
expect(testObject.t).to.be.within(0, 3); | ||
const metrics = JSON.parse(testObject.metrics); | ||
@@ -36,0 +37,0 @@ expect(metrics._ua).to.be.ok; |
@@ -51,2 +51,26 @@ var Countly = require("../../lib/countly"); | ||
/** | ||
* This intercepts the request the SDK makes and returns the request parameters to the callback function | ||
* @param {String} requestType - GET, POST, PUT, DELETE | ||
* @param {String} requestUrl - request url (https://try.count.ly) | ||
* @param {String} endPoint - endpoint (/i) | ||
* @param {String} requestParams - request parameters (?begin_session=**) | ||
* @param {String} alias - alias for the request | ||
* @param {Function} callback - callback function | ||
*/ | ||
function interceptAndCheckRequests(requestType, requestUrl, endPoint, requestParams, alias, callback) { | ||
requestType = requestType || "GET"; | ||
requestUrl = requestUrl || "https://try.count.ly"; // TODO: might be needed in the future but not yet | ||
endPoint = endPoint || "/i"; | ||
requestParams = requestParams || "?**"; | ||
alias = alias || "getXhr"; | ||
cy.intercept(requestType, endPoint + requestParams).as(alias); | ||
cy.wait("@" + alias).then((xhr) => { | ||
const url = new URL(xhr.request.url); | ||
const searchParams = url.searchParams; | ||
callback(searchParams); | ||
}); | ||
} | ||
// gathered events. count and segmentation key/values must be consistent | ||
@@ -196,3 +220,4 @@ const eventArray = [ | ||
eventArray, | ||
testNormalFlow | ||
testNormalFlow, | ||
interceptAndCheckRequests | ||
}; |
@@ -6,3 +6,3 @@ { | ||
"dependencies": { | ||
"countly-sdk-web": "^23.2.2" | ||
"countly-sdk-web": "^23.6.0" | ||
}, | ||
@@ -9,0 +9,0 @@ "devDependencies": { |
{ | ||
"name": "countly-sdk-web", | ||
"version": "23.2.2", | ||
"version": "23.6.0", | ||
"description": "Countly Web SDK", | ||
@@ -44,3 +44,3 @@ "main": "lib/countly.js", | ||
"jsdoc": "^4.0.2", | ||
"markdownlint": "^0.28.0", | ||
"markdownlint": "^0.29.0", | ||
"stylelint": "14.9.1", | ||
@@ -47,0 +47,0 @@ "stylelint-config-standard": "28.0.0" |
@@ -9,3 +9,3 @@ "use strict"; | ||
(function cly_load_track_performance() { | ||
Countly = Countly || {}; // eslint-disable-line no-global-assign | ||
var Countly = Countly || {}; | ||
Countly.onload = Countly.onload || []; | ||
@@ -15,3 +15,3 @@ if (typeof Countly.CountlyClass === "undefined") { | ||
cly_load_track_performance(); | ||
if (!Countly.track_performance) { | ||
if (!Countly.track_performance && Countly.i) { | ||
Countly.track_performance = Countly.i[Countly.app_key].track_performance; | ||
@@ -28,3 +28,23 @@ } | ||
var self = this; | ||
config = config || {}; | ||
config = config || { | ||
// page load timing | ||
RT: {}, | ||
// required for automated networking traces | ||
instrument_xhr: true, | ||
captureXhrRequestResponse: true, | ||
AutoXHR: { | ||
alwaysSendXhr: true, | ||
monitorFetch: true, | ||
captureXhrRequestResponse: true | ||
}, | ||
// required for screen freeze traces | ||
Continuity: { | ||
enabled: true, | ||
monitorLongTasks: true, | ||
monitorPageBusy: true, | ||
monitorFrameRate: true, | ||
monitorInteractions: true, | ||
afterOnload: true | ||
} | ||
}; | ||
var initedBoomr = false; | ||
@@ -31,0 +51,0 @@ /** |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
2585562
137
12891