diff --git a/agent/agent.go b/agent/agent.go index aed6652de612c..c2b7f773029db 100644 --- a/agent/agent.go +++ b/agent/agent.go @@ -1076,7 +1076,7 @@ func (a *agent) handleManifest(manifestOK *checkpoint) func(ctx context.Context, if err != nil { return xerrors.Errorf("fetch metadata: %w", err) } - a.logger.Info(ctx, "fetched manifest", slog.F("manifest", mp)) + a.logger.Info(ctx, "fetched manifest") manifest, err := agentsdk.ManifestFromProto(mp) if err != nil { a.logger.Critical(ctx, "failed to convert manifest", slog.F("manifest", mp), slog.Error(err)) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx index cf1fd1746ce44..315c8f357db29 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx @@ -119,7 +119,7 @@ export const CreateWorkspacePageViewExperimental: FC< // Only touched fields are sent to the websocket // Autofilled parameters are marked as touched since they have been modified const initialTouched = Object.fromEntries( - parameters.filter((p) => autofillByName[p.name]).map((p) => [p, true]), + parameters.filter((p) => autofillByName[p.name]).map((p) => [p.name, true]), ); // The form parameters values hold the working state of the parameters that will be submitted when creating a workspace diff --git a/site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersPageViewExperimental.tsx b/site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersPageViewExperimental.tsx index 52228f19d9f40..54bf0907da752 100644 --- a/site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersPageViewExperimental.tsx +++ b/site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersPageViewExperimental.tsx @@ -48,18 +48,6 @@ export const WorkspaceParametersPageViewExperimental: FC< onCancel, templateVersionId, }) => { - const autofillByName = Object.fromEntries( - autofillParameters.map((param) => [param.name, param]), - ); - const initialTouched = parameters.reduce( - (touched, parameter) => { - if (autofillByName[parameter.name] !== undefined) { - touched[parameter.name] = true; - } - return touched; - }, - {} as Record, - ); const form = useFormik({ onSubmit, initialValues: { @@ -68,7 +56,6 @@ export const WorkspaceParametersPageViewExperimental: FC< autofillParameters, ), }, - initialTouched, validationSchema: useValidationSchemaForDynamicParameters(parameters), enableReinitialize: false, validateOnChange: true, @@ -89,28 +76,23 @@ export const WorkspaceParametersPageViewExperimental: FC< name: parameter.name, value, }); - form.setFieldTouched(parameter.name, true); sendDynamicParamsRequest(parameter, value); }; - // Send the changed parameter and all touched parameters to the websocket const sendDynamicParamsRequest = ( parameter: PreviewParameter, value: string, ) => { const formInputs: Record = {}; - formInputs[parameter.name] = value; const parameters = form.values.rich_parameter_values ?? []; - - for (const [fieldName, isTouched] of Object.entries(form.touched)) { - if (isTouched && fieldName !== parameter.name) { - const param = parameters.find((p) => p.name === fieldName); - if (param?.value) { - formInputs[fieldName] = param.value; - } + for (const param of parameters) { + if (param?.name && param?.value) { + formInputs[param.name] = param.value; } } + formInputs[parameter.name] = value; + sendMessage(formInputs); };