@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.
- package/dist/browser/tracelog.js +253 -257
- package/dist/cjs/managers/event.manager.d.ts +1 -1
- package/dist/cjs/managers/event.manager.js +1 -3
- package/dist/cjs/managers/session.manager.js +6 -5
- package/dist/cjs/types/event.types.d.ts +0 -1
- package/dist/esm/managers/event.manager.d.ts +1 -1
- package/dist/esm/managers/event.manager.js +1 -3
- package/dist/esm/managers/session.manager.js +6 -5
- package/dist/esm/types/event.types.d.ts +0 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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);
|
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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);
|
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.
|
|
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",
|