diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx index 1527e084503d4..c2b6807a5833f 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx @@ -608,7 +608,15 @@ export const CreateWorkspacePageViewExperimental: FC<
{parameters.map((parameter, index) => { - const parameterField = `rich_parameter_values.${index}`; + const currentParameterValueIndex = + form.values.rich_parameter_values?.findIndex( + (p) => p.name === parameter.name, + ) ?? -1; + const parameterFieldIndex = + currentParameterValueIndex !== -1 + ? currentParameterValueIndex + : index; + const parameterField = `rich_parameter_values.${parameterFieldIndex}`; const isPresetParameter = presetParameterNames.includes( parameter.name, ); @@ -629,8 +637,13 @@ export const CreateWorkspacePageViewExperimental: FC< return null; } + // Get the form value by parameter name to ensure correct value mapping const formValue = - form.values?.rich_parameter_values?.[index]?.value || ""; + currentParameterValueIndex !== -1 + ? form.values?.rich_parameter_values?.[ + currentParameterValueIndex + ]?.value || "" + : ""; return ( = ({ className="min-w-60 max-w-3xl" value={coderGroups} onChange={setCoderGroups} - options={groups.map((group) => ({ - label: group.display_name || group.name, - value: group.id, - }))} + options={groups + .filter((group) => !isEveryoneGroup(group)) + .map((group) => ({ + label: group.display_name || group.name, + value: group.id, + }))} hidePlaceholderWhenSelected placeholder="Select group" emptyIndicator={

- All groups selected + No more groups to select

} />