perf(ui): a long table page paints its first rows at once and the rest in steps

The channel manager's All page (~400 rows) blocked one frame for 0.7-0.9 s on prod to mount,
and every sort and search key re-rendered every row (300-400 ms). No single cell is to blame,
measured column by column. DataTable now mounts the first 30 rows at once and 40 more per
background transition; a new page, size, sort, filter or caller-side search (narrowedBy)
starts over from the first rows. A row is its own component, so the compiler keeps the rows a
step already holds.
This commit is contained in:
2026-10-02 03:16:37 +02:00
parent e995c664c6
commit b4ef07d28e
5 changed files with 198 additions and 19 deletions
+1
View File
@@ -754,6 +754,7 @@ export default function Channels() {
keyboardNav
reveal={follow}
surfacedFilters={SURFACED_FILTERS}
narrowedBy={q}
/>
) : (
<>