From df7873562d51d82ffdec419951598810269f3312 Mon Sep 17 00:00:00 2001 From: Felarof Date: Wed, 8 Apr 2026 16:39:00 -0700 Subject: [PATCH] Revert Kimi partnership UI, restore daily limit survey (#663) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: add uBlock Origin install info to getting started and ad-blocking pages Chrome dropped support for the full uBlock Origin extension — highlight that BrowserOS brings it back and make it easy to install from both the getting started guide and the dedicated ad-blocking page. Co-Authored-By: Claude Opus 4.6 * feat: revert Kimi partnership UI, restore daily limit survey Remove Kimi/Moonshot AI partnership branding from the rate limit banner, provider card, provider templates, and LLM hub. Restore the original survey CTA on daily limit errors. Moonshot AI remains as a regular provider template without the "Recommended" badge. Co-Authored-By: Claude Opus 4.6 * fix: address Greptile review comments - Guard survey CTA with !isCreditsExhausted to avoid showing it for credits-exhausted users who already see "View Usage & Billing" - Remove dead kimi-launch feature flag files (kimi-launch.ts, useKimiLaunch.ts) - Remove unused KIMI_RATE_LIMIT analytics events - Remove VITE_PUBLIC_KIMI_LAUNCH from env schema and .env.example Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Claude Opus 4.6 --- docs/features/ad-blocking.mdx | 12 ++-- docs/onboarding.mdx | 4 ++ .../browseros-agent/apps/agent/.env.example | 3 - .../app/ai-settings/NewProviderDialog.tsx | 4 -- .../app/ai-settings/ProviderCard.tsx | 37 ++++------ .../ai-settings/ProviderTemplatesSection.tsx | 4 -- .../app/llm-hub/HubProviderRow.tsx | 25 +------ .../entrypoints/sidepanel/index/ChatError.tsx | 70 +++++++------------ .../agent/lib/constants/analyticsEvents.ts | 8 --- .../browseros-agent/apps/agent/lib/env.ts | 1 - .../agent/lib/feature-flags/kimi-launch.ts | 14 ---- .../agent/lib/feature-flags/useKimiLaunch.ts | 5 -- .../apps/agent/lib/llm-hub/storage.ts | 33 +-------- .../apps/agent/lib/llm-providers/storage.ts | 24 +++---- 14 files changed, 64 insertions(+), 180 deletions(-) delete mode 100644 packages/browseros-agent/apps/agent/lib/feature-flags/kimi-launch.ts delete mode 100644 packages/browseros-agent/apps/agent/lib/feature-flags/useKimiLaunch.ts diff --git a/docs/features/ad-blocking.mdx b/docs/features/ad-blocking.mdx index 5d9c7ad86..8e815baf0 100644 --- a/docs/features/ad-blocking.mdx +++ b/docs/features/ad-blocking.mdx @@ -3,13 +3,17 @@ title: "Ad Blocking" description: "BrowserOS supports full ad blocking with uBlock Origin" --- -BrowserOS supports full ad blocking through [uBlock Origin](https://ublockorigin.com/), the most effective open-source ad blocker available. +BrowserOS supports full ad blocking through [uBlock Origin](https://ublockorigin.com/), the most powerful open-source ad blocker available — the full extension, not the watered-down "Lite" version. -## How It Works +## Why BrowserOS? -Chrome has been [phasing out support](https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline) for Manifest V2 extensions, which uBlock Origin relies on for its full blocking capabilities. We re-enabled Manifest V2 support in BrowserOS so uBlock Origin can run at full power. +Chrome [killed support](https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline) for uBlock Origin by phasing out Manifest V2 extensions. The only option left on Chrome is "uBlock Origin Lite," a significantly weaker version that can't use advanced filtering rules. -Install it from the Chrome Web Store: [uBlock Origin](https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm) +**BrowserOS re-enabled full Manifest V2 support**, so you can install and run the original uBlock Origin at full power — the same extension Chrome no longer allows. + + + Install the full uBlock Origin extension from the Chrome Web Store. Works on BrowserOS out of the box. + ## BrowserOS vs Chrome diff --git a/docs/onboarding.mdx b/docs/onboarding.mdx index b696a7621..f79eebd89 100644 --- a/docs/onboarding.mdx +++ b/docs/onboarding.mdx @@ -42,6 +42,10 @@ Welcome to BrowserOS! Let's get you set up. ## You're all set! + +**Block ads with uBlock Origin** — Chrome dropped support for the full uBlock Origin extension, but BrowserOS brought it back. [Install it from the Chrome Web Store](https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm) and browse ad-free. [Learn more →](/features/ad-blocking) + + Explore what BrowserOS can do: diff --git a/packages/browseros-agent/apps/agent/.env.example b/packages/browseros-agent/apps/agent/.env.example index 1334cee7e..3ba30eaa3 100644 --- a/packages/browseros-agent/apps/agent/.env.example +++ b/packages/browseros-agent/apps/agent/.env.example @@ -15,9 +15,6 @@ VITE_PUBLIC_SENTRY_DSN= # BrowserOS API URL VITE_PUBLIC_BROWSEROS_API=https://api.browseros.com -# Launch feature flags -VITE_PUBLIC_KIMI_LAUNCH=false - # GraphQL Schema Path (optional — falls back to schema/schema.graphql) GRAPHQL_SCHEMA_PATH= diff --git a/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/NewProviderDialog.tsx b/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/NewProviderDialog.tsx index 7dfd7b476..c8f050cf7 100644 --- a/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/NewProviderDialog.tsx +++ b/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/NewProviderDialog.tsx @@ -61,7 +61,6 @@ import { KIMI_API_KEY_GUIDE_CLICKED_EVENT, MODEL_SELECTED_EVENT, } from '@/lib/constants/analyticsEvents' -import { useKimiLaunch } from '@/lib/feature-flags/useKimiLaunch' import { getDefaultBaseUrlForProviders, getProviderTemplate, @@ -226,7 +225,6 @@ export const NewProviderDialog: FC = ({ const modelListRef = useRef(null) const { supports } = useCapabilities() const { baseUrl: agentServerUrl } = useAgentServerUrl() - const kimiLaunch = useKimiLaunch() const filteredProviderTypeOptions = providerTypeOptions.filter((opt) => { if (opt.value === 'chatgpt-pro') @@ -234,8 +232,6 @@ export const NewProviderDialog: FC = ({ if (opt.value === 'github-copilot') return supports(Feature.GITHUB_COPILOT_SUPPORT) if (opt.value === 'qwen-code') return supports(Feature.QWEN_CODE_SUPPORT) - if (opt.value === 'moonshot') - return kimiLaunch || initialValues?.type === 'moonshot' if (opt.value === 'openai-compatible') { return supports(Feature.OPENAI_COMPATIBLE_SUPPORT) } diff --git a/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/ProviderCard.tsx b/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/ProviderCard.tsx index 273621b1c..8596d22e2 100644 --- a/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/ProviderCard.tsx +++ b/packages/browseros-agent/apps/agent/entrypoints/app/ai-settings/ProviderCard.tsx @@ -2,7 +2,6 @@ import { Check, Loader2, Trash2 } from 'lucide-react' import type { FC } from 'react' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' -import { useKimiLaunch } from '@/lib/feature-flags/useKimiLaunch' import { BrowserOSIcon, ProviderIcon } from '@/lib/llm-providers/providerIcons' import type { LlmProviderConfig } from '@/lib/llm-providers/types' import { cn } from '@/lib/utils' @@ -30,7 +29,6 @@ export const ProviderCard: FC = ({ isTesting = false, }) => { const inputId = `provider-${provider.id}` - const kimiLaunch = useKimiLaunch() return (