From 0c4d649bcd564a4a18de771dbac81980568aeb11 Mon Sep 17 00:00:00 2001 From: alexander Date: Wed, 8 May 2024 15:19:27 +0200 Subject: [PATCH 1/3] Missing session id #357 --- .changeset/fresh-numbers-sin.md | 5 +++++ .../src/__tests__/web/sessionStorage.test.ts | 21 ++++++++++++++++++- .../utils/src/web/session/sessionStorage.ts | 6 +++--- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 .changeset/fresh-numbers-sin.md diff --git a/.changeset/fresh-numbers-sin.md b/.changeset/fresh-numbers-sin.md new file mode 100644 index 00000000..2d09a4bd --- /dev/null +++ b/.changeset/fresh-numbers-sin.md @@ -0,0 +1,5 @@ +--- +'@elbwalker/utils': patch +--- + +Missing session id #357 diff --git a/packages/utils/src/__tests__/web/sessionStorage.test.ts b/packages/utils/src/__tests__/web/sessionStorage.test.ts index e9c34239..9a3344a0 100644 --- a/packages/utils/src/__tests__/web/sessionStorage.test.ts +++ b/packages/utils/src/__tests__/web/sessionStorage.test.ts @@ -29,7 +29,7 @@ describe('SessionStorage', () => { test('Regular first session', () => { // Reload with marketing parameter - expect(sessionStorage({})).toStrictEqual({ + expect(sessionStorage()).toStrictEqual({ isStart: true, storage: true, id: expect.any(String), @@ -78,6 +78,25 @@ describe('SessionStorage', () => { }); }); + test('New storage session only', () => { + // Using window only wouldn't detect a new session + window.performance.getEntriesByType = jest + .fn() + .mockReturnValue([{ type: 'reload' }]); + + const session = sessionStorage(); + expect(session).toStrictEqual( + expect.objectContaining({ + isStart: true, + id: expect.any(String), + device: expect.any(String), + }), + ); + + expect(session.device).toHaveLength(8); + expect(session.id).toHaveLength(12); + }); + test('Existing expired session', () => { let now = Date.now(); const yesterday = now - 1000 * 60 * 60 * 24; // 24 hours ago diff --git a/packages/utils/src/web/session/sessionStorage.ts b/packages/utils/src/web/session/sessionStorage.ts index 5405e966..eaa59fc1 100644 --- a/packages/utils/src/web/session/sessionStorage.ts +++ b/packages/utils/src/web/session/sessionStorage.ts @@ -34,14 +34,14 @@ export function sessionStorage(config: SessionStorageConfig = {}): SessionData { const device: string | undefined = tryCatch( (key: string, age: number, storage: StorageType) => { // Get existing device Id - let id = String(storageRead(key, storage)); + let id = storageRead(key, storage); if (!id) { id = getId(8); // Create a new device Id storageWrite(key, id, age, storage); // Write device Id to storage } - return id; + return String(id); }, )(deviceKey, deviceAge, deviceStorage); @@ -89,7 +89,7 @@ export function sessionStorage(config: SessionStorageConfig = {}): SessionData { let session: SessionData = { isStart: isStart, storage: true, - id: '', // Will be generated by sessionStart + id: getId(12), start: now, updated: now, isNew: true, From e20780771836984dbff915660c8a89f072eaae02 Mon Sep 17 00:00:00 2001 From: alexander Date: Wed, 8 May 2024 15:29:02 +0200 Subject: [PATCH 2/3] reset mock --- packages/utils/src/__tests__/web/sessionStorage.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/utils/src/__tests__/web/sessionStorage.test.ts b/packages/utils/src/__tests__/web/sessionStorage.test.ts index 9a3344a0..eb2affa0 100644 --- a/packages/utils/src/__tests__/web/sessionStorage.test.ts +++ b/packages/utils/src/__tests__/web/sessionStorage.test.ts @@ -19,6 +19,9 @@ describe('SessionStorage', () => { jest.resetModules(); jest.useFakeTimers(); + mockStorageWrite.mockReset(); + mockStorageRead.mockReset(); + Object.defineProperty(w, 'performance', { value: { getEntriesByType: jest.fn().mockReturnValue([{ type: 'navigate' }]), From 2773a91bbce51f2cf018374809503190cf4e55e4 Mon Sep 17 00:00:00 2001 From: alexander Date: Tue, 14 May 2024 11:05:08 +0200 Subject: [PATCH 3/3] utils v3.1.2 release --- .changeset/fresh-numbers-sin.md | 5 ----- packages/clients/node/CHANGELOG.md | 7 +++++++ packages/clients/node/package.json | 4 ++-- packages/clients/walkerjs/CHANGELOG.md | 7 +++++++ packages/clients/walkerjs/package.json | 4 ++-- packages/clients/walkerjs/src/index.ts | 2 +- packages/destinations/node/bigquery/CHANGELOG.md | 6 ++++++ packages/destinations/node/bigquery/package.json | 4 ++-- packages/destinations/web/api/CHANGELOG.md | 6 ++++++ packages/destinations/web/api/package.json | 4 ++-- packages/destinations/web/google-ads/CHANGELOG.md | 6 ++++++ packages/destinations/web/google-ads/package.json | 4 ++-- packages/destinations/web/google-ga4/CHANGELOG.md | 6 ++++++ packages/destinations/web/google-ga4/package.json | 4 ++-- packages/destinations/web/google-gtm/CHANGELOG.md | 6 ++++++ packages/destinations/web/google-gtm/package.json | 4 ++-- packages/destinations/web/meta-pixel/CHANGELOG.md | 6 ++++++ packages/destinations/web/meta-pixel/package.json | 4 ++-- packages/destinations/web/piwikpro/CHANGELOG.md | 8 ++++++++ packages/destinations/web/piwikpro/package.json | 6 +++--- packages/destinations/web/plausible/CHANGELOG.md | 6 ++++++ packages/destinations/web/plausible/package.json | 4 ++-- packages/stacks/firebase/CHANGELOG.md | 8 ++++++++ packages/stacks/firebase/package.json | 6 +++--- packages/utils/CHANGELOG.md | 6 ++++++ packages/utils/package.json | 2 +- 26 files changed, 104 insertions(+), 31 deletions(-) delete mode 100644 .changeset/fresh-numbers-sin.md diff --git a/.changeset/fresh-numbers-sin.md b/.changeset/fresh-numbers-sin.md deleted file mode 100644 index 2d09a4bd..00000000 --- a/.changeset/fresh-numbers-sin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@elbwalker/utils': patch ---- - -Missing session id #357 diff --git a/packages/clients/node/CHANGELOG.md b/packages/clients/node/CHANGELOG.md index 47e267f3..7d347b06 100644 --- a/packages/clients/node/CHANGELOG.md +++ b/packages/clients/node/CHANGELOG.md @@ -1,5 +1,12 @@ # @elbwalker/client-node +## 1.0.3 + +### Patch Changes + +- Updated dependencies [0c4d649] + - @elbwalker/utils@3.1.2 + ## 1.0.2 ### Patch Changes diff --git a/packages/clients/node/package.json b/packages/clients/node/package.json index 957a73f5..e4d7b7b7 100644 --- a/packages/clients/node/package.json +++ b/packages/clients/node/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/client-node", "description": "Node client for walkerOS for sending events from the server-side", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/utils": "3.1.1" + "@elbwalker/utils": "3.1.2" }, "devDependencies": {}, "repository": { diff --git a/packages/clients/walkerjs/CHANGELOG.md b/packages/clients/walkerjs/CHANGELOG.md index d56904f4..7655a653 100644 --- a/packages/clients/walkerjs/CHANGELOG.md +++ b/packages/clients/walkerjs/CHANGELOG.md @@ -1,5 +1,12 @@ # @elbwalker/walker.js +## 2.1.3 + +### Patch Changes + +- Updated dependencies [0c4d649] + - @elbwalker/utils@3.1.2 + ## 2.1.2 ### Patch Changes diff --git a/packages/clients/walkerjs/package.json b/packages/clients/walkerjs/package.json index 3a40ed52..5488a723 100644 --- a/packages/clients/walkerjs/package.json +++ b/packages/clients/walkerjs/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/walker.js", "description": "Lightweight & vendor-agnostic tracking implementation layer for data-collection by simply adding attributes to your markup.", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/utils": "3.1.1" + "@elbwalker/utils": "3.1.2" }, "repository": { "url": "git+https://github.com/elbwalker/walkerOS.git", diff --git a/packages/clients/walkerjs/src/index.ts b/packages/clients/walkerjs/src/index.ts index 12e7faf7..945b8bdf 100644 --- a/packages/clients/walkerjs/src/index.ts +++ b/packages/clients/walkerjs/src/index.ts @@ -26,7 +26,7 @@ export { elb }; export function Walkerjs( customConfig: Partial = {}, ): WebClient.Instance { - const client = '2.1.2'; + const client = '2.1.3'; const runCommand = `${Const.Commands.Walker} ${Const.Commands.Run}`; const staticGlobals = customConfig.globals || {}; const config = getConfig(customConfig); diff --git a/packages/destinations/node/bigquery/CHANGELOG.md b/packages/destinations/node/bigquery/CHANGELOG.md index 2f16b967..81c76efc 100644 --- a/packages/destinations/node/bigquery/CHANGELOG.md +++ b/packages/destinations/node/bigquery/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-node-bigquery +## 1.0.3 + +### Patch Changes + +- @elbwalker/client-node@1.0.3 + ## 1.0.2 ### Patch Changes diff --git a/packages/destinations/node/bigquery/package.json b/packages/destinations/node/bigquery/package.json index 8b9f9ef2..454fdd6a 100644 --- a/packages/destinations/node/bigquery/package.json +++ b/packages/destinations/node/bigquery/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-node-bigquery", "description": "BigQuery node destination for walkerOS", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/client-node": "1.0.2" + "@elbwalker/client-node": "1.0.3" }, "devDependencies": { "@google-cloud/bigquery": "^6.2.1", diff --git a/packages/destinations/web/api/CHANGELOG.md b/packages/destinations/web/api/CHANGELOG.md index d67bd5d8..0477ac05 100644 --- a/packages/destinations/web/api/CHANGELOG.md +++ b/packages/destinations/web/api/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-web-api +## 2.2.3 + +### Patch Changes + +- @elbwalker/walker.js@2.1.3 + ## 2.2.2 ### Patch Changes diff --git a/packages/destinations/web/api/package.json b/packages/destinations/web/api/package.json index 444956e5..d3d1a302 100644 --- a/packages/destinations/web/api/package.json +++ b/packages/destinations/web/api/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-api", "description": "API web destination for walkerOS", - "version": "2.2.2", + "version": "2.2.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2" + "@elbwalker/walker.js": "2.1.3" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/destinations/web/google-ads/CHANGELOG.md b/packages/destinations/web/google-ads/CHANGELOG.md index 6dc0f205..aae945fd 100644 --- a/packages/destinations/web/google-ads/CHANGELOG.md +++ b/packages/destinations/web/google-ads/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-web-google-ads +## 2.1.3 + +### Patch Changes + +- @elbwalker/walker.js@2.1.3 + ## 2.1.2 ### Patch Changes diff --git a/packages/destinations/web/google-ads/package.json b/packages/destinations/web/google-ads/package.json index d9a3bfa7..11a60fe5 100644 --- a/packages/destinations/web/google-ads/package.json +++ b/packages/destinations/web/google-ads/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-google-ads", "description": "Google Ads web destination for walkerOS", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2" + "@elbwalker/walker.js": "2.1.3" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/destinations/web/google-ga4/CHANGELOG.md b/packages/destinations/web/google-ga4/CHANGELOG.md index 4a0a3365..455e9e82 100644 --- a/packages/destinations/web/google-ga4/CHANGELOG.md +++ b/packages/destinations/web/google-ga4/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-web-google-ga4 +## 2.1.3 + +### Patch Changes + +- @elbwalker/walker.js@2.1.3 + ## 2.1.2 ### Patch Changes diff --git a/packages/destinations/web/google-ga4/package.json b/packages/destinations/web/google-ga4/package.json index 67c03a0f..c48713f7 100644 --- a/packages/destinations/web/google-ga4/package.json +++ b/packages/destinations/web/google-ga4/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-google-ga4", "description": "Google GA4 web destination for walkerOS", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2" + "@elbwalker/walker.js": "2.1.3" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/destinations/web/google-gtm/CHANGELOG.md b/packages/destinations/web/google-gtm/CHANGELOG.md index fea57223..f3cb2a88 100644 --- a/packages/destinations/web/google-gtm/CHANGELOG.md +++ b/packages/destinations/web/google-gtm/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-web-google-gtm +## 2.1.3 + +### Patch Changes + +- @elbwalker/walker.js@2.1.3 + ## 2.1.2 ### Patch Changes diff --git a/packages/destinations/web/google-gtm/package.json b/packages/destinations/web/google-gtm/package.json index 0fbf3469..4301c1a4 100644 --- a/packages/destinations/web/google-gtm/package.json +++ b/packages/destinations/web/google-gtm/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-google-gtm", "description": "Google Tag Manager (GTM) web destination for walkerOS", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2" + "@elbwalker/walker.js": "2.1.3" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/destinations/web/meta-pixel/CHANGELOG.md b/packages/destinations/web/meta-pixel/CHANGELOG.md index 80f11272..69b749c3 100644 --- a/packages/destinations/web/meta-pixel/CHANGELOG.md +++ b/packages/destinations/web/meta-pixel/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-web-meta-pixel +## 2.1.3 + +### Patch Changes + +- @elbwalker/walker.js@2.1.3 + ## 2.1.2 ### Patch Changes diff --git a/packages/destinations/web/meta-pixel/package.json b/packages/destinations/web/meta-pixel/package.json index 7fa113d9..eeedbc9e 100644 --- a/packages/destinations/web/meta-pixel/package.json +++ b/packages/destinations/web/meta-pixel/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-meta-pixel", "description": "Meta pixel web destination for walkerOS", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2" + "@elbwalker/walker.js": "2.1.3" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/destinations/web/piwikpro/CHANGELOG.md b/packages/destinations/web/piwikpro/CHANGELOG.md index b633c03a..5545385c 100644 --- a/packages/destinations/web/piwikpro/CHANGELOG.md +++ b/packages/destinations/web/piwikpro/CHANGELOG.md @@ -1,5 +1,13 @@ # @elbwalker/destination-web-piwikpro +## 1.1.3 + +### Patch Changes + +- Updated dependencies [0c4d649] + - @elbwalker/utils@3.1.2 + - @elbwalker/walker.js@2.1.3 + ## 1.1.2 ### Patch Changes diff --git a/packages/destinations/web/piwikpro/package.json b/packages/destinations/web/piwikpro/package.json index ef77999a..64f00029 100644 --- a/packages/destinations/web/piwikpro/package.json +++ b/packages/destinations/web/piwikpro/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-piwikpro", "description": "Piwik PRO destination for walkerOS", - "version": "1.1.2", + "version": "1.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,8 +20,8 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2", - "@elbwalker/utils": "3.1.1" + "@elbwalker/walker.js": "2.1.3", + "@elbwalker/utils": "3.1.2" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/destinations/web/plausible/CHANGELOG.md b/packages/destinations/web/plausible/CHANGELOG.md index 19ad24cb..8782b523 100644 --- a/packages/destinations/web/plausible/CHANGELOG.md +++ b/packages/destinations/web/plausible/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/destination-web-plausible +## 2.1.3 + +### Patch Changes + +- @elbwalker/walker.js@2.1.3 + ## 2.1.2 ### Patch Changes diff --git a/packages/destinations/web/plausible/package.json b/packages/destinations/web/plausible/package.json index d328d770..9cd94811 100644 --- a/packages/destinations/web/plausible/package.json +++ b/packages/destinations/web/plausible/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/destination-web-plausible", "description": "Plausible web destination for walkerOS", - "version": "2.1.2", + "version": "2.1.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,7 +20,7 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/walker.js": "2.1.2" + "@elbwalker/walker.js": "2.1.3" }, "devDependencies": { "@elbwalker/tsup": "0.0.1", diff --git a/packages/stacks/firebase/CHANGELOG.md b/packages/stacks/firebase/CHANGELOG.md index b1ea2e0d..437a1e7c 100644 --- a/packages/stacks/firebase/CHANGELOG.md +++ b/packages/stacks/firebase/CHANGELOG.md @@ -1,5 +1,13 @@ # @elbwalker/stack-firebase +## 1.0.3 + +### Patch Changes + +- Updated dependencies [0c4d649] + - @elbwalker/utils@3.1.2 + - @elbwalker/client-node@1.0.3 + ## 1.0.2 ### Patch Changes diff --git a/packages/stacks/firebase/package.json b/packages/stacks/firebase/package.json index 254302b0..b429aa27 100644 --- a/packages/stacks/firebase/package.json +++ b/packages/stacks/firebase/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/stack-firebase", "description": "Firebase stack for walkerOS", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", @@ -20,8 +20,8 @@ "test": "jest --colors --coverage" }, "dependencies": { - "@elbwalker/client-node": "1.0.2", - "@elbwalker/utils": "3.1.1", + "@elbwalker/client-node": "1.0.3", + "@elbwalker/utils": "3.1.2", "firebase-functions": "^4.4.1" }, "repository": { diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 846baa90..2da03f03 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,11 @@ # @elbwalker/utils +## 3.1.2 + +### Patch Changes + +- 0c4d649: Missing session id #357 + ## 3.1.1 ### Patch Changes diff --git a/packages/utils/package.json b/packages/utils/package.json index 446e82f4..52e243ea 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,7 +1,7 @@ { "name": "@elbwalker/utils", "description": "Shared utils for walkerOS packages", - "version": "3.1.1", + "version": "3.1.2", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs",