summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-02-19 09:34:23 +0800
committerBrendan Allan <[email protected]>2026-02-19 09:34:23 +0800
commitd620455531443340d2719510d37e80af433cef7e (patch)
tree888983cb4f3989ee5abb018d7bae4f39351f22fd /packages/app/src/context
parent568eccb4c654e83382253eb0c1478d24585288aa (diff)
downloadopencode-d620455531443340d2719510d37e80af433cef7e.tar.gz
opencode-d620455531443340d2719510d37e80af433cef7e.zip
app: deduplicate allServers list
Diffstat (limited to 'packages/app/src/context')
-rw-r--r--packages/app/src/context/server.tsx12
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/app/src/context/server.tsx b/packages/app/src/context/server.tsx
index 336f8aa98..389371702 100644
--- a/packages/app/src/context/server.tsx
+++ b/packages/app/src/context/server.tsx
@@ -102,15 +102,19 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext(
}),
)
- const allServers = createMemo(
- (): Array<ServerConnection.Any> => [
+ const allServers = createMemo((): Array<ServerConnection.Any> => {
+ const servers = [
...(props.servers ?? []),
...store.list.map((value) => ({
type: "http" as const,
http: typeof value === "string" ? { url: value } : value,
})),
- ],
- )
+ ]
+
+ const deduped = new Map(servers.map((conn) => [ServerConnection.key(conn), conn]))
+
+ return [...deduped.values()]
+ })
const [state, setState] = createStore({
active: props.defaultServer,