https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43520 --- Comment #1 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Narrowed the scope after investigating: patronAutoComplete as a driven-form field type has exactly one real consumer in core -- ILL's Requesting Agency admin screen (RequestingAgencyResource.vue), picking the "ILL partner" patron on an iso18626_requesting_agency record. No plugin in this tree defines one either, so the actual blast radius is a single, niche, optional-module admin screen rather than a broad set of forms. It is rendered across three generic components keyed off the same field config: FormElement.vue (the editable input, this bug's target), ShowElement.vue (read-only detail view) and ResourceList.vue (table column), both of the latter reading an already-embedded patron object off resource[attr.patronEmbedName] and formatting it via the legacy $patron_to_html() -- unaffected by this bug, since neither uses PatronAutoComplete.vue. Usefully, iso18626_requesting_agency's API resource embeds the picked patron by default on GET (x-koha-embed: ill_partner, a formally documented embed per iso18626_requesting_agency.yaml), so the edit form's resource already carries both patron_id and the full embedded patron side by side. That means the "hydrate an existing selection" problem this bug needs to solve is exactly the two-shapes-in case resolvePatronOption() (bug 43518) was built for, and in practice needs zero extra API calls: prefer the embed, fall back to fetching by id only for the (here, never occurring) case where only an id is known. One incidental, unrelated finding: ShowElement.vue's formatPatronHTML() renders $patron_to_html()'s return value via {{ }} text interpolation, not v-html, so any HTML markup in that string would show as literal escaped tags. It happens to render fine today only because no config is passed at that callsite and $patron_to_html()'s title handling is dead code. Not part of this bug's scope (ShowElement.vue doesn't use PatronAutoComplete), just flagging it here since it was found while scoping this work. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.