From 84a98e783916f46b3084f4ab3168800230453931 Mon Sep 17 00:00:00 2001 From: Matthew Jackson Date: Fri, 6 Mar 2026 16:43:39 -0800 Subject: [PATCH] Treat number fields as required even if DOM doesn't mark them LinkedIn validates number fields even when not marked required in the DOM. Previously these were skipped (no AI call, no answer). Now number fields always trigger AI fallback and are reported as unknown if empty. Co-Authored-By: Claude Opus 4.6 --- lib/form_filler.mjs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/form_filler.mjs b/lib/form_filler.mjs index 0fbfd09..59b6797 100644 --- a/lib/form_filler.mjs +++ b/lib/form_filler.mjs @@ -607,7 +607,9 @@ Answer:`; let formatHint = field.placeholder ? `(format: ${field.placeholder})` : ''; if (field.type === 'number') formatHint = '(must be a number, no text or units)'; let answer = this.answerFor(lbl); - if (!answer && field.required) { + // For number fields, always try AI if no answer — LinkedIn validates them even if not marked required + const needsAnswer = field.required || field.type === 'number'; + if (!answer && needsAnswer) { answer = await this.aiAnswerFor(formatHint ? `${lbl} ${formatHint}` : lbl); if (answer) this.saveAnswer(lbl, answer); } @@ -623,7 +625,7 @@ Answer:`; if (ll.includes('city') || ll.includes('location') || ll.includes('located')) { await this.selectAutocomplete(page, container); } - } else if (field.required) { + } else if (needsAnswer) { unknown.push(lbl); } }