diff --git a/site/src/api/api.ts b/site/src/api/api.ts index 210db89a29608..715665b77e3a5 100644 --- a/site/src/api/api.ts +++ b/site/src/api/api.ts @@ -977,7 +977,10 @@ const getMissingParameters = ( ) => { const missingParameters: TypesGen.TemplateVersionParameter[] = [] const requiredParameters = templateParameters.filter( - (p) => p.required && p.mutable, + // It is required + // and it can be changed + // and it is not from a legacy variable + (p) => p.required && p.mutable && p.legacy_variable_name === undefined, ) for (const parameter of requiredParameters) { diff --git a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx index bfb9d0fbfd5e6..c2025f51cfdbf 100644 --- a/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx +++ b/site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx @@ -25,21 +25,22 @@ import { useTranslation } from "react-i18next" export type UpdateBuildParametersDialogProps = DialogProps & { onClose: () => void onUpdate: (buildParameters: WorkspaceBuildParameter[]) => void - parameters?: TemplateVersionParameter[] + missedParameters?: TemplateVersionParameter[] } export const UpdateBuildParametersDialog: FC< UpdateBuildParametersDialogProps -> = ({ parameters, onUpdate, ...dialogProps }) => { +> = ({ missedParameters, onUpdate, ...dialogProps }) => { const styles = useStyles() const form = useFormik({ initialValues: { - rich_parameter_values: selectInitialRichParametersValues(parameters), + rich_parameter_values: + selectInitialRichParametersValues(missedParameters), }, validationSchema: Yup.object({ rich_parameter_values: useValidationSchemaForRichParameters( "createWorkspacePage", - parameters, + missedParameters, ), }), onSubmit: (values) => { @@ -72,13 +73,9 @@ export const UpdateBuildParametersDialog: FC< onSubmit={form.handleSubmit} id="updateParameters" > - {parameters && parameters.filter((p) => p.mutable).length > 0 && ( + {missedParameters && ( - {parameters.map((parameter, index) => { - if (!parameter.mutable) { - return <> - } - + {missedParameters.map((parameter, index) => { return ( { + assignMissedParameters: assign({ + missedParameters: (_, { data }) => { if (!(data instanceof API.MissingBuildParameters)) { throw new Error("data is not a MissingBuildParameters error") }