diff options
Diffstat (limited to 'src/app/api/scripts')
| -rw-r--r-- | src/app/api/scripts/telemetry/route.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/app/api/scripts/telemetry/route.ts b/src/app/api/scripts/telemetry/route.ts new file mode 100644 index 0000000..b19e99f --- /dev/null +++ b/src/app/api/scripts/telemetry/route.ts @@ -0,0 +1,28 @@ +import { CURRENT_VERSION, TELEMETRY_PIXEL } from '@/lib/constants'; + +export async function GET() { + if ( + process.env.NODE_ENV !== 'production' || + process.env.DISABLE_TELEMETRY || + process.env.PRIVATE_MODE + ) { + return new Response('/* telemetry disabled */', { + headers: { + 'content-type': 'text/javascript', + }, + }); + } + + const script = ` + (()=>{const i=document.createElement('img'); + i.setAttribute('src','${TELEMETRY_PIXEL}?v=${CURRENT_VERSION}'); + i.setAttribute('style','width:0;height:0;position:absolute;pointer-events:none;'); + document.body.appendChild(i);})(); + `; + + return new Response(script.replace(/\s\s+/g, ''), { + headers: { + 'content-type': 'text/javascript', + }, + }); +} |