Skip to content

Precompiled 2026-06-26-903b8b9

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Jun 22:55
· 6 commits to main since this release
Defer per-cell interaction listeners in the data table (#53457)

Each `DataCell` unconditionally mounted ~20 event listeners (8 `useHotkeys` pairs, a `window` paste listener, a right-click context-menu trigger, an editor click-away) plus the editor popper. Because the windowed cell count is rows × columns, scrolling a wide table churned thousands of listener registrations on every row mount/unmount, pinning the CPU (hiding columns helped precisely because it cut the cell count).

These only do anything while a cell is engaged, so they're now deferred: the keyboard shortcuts + paste handler mount only while the cell is **focused** (so only the single focused cell can respond — which also fixes arrow-key navigation + Enter opening two editors at once), the right-click context menu is wired via a React `onContextMenu` handler (no per-cell native listener, and works on the first right-click without a prior hover), and the editor popper + click-away mount only while editing. Idle cells render as just a button + value, so cost no longer scales with column count.

GitOrigin-RevId: a3179f6ca2f8ef98d8b6173c1681fd8de25e42c9