From c6f684366aab90a5cd532bad4b5ad9390e9bf3bd Mon Sep 17 00:00:00 2001
From: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Date: Wed, 3 Jun 2026 16:25:45 +0800
Subject: [PATCH] feat(app): add servers tab to settings dialog (#29675)
---
packages/app/src/app.tsx | 6 +-
.../components/dialog-connect-provider.tsx | 2 +
packages/app/src/components/dialog-fork.tsx | 2 +-
.../src/components/dialog-manage-models.tsx | 1 +
.../components/dialog-select-directory.tsx | 21 +-
.../app/src/components/dialog-select-file.tsx | 1 +
.../app/src/components/dialog-select-mcp.tsx | 1 +
.../components/dialog-select-model-unpaid.tsx | 4 +-
.../src/components/dialog-select-model.tsx | 2 +-
.../src/components/dialog-select-provider.tsx | 1 +
.../src/components/dialog-select-server.tsx | 376 ++++++++++--------
.../app/src/components/dialog-settings.tsx | 10 +-
packages/app/src/components/prompt-input.tsx | 4 +-
.../session/session-new-design-view.tsx | 2 +-
.../app/src/components/settings-models.tsx | 14 +-
.../app/src/components/settings-providers.tsx | 12 +-
.../src/components/settings-server-picker.tsx | 106 +++++
.../app/src/components/settings-servers.tsx | 33 ++
.../settings-v2/dialog-settings-v2.tsx | 8 +
.../src/components/status-popover-body.tsx | 154 +++----
.../app/src/components/status-popover.tsx | 18 +-
packages/app/src/context/global.tsx | 248 ++++++++++++
packages/app/src/context/server-sdk.tsx | 23 +-
packages/app/src/context/server-sync.tsx | 42 +-
packages/app/src/context/servers.tsx | 20 -
packages/app/src/context/settings.tsx | 4 +
packages/app/src/pages/home.tsx | 211 +++++-----
packages/app/src/pages/layout.tsx | 4 +-
packages/app/src/pages/session.tsx | 2 +-
packages/ui/src/components/list.css | 2 +-
30 files changed, 921 insertions(+), 413 deletions(-)
create mode 100644 packages/app/src/components/settings-server-picker.tsx
create mode 100644 packages/app/src/components/settings-servers.tsx
create mode 100644 packages/app/src/context/global.tsx
delete mode 100644 packages/app/src/context/servers.tsx
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx
index 9554a6363..915c8ec53 100644
--- a/packages/app/src/app.tsx
+++ b/packages/app/src/app.tsx
@@ -33,6 +33,7 @@ import { CommentsProvider } from "@/context/comments"
import { FileProvider } from "@/context/file"
import { ServerSDKProvider } from "@/context/server-sdk"
import { ServerSyncProvider } from "@/context/server-sync"
+import { GlobalProvider } from "@/context/global"
import { HighlightsProvider } from "@/context/highlights"
import { LanguageProvider, type Locale, useLanguage } from "@/context/language"
import { LayoutProvider } from "@/context/layout"
@@ -47,7 +48,6 @@ import DirectoryLayout from "@/pages/directory-layout"
import Layout from "@/pages/layout"
import { ErrorPage } from "./pages/error"
import { useCheckServerHealth } from "./utils/server-health"
-import { ServersProvider } from "./context/servers"
const HomeRoute = lazy(() => import("@/pages/home"))
const Session = lazy(() => import("@/pages/session"))
@@ -316,7 +316,7 @@ export function AppInterface(props: {
}) {
return (