@tracelog/lib 0.4.0 → 0.4.1

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.
@@ -30,7 +30,7 @@ export declare class EventManager extends StateManager {
30
30
  /**
31
31
  * Track user events with automatic deduplication and queueing
32
32
  */
33
- track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, session_start_recovered, }: Partial<EventData>): void;
33
+ track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, }: Partial<EventData>): void;
34
34
  stop(): void;
35
35
  /**
36
36
  * Flush all queued events immediately (async)
@@ -47,7 +47,7 @@ class EventManager extends state_manager_1.StateManager {
47
47
  /**
48
48
  * Track user events with automatic deduplication and queueing
49
49
  */
50
- track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, session_start_recovered, }) {
50
+ track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, }) {
51
51
  if (!type) {
52
52
  utils_1.debugLog.warn('EventManager', 'Event type is required');
53
53
  return;
@@ -68,7 +68,6 @@ class EventManager extends state_manager_1.StateManager {
68
68
  web_vitals,
69
69
  error_data,
70
70
  session_end_reason,
71
- session_start_recovered,
72
71
  });
73
72
  // Check URL exclusions
74
73
  if (this.isEventExcluded(payload)) {
@@ -235,7 +234,6 @@ class EventManager extends state_manager_1.StateManager {
235
234
  ...(data.web_vitals && { web_vitals: data.web_vitals }),
236
235
  ...(data.error_data && { error_data: data.error_data }),
237
236
  ...(data.session_end_reason && { session_end_reason: data.session_end_reason }),
238
- ...(data.session_start_recovered && { session_start_recovered: data.session_start_recovered }),
239
237
  ...(isSessionStart && (0, utils_1.getUTMParameters)() && { utm: (0, utils_1.getUTMParameters)() }),
240
238
  };
241
239
  // Add project tags
@@ -153,11 +153,12 @@ class SessionManager extends state_manager_1.StateManager {
153
153
  try {
154
154
  this.set('sessionId', sessionId);
155
155
  this.persistSession(sessionId);
156
- // Track session start event
157
- this.eventManager.track({
158
- type: types_1.EventType.SESSION_START,
159
- ...(isRecovered && { session_start_recovered: true }),
160
- });
156
+ // Track session start event only for new sessions
157
+ if (!isRecovered) {
158
+ this.eventManager.track({
159
+ type: types_1.EventType.SESSION_START,
160
+ });
161
+ }
161
162
  // Initialize components
162
163
  this.initCrossTabSync();
163
164
  this.shareSession(sessionId);
@@ -94,7 +94,6 @@ export interface EventData {
94
94
  custom_event?: CustomEventData;
95
95
  web_vitals?: WebVitalsData;
96
96
  page_view?: PageViewData;
97
- session_start_recovered?: boolean;
98
97
  session_end_reason?: SessionEndReason;
99
98
  error_data?: ErrorData;
100
99
  utm?: UTM;
@@ -30,7 +30,7 @@ export declare class EventManager extends StateManager {
30
30
  /**
31
31
  * Track user events with automatic deduplication and queueing
32
32
  */
33
- track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, session_start_recovered, }: Partial<EventData>): void;
33
+ track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, }: Partial<EventData>): void;
34
34
  stop(): void;
35
35
  /**
36
36
  * Flush all queued events immediately (async)
@@ -44,7 +44,7 @@ export class EventManager extends StateManager {
44
44
  /**
45
45
  * Track user events with automatic deduplication and queueing
46
46
  */
47
- track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, session_start_recovered, }) {
47
+ track({ type, page_url, from_page_url, scroll_data, click_data, custom_event, web_vitals, error_data, session_end_reason, }) {
48
48
  if (!type) {
49
49
  debugLog.warn('EventManager', 'Event type is required');
50
50
  return;
@@ -65,7 +65,6 @@ export class EventManager extends StateManager {
65
65
  web_vitals,
66
66
  error_data,
67
67
  session_end_reason,
68
- session_start_recovered,
69
68
  });
70
69
  // Check URL exclusions
71
70
  if (this.isEventExcluded(payload)) {
@@ -232,7 +231,6 @@ export class EventManager extends StateManager {
232
231
  ...(data.web_vitals && { web_vitals: data.web_vitals }),
233
232
  ...(data.error_data && { error_data: data.error_data }),
234
233
  ...(data.session_end_reason && { session_end_reason: data.session_end_reason }),
235
- ...(data.session_start_recovered && { session_start_recovered: data.session_start_recovered }),
236
234
  ...(isSessionStart && getUTMParameters() && { utm: getUTMParameters() }),
237
235
  };
238
236
  // Add project tags
@@ -150,11 +150,12 @@ export class SessionManager extends StateManager {
150
150
  try {
151
151
  this.set('sessionId', sessionId);
152
152
  this.persistSession(sessionId);
153
- // Track session start event
154
- this.eventManager.track({
155
- type: EventType.SESSION_START,
156
- ...(isRecovered && { session_start_recovered: true }),
157
- });
153
+ // Track session start event only for new sessions
154
+ if (!isRecovered) {
155
+ this.eventManager.track({
156
+ type: EventType.SESSION_START,
157
+ });
158
+ }
158
159
  // Initialize components
159
160
  this.initCrossTabSync();
160
161
  this.shareSession(sessionId);
@@ -94,7 +94,6 @@ export interface EventData {
94
94
  custom_event?: CustomEventData;
95
95
  web_vitals?: WebVitalsData;
96
96
  page_view?: PageViewData;
97
- session_start_recovered?: boolean;
98
97
  session_end_reason?: SessionEndReason;
99
98
  error_data?: ErrorData;
100
99
  utm?: UTM;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tracelog/lib",
3
3
  "description": "JavaScript library for web analytics and real-time event tracking",
4
4
  "license": "MIT",
5
- "version": "0.4.0",
5
+ "version": "0.4.1",
6
6
  "main": "./dist/cjs/public-api.js",
7
7
  "module": "./dist/esm/public-api.js",
8
8
  "types": "./dist/esm/public-api.d.ts",