fix: report unfilled required selects as unknown fields

Non-EEO required selects with no answer were silently ignored, causing
infinite loops when LinkedIn blocked page advancement. Now reported as
unknown fields so the applier can exit with needs_answer status.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 11:05:54 -08:00
parent 5aed8eb404
commit 2c04504ad8

View File

@@ -297,7 +297,6 @@ export class FormFiller {
const ll = lbl.toLowerCase();
if (ll.includes('race') || ll.includes('ethnicity') || ll.includes('gender') ||
ll.includes('veteran') || ll.includes('disability') || ll.includes('identification')) {
// Iterate options to find a "prefer not" variant — selectOption doesn't accept regex
const opts = await sel.$$('option');
for (const opt of opts) {
const text = await opt.textContent().catch(() => '');
@@ -306,6 +305,9 @@ export class FormFiller {
break;
}
}
} else if (await this.isRequired(sel)) {
// Non-EEO required select with no answer — report as unknown
unknown.push(lbl);
}
}
}