diff --git a/global.d.ts b/global.d.ts index d655d8c6e2..ab2699c382 100644 --- a/global.d.ts +++ b/global.d.ts @@ -35,6 +35,7 @@ interface Window { mixpanel_token?: string posthog_project_token?: string posthog_api_host?: string + posthog_debug?: boolean require_whitelist?: boolean subscription_required?: boolean max_upload_size?: number diff --git a/src/platform/remoteConfig/types.ts b/src/platform/remoteConfig/types.ts index f931259a98..a683593484 100644 --- a/src/platform/remoteConfig/types.ts +++ b/src/platform/remoteConfig/types.ts @@ -31,6 +31,7 @@ export type RemoteConfig = { mixpanel_token?: string posthog_project_token?: string posthog_api_host?: string + posthog_debug?: boolean subscription_required?: boolean server_health_alert?: ServerHealthAlert max_upload_size?: number diff --git a/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.test.ts b/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.test.ts index 88bbc613b8..3066b5511d 100644 --- a/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.test.ts +++ b/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.test.ts @@ -80,28 +80,30 @@ describe('PostHogTelemetryProvider', () => { createProvider() await vi.dynamicImportSettled() - expect(hoisted.mockInit).toHaveBeenCalledWith('phc_test_token', { - api_host: 'https://t.comfy.org', - ui_host: 'https://us.posthog.com', - autocapture: false, - capture_pageview: false, - capture_pageleave: false, - persistence: 'localStorage+cookie', - debug: false - }) + expect(hoisted.mockInit).toHaveBeenCalledWith( + 'phc_test_token', + expect.objectContaining({ + api_host: 'https://t.comfy.org', + ui_host: 'https://us.posthog.com', + autocapture: false, + capture_pageview: false, + capture_pageleave: false, + persistence: 'localStorage+cookie' + }) + ) }) - it('uses custom api_host from config when provided', async () => { + it('enables debug mode when posthog_debug is true in config', async () => { window.__CONFIG__ = { posthog_project_token: 'phc_test_token', - posthog_api_host: 'https://custom.host.com' + posthog_debug: true } as typeof window.__CONFIG__ new PostHogTelemetryProvider() await vi.dynamicImportSettled() expect(hoisted.mockInit).toHaveBeenCalledWith( 'phc_test_token', - expect.objectContaining({ api_host: 'https://custom.host.com' }) + expect.objectContaining({ debug: true }) ) }) diff --git a/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.ts b/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.ts index 24890e0953..d0c0606f33 100644 --- a/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.ts +++ b/src/platform/telemetry/providers/cloud/PostHogTelemetryProvider.ts @@ -109,7 +109,9 @@ export class PostHogTelemetryProvider implements TelemetryProvider { capture_pageview: false, capture_pageleave: false, persistence: 'localStorage+cookie', - debug: import.meta.env.VITE_POSTHOG_DEBUG === 'true' + debug: + window.__CONFIG__?.posthog_debug ?? + import.meta.env.VITE_POSTHOG_DEBUG === 'true' }) this.isInitialized = true this.flushEventQueue()