From e42206bdcaffe8a577d45076a7e613eedba88261 Mon Sep 17 00:00:00 2001 From: Ariane Emory Date: Mon, 24 Nov 2025 02:24:40 -0500 Subject: [PATCH 1/3] sort MCP servers alphabetically in sidebar Display MCP servers in alphabetical order in the session sidebar for consistent and predictable ordering. Previously, MCPs appeared in the order their connections completed, which varied based on startup time and network latency. --- .../src/cli/cmd/tui/routes/session/sidebar.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx index 9ba799f09e4..5f89e0e929e 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx @@ -18,6 +18,9 @@ export function Sidebar(props: { sessionID: string }) { const [todoExpanded, setTodoExpanded] = createSignal(true) const [lspExpanded, setLspExpanded] = createSignal(true) + // Sort MCP servers alphabetically for consistent display order + const mcpEntries = createMemo(() => Object.entries(sync.data.mcp).sort(([a], [b]) => a.localeCompare(b))) + const cost = createMemo(() => { const total = messages().reduce((sum, x) => sum + (x.role === "assistant" ? x.cost : 0), 0) return new Intl.NumberFormat("en-US", { @@ -58,22 +61,22 @@ export function Sidebar(props: { sessionID: string }) { {context()?.percentage ?? 0}% used {cost()} spent - 0}> + 0}> Object.keys(sync.data.mcp).length > 2 && setMcpExpanded(!mcpExpanded())} + onMouseDown={() => mcpEntries().length > 2 && setMcpExpanded(!mcpExpanded())} > - 2}> + 2}> {mcpExpanded() ? "▼" : "▶"} MCP - - + + {([key, item]) => ( Date: Mon, 24 Nov 2025 07:27:28 +0000 Subject: [PATCH 2/3] Update Nix flake.lock and hashes --- flake.lock | 6 +++--- nix/hashes.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 1150e275150..826bf4d8608 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1763618868, - "narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=", + "lastModified": 1763806073, + "narHash": "sha256-FHsEKDvfWpzdADWj99z7vBk4D716Ujdyveo5+A048aI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942", + "rev": "878e468e02bfabeda08c79250f7ad583037f2227", "type": "github" }, "original": { diff --git a/nix/hashes.json b/nix/hashes.json index 6063a49bd3f..16424b3a035 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,3 +1,3 @@ { - "nodeModules": "sha256-/ZkyVHgRMjhzBpnDNTR6X+TomtTMarVU7gmq9Z8Czr8=" + "nodeModules": "sha256-m7hL9Uzqk+oa2/FtgkzEPgi+m/VZP1SvjpgYHNjiS1c=" } From 34218059699f5283cfa85e0f2038f59772bff6f8 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 24 Nov 2025 07:49:39 +0000 Subject: [PATCH 3/3] chore: format code --- packages/plugin/package.json | 2 +- packages/sdk/js/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugin/package.json b/packages/plugin/package.json index 0a9239f6fde..9f284756d9b 100644 --- a/packages/plugin/package.json +++ b/packages/plugin/package.json @@ -24,4 +24,4 @@ "typescript": "catalog:", "@typescript/native-preview": "catalog:" } -} \ No newline at end of file +} diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 2f4c1cd1fe5..b43cd27837e 100644 --- a/packages/sdk/js/package.json +++ b/packages/sdk/js/package.json @@ -26,4 +26,4 @@ "publishConfig": { "directory": "dist" } -} \ No newline at end of file +}