@guardian/ophan-tracker-js 2.4.1 → 2.4.3

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.
@@ -12,5 +12,5 @@ if (window.addEventListener != null) {
12
12
  }
13
13
  export default {
14
14
  record: transmit.sendMore,
15
- viewId: transmit.viewId,
15
+ get viewId() { return transmit.viewId; },
16
16
  };
package/NPM-dist/core.js CHANGED
@@ -11,6 +11,7 @@ init = function (servingPlatform, httpStatus) {
11
11
  platform = servingPlatform;
12
12
  window.addEventListener('pageshow', function (event) {
13
13
  if (event.persisted) {
14
+ transmit.bumpViewId();
14
15
  sendInitialEvent(httpStatus, location.href, window.document.referrer, 'bfcache');
15
16
  }
16
17
  }, false);
@@ -221,7 +222,7 @@ export default {
221
222
  servingPlatform: function () {
222
223
  return platform;
223
224
  },
224
- viewId: transmit.viewId,
225
+ get viewId() { return transmit.viewId; },
225
226
  sendInitialEvent: sendInitialEvent,
226
227
  };
227
228
  /**
package/NPM-dist/embed.js CHANGED
@@ -4,5 +4,5 @@ import transmit from './transmit.js';
4
4
  core.init('embed');
5
5
  export default {
6
6
  record: transmit.sendMore,
7
- viewId: transmit.viewId,
7
+ get viewId() { return transmit.viewId; },
8
8
  };
@@ -3,5 +3,5 @@ import core from './core.js';
3
3
  import transmit from './transmit.js';
4
4
  core.init('facebook-instant-article');
5
5
  export default {
6
- viewId: transmit.viewId,
6
+ get viewId() { return transmit.viewId; },
7
7
  };
@@ -4,5 +4,5 @@ import transmit from './transmit.js';
4
4
  core.init('holidays');
5
5
  export default {
6
6
  record: transmit.sendMore,
7
- viewId: transmit.viewId,
7
+ get viewId() { return transmit.viewId; },
8
8
  };
@@ -12,6 +12,6 @@ else {
12
12
  setEventEmitter: attention.setEventEmitter,
13
13
  trackComponentAttention: attention.initComponent,
14
14
  record: transmit.sendMore,
15
- viewId: transmit.viewId,
15
+ get viewId() { return transmit.viewId; },
16
16
  };
17
17
  }
@@ -4,5 +4,5 @@ import transmit from './transmit.js';
4
4
  core.init('jobs-courses');
5
5
  export default {
6
6
  record: transmit.sendMore,
7
- viewId: transmit.viewId,
7
+ get viewId() { return transmit.viewId; },
8
8
  };
package/NPM-dist/jobs.js CHANGED
@@ -4,5 +4,5 @@ import transmit from './transmit.js';
4
4
  core.init('jobs');
5
5
  export default {
6
6
  record: transmit.sendMore,
7
- viewId: transmit.viewId,
7
+ get viewId() { return transmit.viewId; },
8
8
  };
@@ -22,7 +22,7 @@ const sendInitialEvent = (url = location.href, referrer = document.referrer) =>
22
22
  const exports = {
23
23
  sendInitialEvent,
24
24
  record: transmit.sendMore,
25
- viewId: transmit.viewId,
25
+ get viewId() { return transmit.viewId; },
26
26
  };
27
27
  window.guardian = window.guardian || {};
28
28
  window.guardian.ophan = exports;
@@ -12,5 +12,5 @@ if (window.addEventListener != null) {
12
12
  }
13
13
  export default {
14
14
  record: transmit.sendMore,
15
- viewId: transmit.viewId,
15
+ get viewId() { return transmit.viewId; },
16
16
  };
package/NPM-dist/ng.js CHANGED
@@ -39,8 +39,8 @@ else {
39
39
  setEventEmitter: attention.setEventEmitter,
40
40
  trackComponentAttention: attention.initComponent,
41
41
  record: transmit.sendMore,
42
- viewId: transmit.viewId,
43
- pageViewId: transmit.viewId,
42
+ get viewId() { return transmit.viewId; },
43
+ get pageViewId() { return transmit.viewId; },
44
44
  trackClickComponentEvent: trackClickComponentEvent,
45
45
  };
46
46
  ng = window.guardian.ophan;
package/NPM-dist/r2.js CHANGED
@@ -11,5 +11,5 @@ if (window.addEventListener != null) {
11
11
  attention.init(visibility);
12
12
  }
13
13
  export default {
14
- viewId: transmit.viewId,
14
+ get viewId() { return transmit.viewId; },
15
15
  };
@@ -9,5 +9,5 @@ if (window.addEventListener != null) {
9
9
  }
10
10
  export default {
11
11
  record: transmit.sendMore,
12
- viewId: transmit.viewId,
12
+ get viewId() { return transmit.viewId; },
13
13
  };
@@ -24,5 +24,5 @@ export default {
24
24
  init,
25
25
  sendInitialEvent,
26
26
  record: transmit.sendMore,
27
- viewId: transmit.viewId,
27
+ get viewId() { return transmit.viewId; },
28
28
  };
@@ -126,7 +126,7 @@ describe('click-path-capture.js', () => {
126
126
  .spyOn(ophan, 'storeDataToSendOnNextEvent')
127
127
  .mockImplementation(() => { });
128
128
  jest.spyOn(ophan, 'servingPlatform').mockReturnValue('web');
129
- ophan.viewId = 'test-view-id';
129
+ jest.spyOn(ophan, 'viewId', 'get').mockReturnValue('test-view-id');
130
130
  });
131
131
  afterEach(() => {
132
132
  jest.clearAllMocks();
@@ -194,6 +194,14 @@ describe('loadType pageshow handling', () => {
194
194
  loadType: 'bfcache'
195
195
  }));
196
196
  });
197
+ it('should call bumpViewId when pageshow event has persisted=true', () => {
198
+ expect(pageShowHandler).toBeTruthy();
199
+ transmit.bumpViewId.mockClear();
200
+ // Simulate a bfcache restore event
201
+ const mockEvent = { persisted: true };
202
+ pageShowHandler(mockEvent);
203
+ expect(transmit.bumpViewId).toHaveBeenCalledTimes(1);
204
+ });
197
205
  it('should not call sendInitialEvent when pageshow event has persisted=false', () => {
198
206
  expect(pageShowHandler).toBeTruthy();
199
207
  transmit.sendInitial.mockClear();
@@ -74,6 +74,15 @@ describe('buildQueryString', () => {
74
74
  expect(queryString).not.toContain(`nullValue`);
75
75
  });
76
76
  });
77
+ describe('bumpViewId', () => {
78
+ it('should update viewId when called', () => {
79
+ const originalViewId = transmit.viewId;
80
+ transmit.bumpViewId();
81
+ expect(transmit.viewId).not.toBe(originalViewId);
82
+ expect(typeof transmit.viewId).toBe('string');
83
+ expect(transmit.viewId.length).toBe(20);
84
+ });
85
+ });
77
86
  describe('sendMore', () => {
78
87
  it('should call send with correct URL and callback', async () => {
79
88
  const obj = {
@@ -117,7 +117,7 @@ const send = (url, f) => {
117
117
  export default {
118
118
  sendInitial,
119
119
  sendMore,
120
- viewId,
120
+ get viewId() { return viewId; },
121
121
  bumpViewId,
122
122
  };
123
123
  /**
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -3,7 +3,7 @@ declare namespace _default {
3
3
  export { storeDataToSendOnNextEvent };
4
4
  export { onLoadCapture };
5
5
  export function servingPlatform(): any;
6
- export let viewId: string;
6
+ export const viewId: string;
7
7
  export { sendInitialEvent };
8
8
  }
9
9
  export default _default;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare namespace _default {
2
- let viewId: string;
2
+ const viewId: string;
3
3
  }
4
4
  export default _default;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -2,6 +2,6 @@ export default exports;
2
2
  declare namespace exports {
3
3
  export { sendInitialEvent };
4
4
  export let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
5
- export let viewId: string;
5
+ export const viewId: string;
6
6
  }
7
7
  declare function sendInitialEvent(url?: string, referrer?: string): void;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare namespace _default {
2
- let viewId: string;
2
+ const viewId: string;
3
3
  }
4
4
  export default _default;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -2,7 +2,7 @@ declare namespace _default {
2
2
  export { init };
3
3
  export { sendInitialEvent };
4
4
  export let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
5
- export let viewId: string;
5
+ export const viewId: string;
6
6
  }
7
7
  export default _default;
8
8
  declare function init(): void;
@@ -2,7 +2,7 @@ import { EventPayload } from './types/event.js';
2
2
  declare const _default: {
3
3
  sendInitial: (obj: Record<string, any>) => void;
4
4
  sendMore: (obj: EventPayload, f?: (() => void) | undefined) => void;
5
- viewId: string;
5
+ readonly viewId: string;
6
6
  bumpViewId: () => void;
7
7
  };
8
8
  export default _default;
@@ -1,5 +1,5 @@
1
1
  declare namespace _default {
2
2
  let record: (obj: import("./ng.js").EventPayload, f?: (() => void) | undefined) => void;
3
- let viewId: string;
3
+ const viewId: string;
4
4
  }
5
5
  export default _default;
@@ -4,5 +4,5 @@ import transmit from './transmit.js';
4
4
  core.init('witness');
5
5
  export default {
6
6
  record: transmit.sendMore,
7
- viewId: transmit.viewId,
7
+ get viewId() { return transmit.viewId; },
8
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guardian/ophan-tracker-js",
3
- "version": "2.4.1",
3
+ "version": "2.4.3",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=16"