countly-sdk-web
Advanced tools
Comparing version 23.12.6 to 24.4.0
@@ -0,1 +1,8 @@ | ||
## 24.4.0 | ||
! Minor breaking change ! For implementations using `salt` the browser compatability is tied to SubtleCrypto's `digest` method support | ||
- Added the `salt` init config flag to add checksums to requests (for secure contexts only) | ||
- Improved Health Check feature stability | ||
- Added support for Feedback Widget terms and conditions | ||
## 23.12.6 | ||
@@ -2,0 +9,0 @@ - Mitigated an issue where error tracking could prevent SDK initialization in async mode |
@@ -19,3 +19,3 @@ /* eslint-disable cypress/no-unnecessary-waiting */ | ||
const SDK_NAME = "javascript_native_web"; | ||
const SDK_VERSION = "23.12.6"; | ||
const SDK_VERSION = "24.4.0"; | ||
@@ -22,0 +22,0 @@ // tests |
@@ -24,3 +24,3 @@ /* eslint-disable require-jsdoc */ | ||
const hcParamObj = JSON.parse(hcParam); | ||
expect(hcParamObj).to.eql({ el: 0, wl: 0, sc: -1, em: "\"\"" }); | ||
expect(hcParamObj).to.eql({ el: 0, wl: 0, sc: -1, em: "" }); | ||
@@ -27,0 +27,0 @@ // Test the 'metrics' parameter |
@@ -275,2 +275,42 @@ var Countly = require("../../lib/countly"); | ||
/** | ||
* Check common params for all requests | ||
* @param {Object} paramsObject - object from search string | ||
*/ | ||
function check_commons(paramsObject) { | ||
expect(paramsObject.timestamp).to.be.ok; | ||
expect(paramsObject.timestamp.toString().length).to.equal(13); | ||
expect(paramsObject.hour).to.be.within(0, 23); | ||
expect(paramsObject.dow).to.be.within(0, 7); | ||
expect(paramsObject.app_key).to.equal(appKey); | ||
expect(paramsObject.device_id).to.be.ok; | ||
expect(paramsObject.sdk_name).to.equal("javascript_native_web"); | ||
expect(paramsObject.sdk_version).to.be.ok; | ||
expect(paramsObject.t).to.be.within(0, 3); | ||
expect(paramsObject.av).to.equal(0); // av is 0 as we parsed parsable things | ||
if (!paramsObject.hc) { // hc is direct request | ||
expect(paramsObject.rr).to.be.above(-1); | ||
} | ||
expect(paramsObject.metrics._ua).to.be.ok; | ||
} | ||
/** | ||
* Turn search string into object with values parsed | ||
* @param {String} searchString - search string | ||
* @returns {object} - object from search string | ||
*/ | ||
function turnSearchStringToObject(searchString) { | ||
const searchParams = new URLSearchParams(searchString); | ||
const paramsObject = {}; | ||
for (const [key, value] of searchParams.entries()) { | ||
try { | ||
paramsObject[key] = JSON.parse(decodeURIComponent(value)); // try to parse value | ||
} | ||
catch (e) { | ||
paramsObject[key] = decodeURIComponent(value); | ||
} | ||
} | ||
return paramsObject; | ||
} | ||
module.exports = { | ||
@@ -289,3 +329,5 @@ haltAndClearStorage, | ||
validateDefaultUtmTags, | ||
userDetailObj | ||
userDetailObj, | ||
check_commons, | ||
turnSearchStringToObject | ||
}; |
{ | ||
"name": "countly-sdk-web", | ||
"version": "23.12.6", | ||
"version": "24.4.0", | ||
"description": "Countly Web SDK", | ||
@@ -5,0 +5,0 @@ "main": "lib/countly.js", |
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
1257181
114
13699