You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A menu item renders once per shape, not once per row.Action::renderForDropdown() compiles its item into a Skeleton and splices the click expression, the same way Action::render() already did for the button. A table's
row context menu rendered every item for every row — 30–45% of a whole table render, 91 of 283 ms for an
eleven-item menu on 25 rows — and now costs no view render per row. The markup is unchanged apart from the
view file's own surrounding whitespace, which a compiled skeleton trims.
A request about one widget asks only that widget whether it is visible. A poll tick, a lazy load, a filter
change and a widget's own action used to walk getVisibleWidgets() for the key, which asked every widget first —
and isVisible() can cost as much as building the widget. Measured on a 12-widget dashboard, a tick went from
10–18 queries and 40–60 ms to one query and under 10 ms. Same answer: found in the same layout, and it must
still be visible.