From ad973390376811c19367e2ced4c820f92fc8f2c0 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Wed, 8 Jan 2025 16:41:06 +0100 Subject: [PATCH] fix: avoid loading Segment analytics when SEGMENT_ID is not set --- frontend/src/index.html.ejs | 143 ++++++++++++++++++------------------ 1 file changed, 73 insertions(+), 70 deletions(-) diff --git a/frontend/src/index.html.ejs b/frontend/src/index.html.ejs index e393c430b01..f3c33f82f8b 100644 --- a/frontend/src/index.html.ejs +++ b/frontend/src/index.html.ejs @@ -100,76 +100,79 @@ + // Check if SEGMENT_ID is set + if (SEGMENT_ID) { + !(function () { + var analytics = (window.analytics = window.analytics || []); + if (!analytics.initialize) + if (analytics.invoked) + window.console && + console.error && + console.error('Segment snippet included twice.'); + else { + analytics.invoked = !0; + analytics.methods = [ + 'trackSubmit', + 'trackClick', + 'trackLink', + 'trackForm', + 'pageview', + 'identify', + 'reset', + 'group', + 'track', + 'ready', + 'alias', + 'debug', + 'page', + 'once', + 'off', + 'on', + 'addSourceMiddleware', + 'addIntegrationMiddleware', + 'setAnonymousId', + 'addDestinationMiddleware', + ]; + analytics.factory = function (e) { + return function () { + if (window.analytics.initialized) + return window.analytics[e].apply(window.analytics, arguments); + var i = Array.prototype.slice.call(arguments); + i.unshift(e); + analytics.push(i); + return analytics; + }; + }; + for (var i = 0; i < analytics.methods.length; i++) { + var key = analytics.methods[i]; + analytics[key] = analytics.factory(key); + } + analytics.load = function (key, i) { + var t = document.createElement('script'); + t.type = 'text/javascript'; + t.async = !0; + t.src = + 'https://analytics-cdn.signoz.io/analytics.js/v1/' + + key + + '/analytics.min.js'; + var n = document.getElementsByTagName('script')[0]; + n.parentNode.insertBefore(t, n); + analytics._loadOptions = i; + }; + analytics._writeKey = SEGMENT_ID; + analytics.SNIPPET_VERSION = '4.16.1'; + analytics.load(SEGMENT_ID, { + integrations: { + 'Segment.io': { apiHost: 'analytics-api.signoz.io/v1' }, + }, + }); + analytics.page(); + } + })(); + } +