View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0012024 | Taler | other | public | 2026-11-10 23:42 | 2026-11-10 23:55 |
| Reporter | bot-cg [agent] | Assigned To | Resolution deadline | ||
| Implementer | Reviewer | ||||
| Release signed by | Deployed by | ||||
| Verifier | Communicator | CM_7 | |||
| Data protection authority notification required | No | ||||
| CSIRT notification required | No | ||||
| Estimated effort (hours) | Actual effort (hours) | 0 | |||
| Fast-track | No | ||||
| Work package | none | ||||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Summary | 0012024: 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 | ||||
| Description | Companion to the merchant-portal issue of the same audit, covering the other web UIs in taler-typescript-core (children of this issue; the Anastasis web UI cases are filed in the Anastasis project and related to this one). Notable: the web-util form framework's `focus` flag has been inert since 15f551608 commented out the focus call in InputLine (it had made every field re-grab focus on each keystroke). The fix focuses the first fillable field once on mount; the AML, KYC and challenger form fixes depend on it. In the bank, the MFA dialog left focus on the 'Send transfer' button behind it, so Enter re-submitted the operation; several bank pages lost their focus when a402cc1a2 stopped passing `focus`. In the challenger, the PIN field's inline ref re-focused it every second during the resend countdown. Why this keeps happening: Preact does not implement autoFocus. It only sets the HTML autofocus attribute, which browsers honour once per document (initial load), so in these single-page apps a field rendered later, such as a dialog, a wizard step or a new route, stays unfocused unless code calls focus() on mount. Several components accept a `focus` prop that nothing passes or nothing acts on. Each child issue describes one dialog/screen/component, with before/after screenshots and a patch. All fixes are on branch dev/bots/autofocus (durian); the commit ids are added as a note here. Rules followed: focus the only input of a PIN/code prompt; the first empty field of a create/edit form or step; the safe choice (Cancel) of a confirmation without input, never the destructive action; keep overview/list pages and review-and-pay steps unfocused; focus once on mount or step change, never on re-render. | ||||
| Tags | No tags attached. | ||||
| ID | Summary | Status | Assigned To | Estimated effort (hours) |
|---|---|---|---|---|
| 0012025 | AML: 'Session locked' page does not focus the password field | new | ||
| 0012026 | AML: 'Create session' (officer key creation) does not focus the password field | new | ||
| 0012027 | AML: 'Find account' does not focus the account identifier field | new | ||
| 0012028 | AML decision wizard: 'Case disposition' step does not focus the decision rationale | new | ||
| 0012029 | AML decision wizard: 'Create custom measure' does not focus the Name field | new | ||
| 0012030 | AML decision wizard: 'Add proposed rule' editor opens without focus | new | ||
| 0012031 | Auditor: 'Suppress the row' confirmation does not move focus into the dialog | new | ||
| 0012032 | Auditor: mobile navigation drawer opens without moving focus into it | new | ||
| 0012033 | Auditor: 'Development settings' page does not focus the Auditor base URL field | new | ||
| 0012034 | Bank: multi-factor authentication dialog leaves focus on the button behind the overlay | new | ||
| 0012035 | Bank: 'Send bank transfer' page does not focus the recipient (or the reference when the recipient comes from the link) | new | ||
| 0012036 | Bank: 'Withdraw to Taler Wallet' page does not focus the amount | new | ||
| 0012037 | Bank: 'Cash out' page does not focus the transfer reference | new | ||
| 0012038 | Bank (admin): 'New bank account' form does not focus the login username | new | ||
| 0012039 | Bank: 'Update password' page does not focus the password field | new | ||
| 0012040 | Bank: 'Delete account' confirmation does not focus the type-the-name input | new | ||
| 0012041 | Bank (admin): 'New conversion rate class' does not focus the name, and its form would focus the description | new | ||
| 0012042 | Bank: withdrawal confirmation dialog focuses its heading even when the user must type the cash amount or a password | new | ||
| 0012043 | Challenger: code entry pulls focus back to the PIN field every second during the resend countdown | new | ||
| 0012044 | Challenger: address entry form (email/phone/postal, initial and change) does not focus its first field | new | ||
| 0012045 | Challenger: developer 'Create a verification session' form does not focus the client password (or redirect URL) | new | ||
| 0012046 | KYC: opening a requirement's form does not focus its first field | new | ||
| 0012047 | Wallet: Send money / Request money form does not focus the amount | new | ||
| 0012048 | Wallet: Deposit to a bank account does not focus the amount | new | ||
| 0012049 | Wallet: Withdraw screen's existing amount auto-focus never fires on #/withdraw | new | ||
| 0012050 | Wallet: 'Enter a wallet link' page does not focus the link field | new | ||
| 0012051 | Wallet: 'Create payment' (merchant payment template) form does not focus the first editable field | new | ||
| 0012052 | Wallet: donation-receipt setup does not focus the field to fill in | new | ||
| 0012053 | Wallet: Bank accounts 'Edit' / 'Add bank account' leave focus on the button; the opened form can be off-screen | new | ||
| 0012054 | Wallet: shared ConfirmationDialog focuses an extra body action instead of Cancel (durability prompt) | new | ||
| 0012055 | Wallet: '•••' overflow menu opens without moving focus into the menu | new | ||
| 0012056 | Wallet demo: 'Scenarios' menu opens without moving focus into the menu | new | ||
| 0012057 | web-util: Forms: `<FormUI focus>` and the per-field `focus` prop never focus anything | new | ||
| 0012058 | web-util: Terms of service form: 'Read terms' is not focused, and the terms reader moves focus back to its × button whenever the page re-renders | new | ||
| 0012059 | web-util: Date fields: the calendar dialog opens with focus left behind the overlay, and closing it drops focus to the page body | new | ||
| 0012060 | web-util: Header settings panel: closing it with × drops focus to the page body | new | ||
| This issue (hours) | ||||
| Its children (hours) | 0 | |||
| Together (hours) | 0 | |||
Not planned yet: 0012025, 0012026, 0012027, 0012028, 0012029, 0012030, 0012031, 0012032, 0012033, 0012034, 0012035, 0012036, 0012037, 0012038, 0012039, 0012040, 0012041, 0012042, 0012043, 0012044, 0012045, 0012046, 0012047, 0012048, 0012049, 0012050, 0012051, 0012052, 0012053, 0012054, 0012055, 0012056, 0012057, 0012058, 0012059, 0012060. The plan of this issue cannot be finished while part of it is unplanned.
| parent of | 0012025 | new | Taler | AML: 'Session locked' page does not focus the password field | |
| parent of | 0012026 | new | Taler | AML: 'Create session' (officer key creation) does not focus the password field | |
| parent of | 0012027 | new | Taler | AML: 'Find account' does not focus the account identifier field | |
| parent of | 0012028 | new | Taler | AML decision wizard: 'Case disposition' step does not focus the decision rationale | |
| parent of | 0012029 | new | Taler | AML decision wizard: 'Create custom measure' does not focus the Name field | |
| parent of | 0012030 | new | Taler | AML decision wizard: 'Add proposed rule' editor opens without focus | |
| parent of | 0012031 | new | Taler | Auditor: 'Suppress the row' confirmation does not move focus into the dialog | |
| parent of | 0012032 | new | Taler | Auditor: mobile navigation drawer opens without moving focus into it | |
| parent of | 0012033 | new | Taler | Auditor: 'Development settings' page does not focus the Auditor base URL field | |
| parent of | 0012034 | new | Taler | Bank: multi-factor authentication dialog leaves focus on the button behind the overlay | |
| parent of | 0012035 | new | Taler | Bank: 'Send bank transfer' page does not focus the recipient (or the reference when the recipient comes from the link) | |
| parent of | 0012036 | new | Taler | Bank: 'Withdraw to Taler Wallet' page does not focus the amount | |
| parent of | 0012037 | new | Taler | Bank: 'Cash out' page does not focus the transfer reference | |
| parent of | 0012038 | new | Taler | Bank (admin): 'New bank account' form does not focus the login username | |
| parent of | 0012039 | new | Taler | Bank: 'Update password' page does not focus the password field | |
| parent of | 0012040 | new | Taler | Bank: 'Delete account' confirmation does not focus the type-the-name input | |
| parent of | 0012041 | new | Taler | Bank (admin): 'New conversion rate class' does not focus the name, and its form would focus the description | |
| parent of | 0012042 | new | Taler | Bank: withdrawal confirmation dialog focuses its heading even when the user must type the cash amount or a password | |
| parent of | 0012043 | new | Taler | Challenger: code entry pulls focus back to the PIN field every second during the resend countdown | |
| parent of | 0012044 | new | Taler | Challenger: address entry form (email/phone/postal, initial and change) does not focus its first field | |
| parent of | 0012045 | new | Taler | Challenger: developer 'Create a verification session' form does not focus the client password (or redirect URL) | |
| parent of | 0012046 | new | Taler | KYC: opening a requirement's form does not focus its first field | |
| parent of | 0012047 | new | Taler | Wallet: Send money / Request money form does not focus the amount | |
| parent of | 0012048 | new | Taler | Wallet: Deposit to a bank account does not focus the amount | |
| parent of | 0012049 | new | Taler | Wallet: Withdraw screen's existing amount auto-focus never fires on #/withdraw | |
| parent of | 0012050 | new | Taler | Wallet: 'Enter a wallet link' page does not focus the link field | |
| parent of | 0012051 | new | Taler | Wallet: 'Create payment' (merchant payment template) form does not focus the first editable field | |
| parent of | 0012052 | new | Taler | Wallet: donation-receipt setup does not focus the field to fill in | |
| parent of | 0012053 | new | Taler | Wallet: Bank accounts 'Edit' / 'Add bank account' leave focus on the button; the opened form can be off-screen | |
| parent of | 0012054 | new | Taler | Wallet: shared ConfirmationDialog focuses an extra body action instead of Cancel (durability prompt) | |
| parent of | 0012055 | new | Taler | Wallet: '•••' overflow menu opens without moving focus into the menu | |
| parent of | 0012056 | new | Taler | Wallet demo: 'Scenarios' menu opens without moving focus into the menu | |
| parent of | 0012057 | new | Taler | web-util: Forms: `<FormUI focus>` and the per-field `focus` prop never focus anything | |
| parent of | 0012058 | new | Taler | web-util: Terms of service form: 'Read terms' is not focused, and the terms reader moves focus back to its × button whenever the page re-renders | |
| parent of | 0012059 | new | Taler | web-util: Date fields: the calendar dialog opens with focus left behind the overlay, and closing it drops focus to the page body | |
| parent of | 0012060 | new | Taler | web-util: Header settings panel: closing it with × drops focus to the page body | |
| related to | 0012061 | new | Anastasis | Anastasis: "Where do you live?" step does not focus the continent selector | |
| related to | 0012062 | new | Anastasis | Anastasis: "New/Edit recovery policy" form does not focus its first provider selector | |
| related to | 0012063 | new | Anastasis | Anastasis: "Add email authorization" step does not focus the email address field | |
| Not all the children of this issue are yet resolved or closed. | |||||
| Fixes for this issue and all its children are on branch dev/bots/autofocus (durian), rebased on master bf2e571a2: e4cfe1bd2 web-util: honour the focus flag in forms and dialogs c0c3962de merchant web UI: keep tutorial previews from taking focus 4693f4f1d merchant web UI: focus the code field in verification steps 8a4eb4219 merchant web UI: start dialogs and create forms on their first field b48f5dd89 bank web UI: focus the field each page and dialog asks for 216b033fe wallet web UI: focus the amount or field each form asks for first 908d48a85 anastasis web UI: focus the first field of three setup steps dbbabcf82 exchange AML web UI: focus the password, search and decision fields 21293f654 exchange KYC web UI: focus the first fillable field of a requirement form eaec0bcf6 challenger web UI: focus the address form and stop re-focusing the PIN 150044e2b auditor web UI: move focus into the suppress dialog and the menu drawer Unit tests with the branch: web-util 64/64, bank 107/107, anastasis 83/83, AML 69/69, KYC 1/1, challenger 12/12, auditor 23/23, wallet 322/322 (wallet run before the rebase onto bf2e571a2: on current master wallet-webui does not compile, 29 errors in its observation code, identical without this branch; the branch touches none of those files). tsc clean in all other packages. The AML (0012025-0012030), KYC (0012046) and challenger address-form (0012044) fixes depend on the web-util form fix (0012057, commit e4cfe1bd2). | |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-11-10 23:42 | bot-cg | New Issue | |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012025 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012059 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012058 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012057 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012056 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012055 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012054 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012053 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012052 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012051 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012050 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012049 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012048 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012047 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012046 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012045 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012044 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012043 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012042 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012041 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012040 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012039 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012038 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012037 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012036 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012035 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012034 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012033 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012032 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012031 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012030 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012029 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012028 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012027 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012026 |
| 2026-11-10 23:42 | bot-cg | Relationship added | parent of 0012060 |
| 2026-11-10 23:55 | bot-cg | Note Added: 0030390 |