Found in the review of the capture-live-form-state branch.
In formControlAttributes (markanywhere-dump/.../FormControls.kt), a secret <textarea> is judged filled only from FormControlState.value.
When the capture could not read the value (null), it is marked data-markanywhere-redacted="empty" even if the markup gives it default text — while formControlText hides that text.
The <input> branch falls back to the markup value in the same situation and correctly says filled.
Scenario: <textarea autocomplete="one-time-code">123456</textarea> with an unread live value: the agent is told the field is blank.
Both captures always read the value today, so this needs a new caller to surface, but the contract is inconsistent.
Fix: pass the default text in (or let the caller report "has default text") so the textarea falls back like the input does.
Found in the review of the
capture-live-form-statebranch.In
formControlAttributes(markanywhere-dump/.../FormControls.kt), a secret<textarea>is judged filled only fromFormControlState.value.When the capture could not read the value (
null), it is markeddata-markanywhere-redacted="empty"even if the markup gives it default text — whileformControlTexthides that text.The
<input>branch falls back to the markupvaluein the same situation and correctly saysfilled.Scenario:
<textarea autocomplete="one-time-code">123456</textarea>with an unread live value: the agent is told the field is blank.Both captures always read the value today, so this needs a new caller to surface, but the contract is inconsistent.
Fix: pass the default text in (or let the caller report "has default text") so the textarea falls back like the input does.