From b84ae761aa748d389e1ef7ef0bb64aa5d8e077c1 Mon Sep 17 00:00:00 2001 From: Alex Freska Date: Tue, 22 Oct 2024 16:38:07 -0400 Subject: [PATCH] fix(renterd): stop sending invalid evaluations before initial validation --- .changeset/forty-bananas-return.md | 5 +++++ apps/renterd/contexts/config/useForm.tsx | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .changeset/forty-bananas-return.md diff --git a/.changeset/forty-bananas-return.md b/.changeset/forty-bananas-return.md new file mode 100644 index 000000000..e32c455ad --- /dev/null +++ b/.changeset/forty-bananas-return.md @@ -0,0 +1,5 @@ +--- +'renterd': patch +--- + +Fixed an issue where the app was sending invalid autopilot evaluation requests before all the required data was entered by the user. diff --git a/apps/renterd/contexts/config/useForm.tsx b/apps/renterd/contexts/config/useForm.tsx index b6b374266..c1c36ff27 100644 --- a/apps/renterd/contexts/config/useForm.tsx +++ b/apps/renterd/contexts/config/useForm.tsx @@ -33,7 +33,15 @@ export function useForm({ resources }: { resources: ResourcesMaybeLoaded }) { defaultValue: 'basic', }) - // Trigger input validation on configViewMode change because many field validation + // Trigger validation when the form is first setup. + // This is necessary because otherwise the form will not validate until the + // actual fields are rendered on screen, but we use isValid for other things + // such as deciding whether to submit autopilot config evaluations. + useEffect(() => { + form.trigger() + }, [form]) + + // Trigger validation on configViewMode change because many field validation // objects switch from required to not required. useEffect(() => { form.trigger()