Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Commit 152af14

Browse files
authored
Switch to new welcome view (#9741)
1 parent 906c6f0 commit 152af14

3 files changed

Lines changed: 2 additions & 294 deletions

File tree

webview-ui/src/App.tsx

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { useCallback, useEffect, useRef, useState, useMemo } from "react"
22
import { useEvent } from "react-use"
33
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
4-
import posthog from "posthog-js"
54

65
import { ExtensionMessage } from "@roo/ExtensionMessage"
76
import TranslationProvider from "./i18n/TranslationContext"
@@ -15,8 +14,7 @@ import { ExtensionStateContextProvider, useExtensionState } from "./context/Exte
1514
import ChatView, { ChatViewRef } from "./components/chat/ChatView"
1615
import HistoryView from "./components/history/HistoryView"
1716
import SettingsView, { SettingsViewRef } from "./components/settings/SettingsView"
18-
import WelcomeView from "./components/welcome/WelcomeView"
19-
import WelcomeViewProvider from "./components/welcome/WelcomeViewProvider"
17+
import WelcomeView from "./components/welcome/WelcomeViewProvider"
2018
import { MarketplaceView } from "./components/marketplace/MarketplaceView"
2119
import { HumanRelayDialog } from "./components/human-relay/HumanRelayDialog"
2220
import { CheckpointRestoreDialog } from "./components/chat/CheckpointRestoreDialog"
@@ -79,21 +77,6 @@ const App = () => {
7977
mdmCompliant,
8078
} = useExtensionState()
8179

82-
const [useProviderSignupView, setUseProviderSignupView] = useState(false)
83-
84-
// Check PostHog feature flag for provider signup view
85-
// Wait for telemetry to be initialized before checking feature flags
86-
useEffect(() => {
87-
if (!didHydrateState || telemetrySetting === "disabled") {
88-
return
89-
}
90-
91-
posthog.onFeatureFlags(function () {
92-
// Feature flag for new provider-focused welcome view
93-
setUseProviderSignupView(posthog?.getFeatureFlag("welcome-provider-signup") === "test")
94-
})
95-
}, [didHydrateState, telemetrySetting])
96-
9780
// Create a persistent state manager
9881
const marketplaceStateManager = useMemo(() => new MarketplaceViewStateManager(), [])
9982

@@ -260,11 +243,7 @@ const App = () => {
260243
// Do not conditionally load ChatView, it's expensive and there's state we
261244
// don't want to lose (user input, disableInput, askResponse promise, etc.)
262245
return showWelcome ? (
263-
useProviderSignupView ? (
264-
<WelcomeViewProvider />
265-
) : (
266-
<WelcomeView />
267-
)
246+
<WelcomeView />
268247
) : (
269248
<>
270249
{tab === "history" && <HistoryView onDone={() => switchTab("chat")} />}

webview-ui/src/__tests__/App.spec.tsx

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,9 @@
22

33
import React from "react"
44
import { render, screen, act, cleanup } from "@/utils/test-utils"
5-
import posthog from "posthog-js"
65

76
import AppWithProviders from "../App"
87

9-
// Mock posthog
10-
vi.mock("posthog-js", () => ({
11-
default: {
12-
onFeatureFlags: vi.fn(),
13-
getFeatureFlag: vi.fn(),
14-
},
15-
}))
16-
178
vi.mock("@src/utils/vscode", () => ({
189
vscode: {
1910
postMessage: vi.fn(),
@@ -312,54 +303,4 @@ describe("App", () => {
312303
expect(chatView.getAttribute("data-hidden")).toBe("false")
313304
expect(screen.queryByTestId("marketplace-view")).not.toBeInTheDocument()
314305
})
315-
316-
describe("PostHog feature flag initialization", () => {
317-
it("waits for state hydration before checking feature flags", () => {
318-
mockUseExtensionState.mockReturnValue({
319-
didHydrateState: false,
320-
showWelcome: false,
321-
shouldShowAnnouncement: false,
322-
experiments: {},
323-
language: "en",
324-
telemetrySetting: "enabled",
325-
})
326-
327-
render(<AppWithProviders />)
328-
329-
// PostHog feature flag check should not be called before hydration
330-
expect(posthog.onFeatureFlags).not.toHaveBeenCalled()
331-
})
332-
333-
it("checks feature flags after state hydration when telemetry is enabled", () => {
334-
mockUseExtensionState.mockReturnValue({
335-
didHydrateState: true,
336-
showWelcome: false,
337-
shouldShowAnnouncement: false,
338-
experiments: {},
339-
language: "en",
340-
telemetrySetting: "enabled",
341-
})
342-
343-
render(<AppWithProviders />)
344-
345-
// PostHog feature flag check should be called after hydration
346-
expect(posthog.onFeatureFlags).toHaveBeenCalled()
347-
})
348-
349-
it("does not check feature flags when telemetry is disabled", () => {
350-
mockUseExtensionState.mockReturnValue({
351-
didHydrateState: true,
352-
showWelcome: false,
353-
shouldShowAnnouncement: false,
354-
experiments: {},
355-
language: "en",
356-
telemetrySetting: "disabled",
357-
})
358-
359-
render(<AppWithProviders />)
360-
361-
// PostHog feature flag check should not be called when telemetry is disabled
362-
expect(posthog.onFeatureFlags).not.toHaveBeenCalled()
363-
})
364-
})
365306
})

webview-ui/src/components/welcome/WelcomeView.tsx

Lines changed: 0 additions & 212 deletions
This file was deleted.

0 commit comments

Comments
 (0)