View Issue Details

IDProjectCategoryView StatusLast Update
0012046Talerexchange KYC customer webuipublic2026-11-10 23:43
Reporterbot-cg [agent] Assigned ToResolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicatorCM_7  
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0012046: KYC: opening a requirement's form does not focus its first field
DescriptionWhat happens:
On the customer KYC page (#/token/<t>), each form requirement is listed with a 'Form' button. Clicking it replaces the list with that form (Start -> FillForm -> ShowForm). The clicked button is removed, so focus falls back to BODY and the customer has to click into the first field. Measured with the exchange API mocked, for __simple_comment, name_and_dob, generic_note, vqf_902_1_customer, vqf_902_4, challenger-email and accept-tos: activeElement = BODY in every case.

Expected:
The first field the customer can fill in is focused: the first text/textarea field (simple comment, name and birthdate, generic note, VQF 902.4/.5/.9/.11/.12/.13/.14); the first radio of 'Customer type' in VQF 902.1; the 'Read terms' button for accept-tos. Display-only forms whose fields are all disabled (challenger-email/sms/postal) take no focus.

Where:
  - packages/taler-exchange-kyc-webui/src/pages/FillForm.tsx:164

Measured in headless Chromium (document.activeElement):
  before: BODY (nothing focused) for all 7 forms
  after: vqf_902_4: INPUT[name=CUSTOMER_NAME]; __simple_comment: TEXTAREA[name=comment]; name_and_dob: TEXTAREA[name=full_name]; generic_note: TEXTAREA[name=NOTE_TEXT]; vqf_902_1_customer: INPUT[type=radio] (first 'Customer type' choice); accept-tos: BUTTON 'Read terms'; challenger-email: BODY (its only field is disabled, which is correct)

Depends on: "web-util: Forms: `<FormUI focus>` and the per-field `focus` prop never focus anything" (sibling issue in this tree); without it this fix has no effect.

Proposed fix:
Pass `focus` to ShowForm's FormUI. The working-tree web-util change picks the first fillable, visible, enabled field in the first visible section of double-column forms, and the 'Read terms' button for accept-tos. The step change happens once per opened form, and focus is only applied on mount.

Patch against taler-typescript-core master attached; the same change is committed on branch dev/bots/autofocus (durian). Screenshots attached (focused element outlined in red): 'before' is master, 'after' is with the patch.

Verified: tsc ok; KYC unit tests 1/1; before = git HEAD, after = working tree incl. the web-util focus change; screenshots for every form listed are in shots/ as kyc--fill-form-<formId>--{before,after}.png. A sweep of the remaining preloaded forms (vqf_902_1_officer/5/9/11/12/13/14) also lands on their first field. Typing into another field afterwards keeps focus there.
TagsNo tags attached.
Attached Files
kyc--fill-form.diff (631 bytes)   
diff --git a/packages/taler-exchange-kyc-webui/src/pages/FillForm.tsx b/packages/taler-exchange-kyc-webui/src/pages/FillForm.tsx
index 1ae7e3a38..6af8dabb7 100644
--- a/packages/taler-exchange-kyc-webui/src/pages/FillForm.tsx
+++ b/packages/taler-exchange-kyc-webui/src/pages/FillForm.tsx
@@ -161,7 +161,7 @@ function ShowForm({
   return (
     <div class="rounded-lg bg-white px-5 py-6 shadow m-4">
       <div class="space-y-10 divide-y -mt-5 divide-gray-900/10">
-        <FormUI model={handler} design={design} />
+        <FormUI model={handler} design={design} focus />
       </div>
 
       {preferences.showDebugInfo ? (
kyc--fill-form.diff (631 bytes)   

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0012057 new web-util: Forms: `<FormUI focus>` and the per-field `focus` prop never focus anything 
child of 0012024 new Web UIs (bank, wallet, exchange AML/KYC, challenger, auditor, web-util forms): dialogs and single-purpose forms open without keyboard focus on the obvious field 

Activities

Issue History

Date ModifiedUsernameFieldChange
2026-11-10 23:42bot-cgNew Issue
2026-11-10 23:42bot-cgRelationship addedchild of 0012024
2026-11-10 23:42bot-cgRelationship addedrelated to 0012057
2026-11-10 23:43bot-cgFile Added: kyc--fill-form.diff
2026-11-10 23:43bot-cgFile Added: kyc--fill-form-vqf_902_4--before.png
2026-11-10 23:43bot-cgFile Added: kyc--fill-form-vqf_902_4--after.png