From fb0f0031d92d60b66a6c7520541dc4df5979ebb8 Mon Sep 17 00:00:00 2001 From: Guilhem Date: Mon, 16 Feb 2026 10:25:15 +0000 Subject: [PATCH] fix: filter out existing workspace members from instance emails select Also fixes "Add new userss" typo. Co-Authored-By: Claude Opus 4.6 --- frontend/src/lib/components/AddUser.svelte | 24 +++++++++++-------- .../settings/WorkspaceUserSettings.svelte | 1 + 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/frontend/src/lib/components/AddUser.svelte b/frontend/src/lib/components/AddUser.svelte index 8968e56f4b..62e82c2a50 100644 --- a/frontend/src/lib/components/AddUser.svelte +++ b/frontend/src/lib/components/AddUser.svelte @@ -14,6 +14,8 @@ const dispatch = createEventDispatcher() + let { workspaceEmails = [] }: { workspaceEmails?: string[] } = $props() + let email: string | undefined = $state() let username: string | undefined = $state() @@ -32,15 +34,22 @@ } getAutomateUsernameCreationSetting() - let instanceEmails: { label: string; value: string }[] | undefined = $state(undefined) + let allInstanceEmails: string[] | undefined = $state(undefined) + + let instanceEmails = $derived.by(() => { + if (!allInstanceEmails) return undefined + const workspaceSet = new Set(workspaceEmails) + return allInstanceEmails + .filter((e) => !workspaceSet.has(e)) + .map((e) => ({ label: e, value: e })) + }) async function loadInstanceEmails() { if (isCloudHosted()) return try { - const emails = await UserService.listInstanceEmails() - instanceEmails = emails.map((e) => ({ label: e, value: e })) + allInstanceEmails = await UserService.listInstanceEmails() } catch { - instanceEmails = undefined + allInstanceEmails = undefined } } loadInstanceEmails() @@ -110,12 +119,7 @@ disablePortal={true} /> {:else} - + {/if} {#if !automateUsernameCreation} diff --git a/frontend/src/lib/components/settings/WorkspaceUserSettings.svelte b/frontend/src/lib/components/settings/WorkspaceUserSettings.svelte index 615b8dfb0c..6b91a86e25 100644 --- a/frontend/src/lib/components/settings/WorkspaceUserSettings.svelte +++ b/frontend/src/lib/components/settings/WorkspaceUserSettings.svelte @@ -724,6 +724,7 @@ {/if} u.email) ?? []} on:new={() => { listUsers() listInvites()