Skip to content

Commit eaacc26

Browse files
fix(site): Fix missing parameters detection on update workspace (#6740)
1 parent dab4a0e commit eaacc26

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

site/src/api/api.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,10 @@ const getMissingParameters = (
977977
) => {
978978
const missingParameters: TypesGen.TemplateVersionParameter[] = []
979979
const requiredParameters = templateParameters.filter(
980-
(p) => p.required && p.mutable,
980+
// It is required
981+
// and it can be changed
982+
// and it is not from a legacy variable
983+
(p) => p.required && p.mutable && p.legacy_variable_name === undefined,
981984
)
982985

983986
for (const parameter of requiredParameters) {

site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,22 @@ import { useTranslation } from "react-i18next"
2525
export type UpdateBuildParametersDialogProps = DialogProps & {
2626
onClose: () => void
2727
onUpdate: (buildParameters: WorkspaceBuildParameter[]) => void
28-
parameters?: TemplateVersionParameter[]
28+
missedParameters?: TemplateVersionParameter[]
2929
}
3030

3131
export const UpdateBuildParametersDialog: FC<
3232
UpdateBuildParametersDialogProps
33-
> = ({ parameters, onUpdate, ...dialogProps }) => {
33+
> = ({ missedParameters, onUpdate, ...dialogProps }) => {
3434
const styles = useStyles()
3535
const form = useFormik({
3636
initialValues: {
37-
rich_parameter_values: selectInitialRichParametersValues(parameters),
37+
rich_parameter_values:
38+
selectInitialRichParametersValues(missedParameters),
3839
},
3940
validationSchema: Yup.object({
4041
rich_parameter_values: useValidationSchemaForRichParameters(
4142
"createWorkspacePage",
42-
parameters,
43+
missedParameters,
4344
),
4445
}),
4546
onSubmit: (values) => {
@@ -72,13 +73,9 @@ export const UpdateBuildParametersDialog: FC<
7273
onSubmit={form.handleSubmit}
7374
id="updateParameters"
7475
>
75-
{parameters && parameters.filter((p) => p.mutable).length > 0 && (
76+
{missedParameters && (
7677
<FormFields>
77-
{parameters.map((parameter, index) => {
78-
if (!parameter.mutable) {
79-
return <></>
80-
}
81-
78+
{missedParameters.map((parameter, index) => {
8279
return (
8380
<RichParameterInput
8481
{...getFieldHelpers(

site/src/pages/WorkspacePage/WorkspaceReadyPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export const WorkspaceReadyPage = ({
5252
cancellationError,
5353
applicationsHost,
5454
permissions,
55-
missingParameters,
55+
missedParameters,
5656
} = workspaceState.context
5757
if (workspace === undefined) {
5858
throw Error("Workspace is undefined")
@@ -140,7 +140,7 @@ export const WorkspaceReadyPage = ({
140140
}}
141141
/>
142142
<UpdateBuildParametersDialog
143-
parameters={missingParameters}
143+
missedParameters={missedParameters}
144144
open={workspaceState.matches(
145145
"ready.build.askingForMissedBuildParameters",
146146
)}

site/src/xServices/workspace/workspaceXService.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export interface WorkspaceContext {
6262
// Builds
6363
builds?: TypesGen.WorkspaceBuild[]
6464
getBuildsError?: Error | unknown
65-
missingParameters?: TypesGen.TemplateVersionParameter[]
65+
missedParameters?: TypesGen.TemplateVersionParameter[]
6666
// error creating a new WorkspaceBuild
6767
buildError?: Error | unknown
6868
cancellationMessage?: Types.Message
@@ -302,7 +302,7 @@ export const workspaceMachine = createMachine(
302302
{
303303
target: "askingForMissedBuildParameters",
304304
cond: "isMissingBuildParameterError",
305-
actions: ["assignMissingParameters"],
305+
actions: ["assignMissedParameters"],
306306
},
307307
{
308308
target: "idle",
@@ -597,8 +597,8 @@ export const workspaceMachine = createMachine(
597597
}
598598
},
599599
}),
600-
assignMissingParameters: assign({
601-
missingParameters: (_, { data }) => {
600+
assignMissedParameters: assign({
601+
missedParameters: (_, { data }) => {
602602
if (!(data instanceof API.MissingBuildParameters)) {
603603
throw new Error("data is not a MissingBuildParameters error")
604604
}

0 commit comments

Comments
 (0)