From 02f012f5d1467ceb449a37b30e2943c0aeaea949 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Wed, 1 Jul 2026 21:10:24 -0500 Subject: [PATCH] fix(tui): clear onboarding after provider connect (#34819) Co-authored-by: Aiden Cline --- packages/tui/src/component/use-connected.tsx | 9 ++------- packages/tui/src/feature-plugins/home/tips.tsx | 9 ++++----- packages/tui/src/util/connected-provider.ts | 5 +++++ packages/tui/test/util/connected-provider.test.ts | 14 ++++++++++++++ 4 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 packages/tui/src/util/connected-provider.ts create mode 100644 packages/tui/test/util/connected-provider.test.ts diff --git a/packages/tui/src/component/use-connected.tsx b/packages/tui/src/component/use-connected.tsx index 4a54ae68e1..4fdbe4a57c 100644 --- a/packages/tui/src/component/use-connected.tsx +++ b/packages/tui/src/component/use-connected.tsx @@ -1,13 +1,8 @@ import { createMemo } from "solid-js" import { useData } from "../context/data" -import { useSync } from "../context/sync" +import { hasConnectedProvider } from "../util/connected-provider" export function useConnected() { const data = useData() - const sync = useSync() - return createMemo( - () => - (data.location.integration.list() ?? []).some((integration) => integration.connections.length > 0) || - sync.data.console_state.consoleManagedProviders.length > 0, - ) + return createMemo(() => hasConnectedProvider(data.location.integration.list() ?? [])) } diff --git a/packages/tui/src/feature-plugins/home/tips.tsx b/packages/tui/src/feature-plugins/home/tips.tsx index 9a853c371d..7b67d4aac5 100644 --- a/packages/tui/src/feature-plugins/home/tips.tsx +++ b/packages/tui/src/feature-plugins/home/tips.tsx @@ -3,6 +3,8 @@ import type { BuiltinTuiPlugin } from "../builtins" import { createMemo, Show } from "solid-js" import { Tips } from "./tips-view" import { useBindings } from "../../keymap" +import { useData } from "../../context/data" +import { hasConnectedProvider } from "../../util/connected-provider" const id = "internal:home-tips" @@ -37,13 +39,10 @@ const tui: TuiPlugin = async (api) => { order: 100, slots: { home_bottom() { + const data = useData() const hidden = createMemo(() => api.kv.get("tips_hidden", false)) const first = createMemo(() => api.state.session.count() === 0) - const connected = createMemo(() => - api.state.provider.some( - (item) => item.id !== "opencode" || Object.values(item.models).some((model) => model.cost?.input !== 0), - ), - ) + const connected = createMemo(() => hasConnectedProvider(data.location.integration.list() ?? [])) const show = createMemo(() => (!first() || !connected()) && !hidden()) return