Skip to content

Commit 045ae16

Browse files
authored
analytics | disable beacon (#60)
1 parent 4d3ed8c commit 045ae16

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

src/modules/analytics.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ import type { AuthModule } from "./auth.types";
1313
import { generateUuid } from "../utils/common";
1414

1515
export const USER_HEARTBEAT_EVENT_NAME = "__user_heartbeat_event__";
16-
export const ANALYTICS_CONFIG_URL_PARAM_KEY = "analytics-disable";
16+
export const ANALYTICS_CONFIG_ENABLE_URL_PARAM_KEY = "analytics-enable";
17+
1718
export const ANALYTICS_SESSION_ID_LOCAL_STORAGE_KEY =
1819
"base44_analytics_session_id";
1920

2021
const defaultConfiguration: AnalyticsModuleOptions = {
21-
enabled: true,
22+
// default to disabled //
23+
enabled: false,
2224
maxQueueSize: 1000,
2325
throttleTime: 1000,
2426
batchSize: 30,
@@ -81,6 +83,7 @@ export const createAnalyticsModule = ({
8183
} as AnalyticsApiBatchRequest);
8284
};
8385

86+
// currently disabled, until fully tested //
8487
const beaconRequest = async (events: AnalyticsApiRequestData[]) => {
8588
const beaconPayload = JSON.stringify({ events });
8689
try {
@@ -100,8 +103,10 @@ export const createAnalyticsModule = ({
100103
const events = eventsData.map(
101104
transformEventDataToApiRequestData(sessionContext_)
102105
);
103-
if (!(await beaconRequest(events))) {
106+
try {
104107
return batchRequestFallback(events);
108+
} catch {
109+
// do nothing
105110
}
106111
};
107112

@@ -265,21 +270,21 @@ export function getAnalyticsConfigFromUrlParams():
265270
| undefined {
266271
if (typeof window === "undefined") return undefined;
267272
const urlParams = new URLSearchParams(window.location.search);
268-
const analyticsDisable = urlParams.get(ANALYTICS_CONFIG_URL_PARAM_KEY);
273+
const analyticsEnable = urlParams.get(ANALYTICS_CONFIG_ENABLE_URL_PARAM_KEY);
269274

270275
// if the url param is not set, return undefined //
271-
if (analyticsDisable == null || !analyticsDisable.length) return undefined;
276+
if (analyticsEnable == null || !analyticsEnable.length) return undefined;
272277

273278
// remove the url param from the url //
274279
const newUrlParams = new URLSearchParams(window.location.search);
275-
newUrlParams.delete(ANALYTICS_CONFIG_URL_PARAM_KEY);
280+
newUrlParams.delete(ANALYTICS_CONFIG_ENABLE_URL_PARAM_KEY);
276281
const newUrl =
277282
window.location.pathname +
278283
(newUrlParams.toString() ? "?" + newUrlParams.toString() : "");
279284
window.history.replaceState({}, "", newUrl);
280285

281286
// return the config object //
282-
return analyticsDisable === "true" ? { enabled: false } : undefined;
287+
return { enabled: analyticsEnable === "true" };
283288
}
284289

285290
export function getAnalyticsSessionId(): string {

0 commit comments

Comments
 (0)