summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context
diff options
context:
space:
mode:
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,