fix: server edit dialog submit button unresponsive after first save (#1132)

Upgrade react-hook-form 7.63→7.71 to fix form.reset() race condition
that silently broke zod validation on subsequent submissions.

Reset form and public-note state (publicNoteObj/Raw/Mode/Errors)
from latest data when the edit dialog opens, preventing stale state
from a previous edit session.
This commit is contained in:
naiba
2026-02-14 12:11:47 +08:00
parent ff231da753
commit 84ba33dac3
3 changed files with 6076 additions and 2 deletions
+20 -1
View File
@@ -214,8 +214,27 @@ export const ServerCard: React.FC<ServerCardProps> = ({ data, mutate }) => {
form.reset()
}
const handleOpenChange = (v: boolean) => {
if (v) {
form.reset({
...data,
ddns_profiles_raw: data.ddns_profiles
? conv.arrToStr(data.ddns_profiles)
: undefined,
override_ddns_domains_raw: data.override_ddns_domains
? JSON.stringify(data.override_ddns_domains)
: undefined,
})
setPublicNoteObj(parsePublicNote(data?.public_note))
setPublicNoteRaw(data?.public_note ?? "")
setPublicNoteMode(detectPublicNoteMode(data?.public_note))
setPublicNoteErrors({})
}
setOpen(v)
}
return (
<Dialog open={open} onOpenChange={setOpen}>
<Dialog open={open} onOpenChange={handleOpenChange}>
<DialogTrigger asChild>
<IconButton variant="outline" icon="edit" />
</DialogTrigger>