acsi-core 0.1.78 → 0.1.80
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/index.js +48 -15
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +48 -15
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1147,7 +1147,7 @@ var api = axios.create({
|
|
|
1147
1147
|
});
|
|
1148
1148
|
var apiUpload = axios.create({
|
|
1149
1149
|
baseURL: BASE_URL,
|
|
1150
|
-
timeout:
|
|
1150
|
+
timeout: 10 * 60 * 1000,
|
|
1151
1151
|
headers: {
|
|
1152
1152
|
"Content-Type": "multipart/form-data"
|
|
1153
1153
|
}
|
|
@@ -2501,7 +2501,33 @@ var useAmplitude = function useAmplitude() {
|
|
|
2501
2501
|
currentSessionStart.current = null;
|
|
2502
2502
|
savedUserProperties.current = {};
|
|
2503
2503
|
hasTrackedInitialSession.current = false;
|
|
2504
|
+
localStorage.removeItem('sessionData');
|
|
2505
|
+
}, []);
|
|
2506
|
+
var saveSessionToLocalStorage = React.useCallback(function (session) {
|
|
2507
|
+
var existingSessions = localStorage.getItem('sessionData');
|
|
2508
|
+
var sessions = existingSessions ? JSON.parse(existingSessions) : [];
|
|
2509
|
+
sessions.push(session);
|
|
2510
|
+
localStorage.setItem('sessionData', JSON.stringify(sessions));
|
|
2504
2511
|
}, []);
|
|
2512
|
+
var sendSessionsToAmplitude = React.useCallback(function () {
|
|
2513
|
+
if (!userId) return;
|
|
2514
|
+
var existingSessions = localStorage.getItem('sessionData');
|
|
2515
|
+
if (!existingSessions) return;
|
|
2516
|
+
var sessions = JSON.parse(existingSessions);
|
|
2517
|
+
if (sessions.length === 0) return;
|
|
2518
|
+
sessions.forEach(function (session) {
|
|
2519
|
+
trackEvent({
|
|
2520
|
+
eventName: exports.AmplitudeEvent.SESSION_END,
|
|
2521
|
+
eventProperties: {
|
|
2522
|
+
start_time: session.start_time,
|
|
2523
|
+
end_time: session.end_time,
|
|
2524
|
+
session_duration_seconds: session.session_duration_seconds,
|
|
2525
|
+
session_id: session.session_id
|
|
2526
|
+
}
|
|
2527
|
+
});
|
|
2528
|
+
});
|
|
2529
|
+
localStorage.removeItem('sessionData');
|
|
2530
|
+
}, [userId, trackEvent]);
|
|
2505
2531
|
var trackTabActivity = React.useCallback(function (isActive) {
|
|
2506
2532
|
if (!userId) return;
|
|
2507
2533
|
var now = new Date();
|
|
@@ -2516,32 +2542,39 @@ var useAmplitude = function useAmplitude() {
|
|
|
2516
2542
|
} else {
|
|
2517
2543
|
if (currentSessionStart.current) {
|
|
2518
2544
|
var sessionDuration = now.getTime() - currentSessionStart.current.getTime();
|
|
2545
|
+
var sessionData = {
|
|
2546
|
+
start_time: currentSessionStart.current.toISOString(),
|
|
2547
|
+
end_time: now.toISOString(),
|
|
2548
|
+
session_duration_seconds: Math.round(sessionDuration / 1000),
|
|
2549
|
+
session_id: currentSessionStart.current.getTime()
|
|
2550
|
+
};
|
|
2551
|
+
saveSessionToLocalStorage(sessionData);
|
|
2519
2552
|
trackEvent({
|
|
2520
2553
|
eventName: exports.AmplitudeEvent.SESSION_END,
|
|
2521
2554
|
eventProperties: {
|
|
2522
|
-
session_duration_seconds:
|
|
2523
|
-
start_time:
|
|
2524
|
-
end_time:
|
|
2555
|
+
session_duration_seconds: sessionData.session_duration_seconds,
|
|
2556
|
+
start_time: sessionData.start_time,
|
|
2557
|
+
end_time: sessionData.end_time,
|
|
2558
|
+
session_id: sessionData.session_id
|
|
2525
2559
|
}
|
|
2526
2560
|
});
|
|
2527
2561
|
currentSessionStart.current = null;
|
|
2528
2562
|
}
|
|
2529
2563
|
}
|
|
2530
|
-
}, [userId, trackEvent]);
|
|
2564
|
+
}, [userId, trackEvent, saveSessionToLocalStorage]);
|
|
2531
2565
|
var trackPageUnload = React.useCallback(function () {
|
|
2532
2566
|
if (!userId || !currentSessionStart.current) return;
|
|
2533
2567
|
var now = new Date();
|
|
2534
2568
|
var sessionDuration = now.getTime() - currentSessionStart.current.getTime();
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
}, [userId, trackEvent]);
|
|
2569
|
+
var sessionData = {
|
|
2570
|
+
start_time: currentSessionStart.current.toISOString(),
|
|
2571
|
+
end_time: now.toISOString(),
|
|
2572
|
+
session_duration_seconds: Math.round(sessionDuration / 1000),
|
|
2573
|
+
session_id: currentSessionStart.current.getTime()
|
|
2574
|
+
};
|
|
2575
|
+
saveSessionToLocalStorage(sessionData);
|
|
2576
|
+
sendSessionsToAmplitude();
|
|
2577
|
+
}, [userId, saveSessionToLocalStorage, sendSessionsToAmplitude]);
|
|
2545
2578
|
React.useEffect(function () {
|
|
2546
2579
|
var handleVisibilityChange = function handleVisibilityChange() {
|
|
2547
2580
|
var isVisible = !document.hidden;
|