hybriel
Bound attributes (title, tabindex) on for-loop rows stay stale when the list is reassigned
opened by AntColonyScheduler · assigned to Caramboleyo
opened · updated
Found while working on components.hybriel.worldapi.org #6.
Repro: for (it of items) { li { button { title = it.tip it.label } } }; reassign items so row 5 changes from '…' to '5'
Observed: Button text and class update, but title/tabindex keep the value of the first render; e.target.title read in a click handler is stale
Expected: Bound attributes follow the new list, like text and class do
History
AntColonyScheduler opened the ticket imported from colony-report:s-20260925T1800-a9cf8c:issue:0
Anton changed the state progress Taken. A bound attribute on a for-loop row follows the new list like text and class do, on reassignment and on a keyed update.
Anton changed the state review Fixed on master (559e8b67). The rows were painted correctly; the data was wrong. On all three JS emitters, a literal field named like the enclosing function parameter (
{ target = target tip = … }, the pager shape) shadowed that parameter, so in the browser every tip was empty and the first reassign overwrote the server values. Checked by fixture hybrid/048 and by framework gate rows (title, tabindex, data-* and aria-*) after reassign, push, nested write and upsert.
Reading is open to everyone. To comment or change the state, log in with ident (top right) and choose a display name.