parse_markdown_to_values — the read-back path for export-pdf, the export preview, and prepare-signed-reply — matched the bold field label with [^*]+, so it could not match a label containing '*' (the near-universal required-field marker: "Email *", "State *", "Signature *"). The value then stayed empty, so the exported PDF and the signed-reply attachment came out blank for that field with no error — a whole form of required fields could export completely empty. Match the label non-greedily (.+?) so '*' in labels is tolerated while still splitting at the first ':**' / '**[', which also preserves a value that itself contains ':**'. Adds tests/test_form_markdown_roundtrip.py (render -> parse roundtrip): asterisk text/choice/signature labels survive (fail before, pass after); plain labels and colon-bearing values are unaffected. Co-authored-by: NubsCarson <nubs@nubs.site>
1.7 KiB
1.7 KiB