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,
};
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 matomoOnline = true;
if (internalAnalyticsEnabled) {
checkmatomo(MATOMO_URL)
.then()
.catch(() => {
matomoOnline = false;
console.log('matomo offline');
});
}
// let thirdPartyAnalyticsEnabled: boolean = IS_WEB || false;
// @if TARGET='app'
if (window.localStorage.getItem(SHARE_INTERNAL) === 'true') internalAnalyticsEnabled = true;
@ -89,7 +106,7 @@ const analytics: Analytics = {
});
},
pageView: path => {
if (internalAnalyticsEnabled) {
if (internalAnalyticsEnabled && matomoOnline) {
MatomoInstance.trackPageView({
href: `${path}`,
});
@ -245,7 +262,7 @@ const analytics: Analytics = {
};
function sendMatomoEvent(category, action, name, value) {
if (internalAnalyticsEnabled) {
if (internalAnalyticsEnabled && matomoOnline) {
const event = { category, action, name, value };
MatomoInstance.trackEvent(event);
}