diff --git a/.env.development b/.env.development index 3dc68bcad..87d126f87 100644 --- a/.env.development +++ b/.env.development @@ -132,26 +132,6 @@ STRIPE_POTION_HUGE_PRICE=price_1TEu8VAZjQCYS0ZJ7AO86Jrt # Customer Portal Configuration STRIPE_PORTAL_CONFIG_ID=bpc_1T1PFdAZjQCYS0ZJEhF9ob7q -# ============================================ -# UMAMI ANALYTICS -# ============================================ -# All app modules are tracked under the unified Mana website ID. -# Module segmentation happens via the `module` event property (see analytics.ts). -# Register new sites at https://stats.mana.how -UMAMI_WEBSITE_ID_MANA=32777167-e026-4618-933a-3429120b479b - -# Landing Page Website IDs (separate Astro sites, each needs its own ID) -UMAMI_WEBSITE_ID_CHAT_LANDING=a264b165-80d2-47ab-91f4-2efc01de0b66 -UMAMI_WEBSITE_ID_MANA_LANDING=cef3798d-85ae-47df-a44a-e9bee09dbcf9 -UMAMI_WEBSITE_ID_CARDS_LANDING=2ac83d50-107f-4d4e-ac23-5540946e96e3 -UMAMI_WEBSITE_ID_CALENDAR_LANDING=84862d98-727e-4e25-8645-639241dd1544 -UMAMI_WEBSITE_ID_CLOCK_LANDING=0332b471-a022-46af-a726-0f45932bfd58 -UMAMI_WEBSITE_ID_PICTURE_LANDING=d3ac98e6-0d1a-47a3-a218-2a81fff596bd -UMAMI_WEBSITE_ID_TODO_LANDING=538eb4b6-2241-45a3-994d-cdb9bdb0c250 -UMAMI_WEBSITE_ID_FOOD_LANDING=15610d03-b280-4b92-9c71-0ef89c23202b -UMAMI_WEBSITE_ID_PRESI_LANDING=dd485016-0077-47b9-9f59-ab2c6c1730ee -UMAMI_WEBSITE_ID_MUKKE_LANDING=b2c9ab34-3c53-4463-9dde-1ecf098886a5 - # ============================================ # CHAT PROJECT # ============================================ diff --git a/.env.macmini.example b/.env.macmini.example index d500a7d03..31ca11a1d 100644 --- a/.env.macmini.example +++ b/.env.macmini.example @@ -88,11 +88,6 @@ OPENAI_API_KEY= # ============================================ GRAFANA_PASSWORD=your-grafana-admin-password -# ============================================ -# Web Analytics (Umami) -# ============================================ -UMAMI_APP_SECRET=your-umami-secret-here - # ============================================================================= # REQUIRED — production cannot boot without these # ============================================================================= diff --git a/apps/mana/apps/web/src/lib/modules/admin/tabs/OverviewTab.svelte b/apps/mana/apps/web/src/lib/modules/admin/tabs/OverviewTab.svelte index db95b6e34..f0146c7cb 100644 --- a/apps/mana/apps/web/src/lib/modules/admin/tabs/OverviewTab.svelte +++ b/apps/mana/apps/web/src/lib/modules/admin/tabs/OverviewTab.svelte @@ -21,12 +21,6 @@ description: 'System & Backend Metrics', icon: 'grafana' as const, }, - { - name: 'Umami Analytics', - url: 'https://stats.mana.how', - description: 'Web Analytics', - icon: 'analytics' as const, - }, { name: 'Docker Dashboard', url: 'https://grafana.mana.how/d/backends-docker', diff --git a/apps/mana/apps/web/src/lib/modules/admin/tabs/SystemTab.svelte b/apps/mana/apps/web/src/lib/modules/admin/tabs/SystemTab.svelte index 0e48a394c..63b5f2b6c 100644 --- a/apps/mana/apps/web/src/lib/modules/admin/tabs/SystemTab.svelte +++ b/apps/mana/apps/web/src/lib/modules/admin/tabs/SystemTab.svelte @@ -36,12 +36,6 @@ description: 'Raw metrics & queries', icon: 'api' as const, }, - { - name: 'Umami Analytics', - url: 'https://stats.mana.how', - description: 'Web analytics dashboard', - icon: 'analytics' as const, - }, ]; const statusColors = { @@ -71,7 +65,6 @@ { name: 'Redis', status: 'healthy', url: '-' }, { name: 'MinIO', status: 'healthy', url: 'https://s3.mana.how' }, { name: 'Grafana', status: 'healthy', url: 'https://grafana.mana.how' }, - { name: 'Umami', status: 'healthy', url: 'https://stats.mana.how' }, ]; loading = false; }); diff --git a/apps/mana/apps/web/src/lib/stores/funnel-tracking.ts b/apps/mana/apps/web/src/lib/stores/funnel-tracking.ts index 25f245adb..d442f5080 100644 --- a/apps/mana/apps/web/src/lib/stores/funnel-tracking.ts +++ b/apps/mana/apps/web/src/lib/stores/funnel-tracking.ts @@ -2,7 +2,8 @@ * Funnel Tracking — fires one-time activation & retention events. * * Each event uses a localStorage flag so it fires at most once per user/device. - * These events power Umami funnels: + * Analytics-Versand ist entfernt (2026-05-26) — die ManaEvents-Aufrufe + * sind No-ops; Flags/Stufen bleiben für evtl. künftige lokale Auswertung: * signup → onboarding_completed → first_content_created → second_module_used → user_return_visit */ diff --git a/docker-compose.macmini.yml b/docker-compose.macmini.yml index bb3bfa509..bca29d9ce 100644 --- a/docker-compose.macmini.yml +++ b/docker-compose.macmini.yml @@ -141,7 +141,6 @@ services: # is provisioned (see docs/plans/ai-mission-key-grant.md). PUBLIC_AI_MISSION_GRANTS: ${PUBLIC_AI_MISSION_GRANTS:-false} # Analytics & Error Tracking - PUBLIC_UMAMI_WEBSITE_ID: 32777167-e026-4618-933a-3429120b479b PUBLIC_GLITCHTIP_DSN: ${GLITCHTIP_DSN_MANA_WEB:-} # Speech-to-Text proxy: SvelteKit /api/v1/voice/transcribe forwards # to mana-stt via Cloudflare Tunnel. The browser never sees the API diff --git a/scripts/generate-env.mjs b/scripts/generate-env.mjs index 8d5c41608..445a3f9ba 100644 --- a/scripts/generate-env.mjs +++ b/scripts/generate-env.mjs @@ -240,7 +240,6 @@ const APP_CONFIGS = [ // routet /api/* dorthin). PUBLIC_MANA_AUTH_URL: (env) => env.MANA_AUTH_URL, PUBLIC_AUTH_WEB_URL: (env) => env.MANA_AUTH_WEB_URL || 'http://localhost:3002', - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_MANA || '', PUBLIC_GLITCHTIP_DSN: (env) => env.PUBLIC_GLITCHTIP_DSN || '', // Speech-to-Text proxy (server-side only, never exposed to the client) MANA_STT_URL: (env) => env.STT_URL || 'http://localhost:3020', @@ -696,57 +695,43 @@ const APP_CONFIGS = [ // Chat Landing { path: 'apps/chat/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_CHAT_LANDING || '', - }, + vars: {}, }, // Mana Landing { path: 'apps/mana/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_MANA_LANDING || '', - }, + vars: {}, }, // Cards Landing { path: 'apps/cards/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_CARDS_LANDING || '', - }, + vars: {}, }, // Calendar Landing { path: 'apps/calendar/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_CALENDAR_LANDING || '', - }, + vars: {}, }, // Clock Landing { path: 'apps/clock/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_CLOCK_LANDING || '', - }, + vars: {}, }, // Picture Landing { path: 'apps/picture/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_PICTURE_LANDING || '', - }, + vars: {}, }, // Todo Landing { path: 'apps/todo/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_TODO_LANDING || '', - }, + vars: {}, }, // Food Landing @@ -754,17 +739,13 @@ const APP_CONFIGS = [ // Presi Landing { path: 'apps/presi/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_PRESI_LANDING || '', - }, + vars: {}, }, // Music Landing { path: 'apps/mukke/apps/landing/.env', - vars: { - PUBLIC_UMAMI_WEBSITE_ID: (env) => env.UMAMI_WEBSITE_ID_MUSIC_LANDING || '', - }, + vars: {}, }, ];