diff options
| author | Brendan Allan <[email protected]> | 2026-02-19 09:34:23 +0800 |
|---|---|---|
| committer | Brendan Allan <[email protected]> | 2026-02-19 09:34:23 +0800 |
| commit | d620455531443340d2719510d37e80af433cef7e (patch) | |
| tree | 888983cb4f3989ee5abb018d7bae4f39351f22fd /packages/app/src/context | |
| parent | 568eccb4c654e83382253eb0c1478d24585288aa (diff) | |
| download | opencode-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.tsx | 12 |
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, |
