l0ng-ai
b99fe1704b
fix(vcs): keep Git Log rows painted while dragging the scrollbar ( #1914 )
...
Dragging the Git Log scrollbar through a long history stuttered and showed
blank rows: the native scrollbar scrolls asynchronously in WebKit, so the
virtual list rendered rows a frame or more after the new offset was painted.
The list now uses a scrollbar drawn in the DOM (`Scrollbar` in `src/ui`) that
sets the offset from pointer events and notifies scroll listeners at once, so
the virtualizer renders the matching rows before the next paint. Rows are
keyed by slot so a large jump updates the mounted rows instead of rebuilding
them, overscan is lowered, and rows rendered mid-scroll draw their graph
without edge hit targets, which come back once scrolling stops.
Adds a `gitLogScrollbar` perf scenario with budgets.
2026-11-07 12:14:09 +08:00
..
2026-11-07 10:56:59 +08:00
2026-11-03 23:26:36 +08:00
2026-11-05 14:48:59 +08:00
2026-10-30 19:42:05 +08:00
2026-10-31 07:50:43 +08:00
2026-10-28 19:32:54 +08:00
2026-11-07 10:37:24 +08:00
2026-11-07 10:36:15 +08:00
2026-10-28 21:49:43 +08:00
2026-11-03 23:39:26 +08:00
2026-10-31 07:50:43 +08:00
2026-11-06 12:49:39 +08:00
2026-11-06 12:13:59 +08:00
2026-11-06 12:13:59 +08:00
2026-11-06 12:13:59 +08:00
2026-11-03 23:37:38 +08:00
2026-11-04 08:40:06 +08:00
2026-11-04 08:40:06 +08:00
2026-11-05 21:43:55 +08:00
2026-10-28 21:49:43 +08:00
2026-11-05 02:31:32 +08:00
2026-10-28 21:49:43 +08:00
2026-10-28 21:49:43 +08:00
2026-10-28 21:49:43 +08:00
2026-11-06 12:13:59 +08:00
2026-10-28 21:49:43 +08:00
2026-11-05 20:58:51 +08:00
2026-11-07 08:26:57 +08:00
2026-11-06 00:37:50 +08:00
2026-11-01 15:14:13 +08:00
2026-10-30 15:17:11 +08:00
2026-11-01 15:14:13 +08:00
2026-11-01 01:43:15 +08:00
2026-11-07 10:56:59 +08:00
2026-11-04 12:27:45 +08:00
2026-11-05 22:32:09 +08:00
2026-11-03 23:39:26 +08:00
2026-11-03 23:39:26 +08:00
2026-11-03 23:39:26 +08:00
2026-11-06 12:49:39 +08:00
2026-11-07 10:36:15 +08:00
2026-11-04 12:40:45 +08:00
2026-10-28 19:35:16 +08:00
2026-11-05 14:03:46 +08:00
2026-11-05 14:03:46 +08:00
2026-10-29 19:59:57 +08:00
2026-11-07 03:17:13 +08:00
2026-11-05 21:43:55 +08:00
2026-11-07 03:17:13 +08:00
2026-11-04 12:40:45 +08:00
2026-11-03 23:41:16 +08:00
2026-10-31 07:50:43 +08:00
2026-11-03 23:26:36 +08:00
2026-11-02 14:58:23 +08:00
2026-10-31 07:50:43 +08:00
2026-11-01 15:14:13 +08:00
2026-11-01 15:14:13 +08:00
2026-11-07 10:56:59 +08:00
2026-11-07 12:14:09 +08:00
2026-11-05 23:09:55 +08:00
2026-11-05 02:31:32 +08:00
2026-11-05 02:31:32 +08:00
2026-11-07 10:56:59 +08:00
2026-10-25 09:34:02 +08:00
2026-11-07 10:56:59 +08:00
2026-10-25 09:34:02 +08:00
2026-10-22 18:55:10 +08:00
2026-10-28 12:38:25 +08:00
2026-10-28 19:35:16 +08:00
2026-10-30 15:09:55 +08:00
2026-10-23 23:15:09 +08:00
2026-11-06 12:49:39 +08:00
2026-11-02 12:11:12 +08:00
2026-10-22 18:55:10 +08:00
2026-10-31 07:50:43 +08:00
2026-10-22 18:55:10 +08:00
2026-11-04 10:57:10 +08:00
2026-10-28 19:35:16 +08:00
2026-10-22 18:55:10 +08:00
2026-11-05 02:31:32 +08:00
2026-11-05 23:39:40 +08:00
2026-11-05 02:31:32 +08:00
2026-11-05 02:31:32 +08:00
2026-11-07 00:26:42 +08:00
2026-11-05 02:31:32 +08:00
2026-11-05 12:50:20 +08:00
2026-11-05 02:31:32 +08:00
2026-11-05 02:31:32 +08:00
2026-10-28 21:49:43 +08:00
2026-11-07 00:26:42 +08:00
2026-11-07 10:56:59 +08:00
2026-11-03 23:37:38 +08:00
2026-11-03 23:37:38 +08:00
2026-11-03 23:37:38 +08:00
2026-11-05 21:43:55 +08:00
2026-11-05 21:43:55 +08:00
2026-10-22 18:55:10 +08:00
2026-11-03 23:37:38 +08:00
2026-11-03 23:37:38 +08:00
2026-11-03 23:39:26 +08:00
2026-11-03 23:39:26 +08:00
2026-11-02 14:58:23 +08:00
2026-11-03 23:37:38 +08:00
2026-10-29 23:21:56 +08:00
2026-11-03 23:26:36 +08:00
2026-11-07 10:37:24 +08:00
2026-11-06 12:49:39 +08:00
2026-11-06 12:49:39 +08:00
2026-11-06 12:13:59 +08:00
2026-11-05 02:31:32 +08:00
2026-11-05 08:57:19 +08:00
2026-11-06 12:13:59 +08:00
2026-10-28 19:35:16 +08:00
2026-10-25 21:24:00 +08:00
2026-11-06 12:49:39 +08:00
2026-10-28 21:49:43 +08:00
2026-11-03 07:52:55 +08:00
2026-11-04 01:31:10 +08:00
2026-11-05 02:31:32 +08:00
2026-11-01 01:43:15 +08:00
2026-11-05 00:07:44 +08:00
2026-11-05 00:07:44 +08:00
2026-11-05 00:07:44 +08:00
2026-11-04 14:22:38 +08:00
2026-11-06 12:49:39 +08:00
2026-11-05 21:42:08 +08:00
2026-11-05 16:15:10 +08:00
2026-11-05 16:15:10 +08:00