check matomo and disable if necessary

This commit is contained in:
jessop 2020-08-11 15:25:43 -04:00 committed by Sean Yesmunt
parent 7b504b5fa7
commit f88b98ea62

View file

@ -56,7 +56,24 @@ type LogPublishParams = {
channel_claim_id?: string, channel_claim_id?: string,
}; };
const checkmatomo = (url, timeout = 2000) => {
return Promise.race([
fetch(url),
new Promise((resolve, reject) => setTimeout(() => reject(new Error('timeout')), timeout)),
]);
};
let internalAnalyticsEnabled: boolean = IS_WEB || false; let internalAnalyticsEnabled: boolean = IS_WEB || false;
let matomoOnline = true;
if (internalAnalyticsEnabled) {
checkmatomo(MATOMO_URL)
.then()
.catch(() => {
matomoOnline = false;
console.log('matomo offline');
});
}
// let thirdPartyAnalyticsEnabled: boolean = IS_WEB || false; // let thirdPartyAnalyticsEnabled: boolean = IS_WEB || false;
// @if TARGET='app' // @if TARGET='app'
if (window.localStorage.getItem(SHARE_INTERNAL) === 'true') internalAnalyticsEnabled = true; if (window.localStorage.getItem(SHARE_INTERNAL) === 'true') internalAnalyticsEnabled = true;
@ -89,7 +106,7 @@ const analytics: Analytics = {
}); });
}, },
pageView: path => { pageView: path => {
if (internalAnalyticsEnabled) { if (internalAnalyticsEnabled && matomoOnline) {
MatomoInstance.trackPageView({ MatomoInstance.trackPageView({
href: `${path}`, href: `${path}`,
}); });
@ -245,7 +262,7 @@ const analytics: Analytics = {
}; };
function sendMatomoEvent(category, action, name, value) { function sendMatomoEvent(category, action, name, value) {
if (internalAnalyticsEnabled) { if (internalAnalyticsEnabled && matomoOnline) {
const event = { category, action, name, value }; const event = { category, action, name, value };
MatomoInstance.trackEvent(event); MatomoInstance.trackEvent(event);
} }