Follow-up to the salvaged #112861 hunk. The contributor's fix added a second ~45-line copy of the batch form JSX for the !ready preview state. Instead, the ONE existing form now renders either the live qid-keyed questions or the args-derived preview items, with every control disabled while !ready (`data-clarify-batch-preview` marks the state); the spinner survives only when there is nothing at all to show. Because inputs are disabled during the preview, nothing is ever staged under a synthetic `args-N` qid, so the swap to the gateway's qids is clean and `clarify.lock` always carries live ids. Tests: kept the contributor's two invariants, tightened the second to drive an answer after the preview→live swap and assert the locks are sent with the request qids (q0/q1). Sabotage-run: both fail against origin/main's source. Also maps the contributor email for release attribution. Part of #112855.
2 lines
9 B
Plaintext
2 lines
9 B
Plaintext
funkyotc
|