Removed do not track logic.

This commit is contained in:
Mike Cao 2024-01-14 19:04:02 -08:00
parent 6b9c83381c
commit 2197551e58

View File

@ -18,7 +18,6 @@
const website = attr(_data + 'website-id'); const website = attr(_data + 'website-id');
const hostUrl = attr(_data + 'host-url'); const hostUrl = attr(_data + 'host-url');
const autoTrack = attr(_data + 'auto-track') !== _false; const autoTrack = attr(_data + 'auto-track') !== _false;
const dnt = attr(_data + 'do-not-track');
const domain = attr(_data + 'domains') || ''; const domain = attr(_data + 'domains') || '';
const domains = domain.split(',').map(n => n.trim()); const domains = domain.split(',').map(n => n.trim());
const root = hostUrl const root = hostUrl
@ -61,23 +60,8 @@
}); });
/* Tracking functions */ /* Tracking functions */
const doNotTrack = () => {
const { doNotTrack, navigator, external } = window;
const msTrackProtection = 'msTrackingProtectionEnabled';
const msTracking = () => {
return external && msTrackProtection in external && external[msTrackProtection]();
};
const dnt = doNotTrack || navigator.doNotTrack || navigator.msDoNotTrack || msTracking();
return dnt == '1' || dnt === 'yes';
};
const trackingDisabled = () => const trackingDisabled = () =>
(localStorage && localStorage.getItem('umami.disabled')) || (localStorage && localStorage.getItem('umami.disabled')) ||
(dnt && doNotTrack()) ||
(domain && !domains.includes(hostname)); (domain && !domains.includes(hostname));
const handlePush = (state, title, url) => { const handlePush = (state, title, url) => {
@ -174,7 +158,7 @@
} }
}; };
const send = (payload, type = 'event') => { const send = async (payload, type = 'event') => {
if (trackingDisabled()) return; if (trackingDisabled()) return;
const headers = { const headers = {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -182,14 +166,17 @@
if (typeof cache !== 'undefined') { if (typeof cache !== 'undefined') {
headers['x-umami-cache'] = cache; headers['x-umami-cache'] = cache;
} }
return fetch(endpoint, { try {
const res = await fetch(endpoint, {
method: 'POST', method: 'POST',
body: JSON.stringify({ type, payload }), body: JSON.stringify({ type, payload }),
headers, headers,
}) });
.then(res => res.text()) const text = await res.text();
.then(text => (cache = text)) return (cache = text);
.catch(() => {}); // no-op, gulp error } catch {
/* empty */
}
}; };
const track = (obj, data) => { const track = (obj, data) => {