The step card's save form wrapped the entire card, including the autocheck 'Run checks' button and per-step extras like the email 'Send' form — those are also <form> elements. Nested forms are invalid HTML; browsers silently drop the outer form's submit when they see an inner one. So clicking 'Save step' was effectively a no-op: the POST to wph_save_step never reached the server, and the status reverted to 'not started' on reload. The bug had been there since the autocheck panel was introduced in v0.3 of the healthcheck. Restructured the step card as a <div> wrapper containing three siblings: (1) static content (title, blurb, sub-items, watch-outs, escalation), (2) the autocheck panel + step render_extra (each with their own forms), (3) the save form. No nesting anywhere. Verified end-to-end on testsite: step status and notes now persist across page loads. The email step (which has 3 sibling forms — refresh checks, send test, save) also renders without nesting.
32 KiB
32 KiB