View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0012025 | Taler | exchange AML officer webui | public | 2026-11-10 23:42 | 2026-11-10 23:42 |
| 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 | 0012025: AML: 'Session locked' page does not focus the password field | ||||
| Description | What happens: The officer session is locked on every reload, and also when the officer presses 'Lock' in the header. Routing then renders UnlockSession (also used by HandleAccountNotReady). It is a dedicated unlock page whose only input is the password, but nothing is focused, so the officer has to click into the field before typing. Measured on the 'officer access / SessionLocked' story: activeElement = BODY. Expected: The password input is focused as soon as the page appears. Where: - packages/taler-exchange-aml-webui/src/components/UnlockSession.tsx:146 Measured in headless Chromium (document.activeElement): before: BODY (nothing focused) after: INPUT[name=password][type=password] 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 the form framework's `focus` property to the password `InputLine`. This takes effect through the web-util change, now in the working tree, that makes InputLine focus itself once on mount when `focus` is set (useAutoFocus). 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 --noEmit ok (planted-error sanity check caught); AML unit tests 69/69 pass, including UnlockSession.test; before = git HEAD (aml + web-util), after = working tree incl. the web-util useAutoFocus change; the screenshot confirms the caret is in the password field | ||||
| Tags | No tags attached. | ||||
| Attached Files | aml--unlock-session.diff (638 bytes)
diff --git a/packages/taler-exchange-aml-webui/src/components/UnlockSession.tsx b/packages/taler-exchange-aml-webui/src/components/UnlockSession.tsx
index dbc6b88c3..70531f04b 100644
--- a/packages/taler-exchange-aml-webui/src/components/UnlockSession.tsx
+++ b/packages/taler-exchange-aml-webui/src/components/UnlockSession.tsx
@@ -143,6 +143,7 @@ export function UnlockSession({ officer }: { officer: OfficerLocked }): VNode {
name="password"
type="password"
required
+ focus
handler={handler.getUiFieldForAttribute("password")}
/>
</div>
| ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-11-10 23:42 | bot-cg | New Issue | |
| 2026-11-10 23:42 | bot-cg | Relationship added | child of 0012024 |
| 2026-11-10 23:42 | bot-cg | Relationship added | related to 0012057 |
| 2026-11-10 23:42 | bot-cg | File Added: aml--unlock-session.diff | |
| 2026-11-10 23:42 | bot-cg | File Added: aml--unlock-session--before.png | |
| 2026-11-10 23:42 | bot-cg | File Added: aml--unlock-session--after.png |