diff --git a/webview-ui/src/App.tsx b/webview-ui/src/App.tsx
index f9eb5605c26..783ddb51385 100644
--- a/webview-ui/src/App.tsx
+++ b/webview-ui/src/App.tsx
@@ -86,17 +86,12 @@ const App = () => {
const [useProviderSignupView, setUseProviderSignupView] = useState(false)
// Check PostHog feature flag for provider signup view
- // Wait for telemetry to be initialized before checking feature flags
useEffect(() => {
- if (!didHydrateState || telemetrySetting === "disabled") {
- return
- }
-
posthog.onFeatureFlags(function () {
// Feature flag for new provider-focused welcome view
setUseProviderSignupView(posthog?.getFeatureFlag("welcome-provider-signup") === "test")
})
- }, [didHydrateState, telemetrySetting])
+ }, [])
// Create a persistent state manager
const marketplaceStateManager = useMemo(() => new MarketplaceViewStateManager(), [])
diff --git a/webview-ui/src/__tests__/App.spec.tsx b/webview-ui/src/__tests__/App.spec.tsx
index 09db361c126..cf6bf9051ba 100644
--- a/webview-ui/src/__tests__/App.spec.tsx
+++ b/webview-ui/src/__tests__/App.spec.tsx
@@ -2,18 +2,9 @@
import React from "react"
import { render, screen, act, cleanup } from "@/utils/test-utils"
-import posthog from "posthog-js"
import AppWithProviders from "../App"
-// Mock posthog
-vi.mock("posthog-js", () => ({
- default: {
- onFeatureFlags: vi.fn(),
- getFeatureFlag: vi.fn(),
- },
-}))
-
vi.mock("@src/utils/vscode", () => ({
vscode: {
postMessage: vi.fn(),
@@ -198,7 +189,6 @@ describe("App", () => {
shouldShowAnnouncement: false,
experiments: {},
language: "en",
- telemetrySetting: "enabled",
})
})
@@ -348,54 +338,4 @@ describe("App", () => {
expect(chatView.getAttribute("data-hidden")).toBe("false")
expect(screen.queryByTestId("marketplace-view")).not.toBeInTheDocument()
})
-
- describe("PostHog feature flag initialization", () => {
- it("waits for state hydration before checking feature flags", () => {
- mockUseExtensionState.mockReturnValue({
- didHydrateState: false,
- showWelcome: false,
- shouldShowAnnouncement: false,
- experiments: {},
- language: "en",
- telemetrySetting: "enabled",
- })
-
- render()
-
- // PostHog feature flag check should not be called before hydration
- expect(posthog.onFeatureFlags).not.toHaveBeenCalled()
- })
-
- it("checks feature flags after state hydration when telemetry is enabled", () => {
- mockUseExtensionState.mockReturnValue({
- didHydrateState: true,
- showWelcome: false,
- shouldShowAnnouncement: false,
- experiments: {},
- language: "en",
- telemetrySetting: "enabled",
- })
-
- render()
-
- // PostHog feature flag check should be called after hydration
- expect(posthog.onFeatureFlags).toHaveBeenCalled()
- })
-
- it("does not check feature flags when telemetry is disabled", () => {
- mockUseExtensionState.mockReturnValue({
- didHydrateState: true,
- showWelcome: false,
- shouldShowAnnouncement: false,
- experiments: {},
- language: "en",
- telemetrySetting: "disabled",
- })
-
- render()
-
- // PostHog feature flag check should not be called when telemetry is disabled
- expect(posthog.onFeatureFlags).not.toHaveBeenCalled()
- })
- })
})