From 1927e54c9ccb6b6ba12a58a149d552147ce15372 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Thu, 30 Jul 2026 14:32:19 +0800 Subject: [PATCH] fix(stage-ui,stage-pocket,stage-web,stage-tamagotchi,ui-server-auth): analytics import not deferred or lazied --- .../docs/ai-context/metrics-ownership.md | 2 +- apps/stage-pocket/src/App.vue | 4 +- apps/stage-pocket/src/main.ts | 6 + apps/stage-tamagotchi/src/renderer/main.ts | 6 + .../src/renderer/pages/onboarding.vue | 4 +- apps/stage-web/src/App.vue | 4 +- apps/stage-web/src/main.ts | 6 + apps/stage-web/vite.config.ts | 17 ++ apps/ui-server-auth/src/main.ts | 9 +- .../src/modules/analytics-adapters/posthog.ts | 28 +++ .../src/modules/analytics.test.ts | 75 ++++-- apps/ui-server-auth/src/modules/analytics.ts | 152 +++++++---- apps/ui-server-auth/vite.config.ts | 22 +- .../components/settings-general-fields.vue | 4 +- packages/stage-ui/package.json | 1 + .../src/composables/use-analytics.test.ts | 40 ++- .../stage-ui/src/composables/use-analytics.ts | 221 ++++++++-------- packages/stage-ui/src/libs/auth-fetch.test.ts | 10 +- packages/stage-ui/src/libs/auth-fetch.ts | 4 +- .../src/stores/analytics/button-events.ts | 22 +- .../src/stores/analytics/client.test.ts | 56 +++++ .../stage-ui/src/stores/analytics/client.ts | 235 ++++++++++++++++++ .../stage-ui/src/stores/analytics/index.ts | 55 ++-- .../src/stores/analytics/posthog.test.ts | 30 ++- .../stage-ui/src/stores/analytics/posthog.ts | 189 ++++---------- .../stage-ui/src/stores/chat/session-store.ts | 8 +- .../src/stores/exports.contract.test.ts | 73 ------ .../stage-ui/src/stores/modules/airi-card.ts | 6 +- packages/stage-ui/src/stores/providers.ts | 10 +- 29 files changed, 793 insertions(+), 506 deletions(-) create mode 100644 apps/ui-server-auth/src/modules/analytics-adapters/posthog.ts create mode 100644 packages/stage-ui/src/stores/analytics/client.test.ts create mode 100644 packages/stage-ui/src/stores/analytics/client.ts delete mode 100644 packages/stage-ui/src/stores/exports.contract.test.ts diff --git a/apps/server/docs/ai-context/metrics-ownership.md b/apps/server/docs/ai-context/metrics-ownership.md index bd96903bf..d79692bf1 100644 --- a/apps/server/docs/ai-context/metrics-ownership.md +++ b/apps/server/docs/ai-context/metrics-ownership.md @@ -112,7 +112,7 @@ ### PostHog(前端 / 外部数据源,产品侧) 已接入: -- 前端 `posthog-js` 通过 `packages/stage-ui/src/stores/analytics/posthog.ts` 初始化;web / desktop / pocket / auth / docs 共用一个 project key,以 `app_surface` 区分运行端。 +- 前端 `posthog-js` 通过 `packages/stage-ui/src/stores/analytics/posthog.ts` 动态 adapter 初始化;web / desktop / pocket / auth / docs 共用一个 project key,以 `app_surface` 区分运行端。 - Server 先把产品事实写入 `product_events`,再异步 best-effort 转发注册、支付、订阅等白名单业务事实到 PostHog;LLM / TTS per-request 事件不转发,PostHog 失败也不能影响请求主链路。 - 前端 identity:`useSharedAnalyticsStore.initialize()` watch `authStore.isAuthenticated` 自动调 `posthog.identify(user.id)` / `reset()` - 平台统一写入 `app_surface`;`entry_surface` 只表示 `settings_flux` 这类业务入口,避免同名字段混用或覆盖 PostHog super property。 diff --git a/apps/stage-pocket/src/App.vue b/apps/stage-pocket/src/App.vue index afecb30c4..183d10a58 100644 --- a/apps/stage-pocket/src/App.vue +++ b/apps/stage-pocket/src/App.vue @@ -1,7 +1,7 @@